# Ethan Bennis > Senior Software Engineer Location: San Francisco, California, United States Profile: https://flows.cv/ethanbennis ## Work Experience ### Senior Software Engineer @ Mendaera, Inc. Jan 2025 – Present | San Mateo, California, United States ### Senior Embedded Software Engineer @ Stealth Startup Jan 2024 – Jan 2025 This was an embedded software at a relatively small stealth startup developing a new hardware product. This was a significant change of pace relative to my previous roles - in part because of the company size, and in part because it allowed me to dive into lower-level firmware development for the first time in many years. Notable projects: * Developed a bootloader / IAP to enable updating firmware for an STM32 device over a network (ethernet / WiFi). This allowed rapid, convenient deployment of firmware updates that previously required physically connecting a programmer / debugger to a JTAG interface. * Worked around a restrictive build system to enable linking applications against arbitrary BSP targets, whereas they were previously coupled one-to-one. This eliminated significant code duplication and associated maintenance burden. * Brought up a new hardware system involving two STM32 devices communicating over ethernet. Collaborated with electronics engineers to diagnose hardware issues, provided test software to validate core functionality, completed core application development and iterated on the interface and system behavior based on user feedback during testing. ### Senior Software Engineer @ Zoox Jan 2022 – Jan 2024 | Foster City, CA In this role, I worked on Embedded Robot Middleware with Zoox's Software Core team. My teammates and I were responsible for the design and implementation of robotics-oriented middleware for various embedded platforms ranging from powerful SoCs to relatively resource-constrained microcontrollers. This infrastructure included real-time application frameworks and associated libraries that provide message passing, logging, reproducible playback, performance metrics, system diagnostics, and other tools for system introspection. Of these areas, I led a small group focused on messaging infrastructure, where we work on the implementation, configuration, and integration of various transports and messaging middleware to provide performant inter-thread/process/host communication for Zoox’s robot. ### Software Engineer @ Zoox Jan 2021 – Jan 2022 | Foster City, CA ### Firmware Engineer @ Zoox Jan 2018 – Jan 2021 | Foster City, CA For my first few years at Zoox, I worked on Drive Systems in the Firmware Applications team. In this role, I helped design, implement, and test embedded software pertaining to the control of various drive-related subsystems of Zoox's autonomous vehicle, such as the motors, steering racks, and brakes. This role gave me a chance to explore application-level real-time software development utilizing modern C++ features as well as object-oriented, generic, and functional programming paradigms. I collaborated with vehicle engineers, safety engineers, and controls engineers to help bring Zoox's vehicle to life. I learned a lot about various automotive systems and safety-critical embedded software development in general, significantly expanding on the scope of my previous role at Tesla. ### Firmware Engineer @ Tesla Jan 2017 – Jan 2018 | San Francisco Bay Area My first role in the automotive industry was on the Drive Inverter Firmware team at Tesla. Responsibilities included the design, implementation, and validation of firmware for the Drive Inverter ECU in Tesla's electric vehicles. This position introduced me to the safety-critical nature of automotive software. My team helped me learn to write safe, efficient, clean code in the context of a resource-constrained, real-time embedded system. I participated in failure mode effects analyses (FMEAs) and learned to write MISRA-compliant C code that was extensively reviewed and validated via hardware-in-loop, dynamometer, and and/or full-vehicle system tests. I also gained experience with typical software development practices like agile, version control, and continuous integration. One project I enjoyed implementing was a service routine that automatically calibrated a rotor position sensor in the drive unit. This routine allowed technicians to replace just the sensor after a part failure, rather than the entire drive unit. ### Embedded Systems Engineer @ The Johns Hopkins University Applied Physics Laboratory Jan 2016 – Jan 2017 | Washington D.C. / Baltimore Area My responsibilities in this role included the design, integration, and field testing of low-power embedded sensors and communication systems in a fast-paced, rapid-prototyping environment. A significant challenge I was given in this position was to design and implement embedded firmware for an underwater acoustic networking system. This task involved integrating a variety of custom and commercial hardware modules with a TI MSP432 microcontroller. My firmware employed a novel flooding mesh-network scheme designed to provide robust transactions over a volatile network topology. ### Engineering Intern @ The Johns Hopkins University Applied Physics Laboratory Jan 2014 – Jan 2016 | Washington D.C. / Baltimore Area This role involved two full-time summer internships and part-time work while I finished my master's degree. One task I particularly enjoyed was to develop a graphical signal analysis tool to facilitate rapid verification of RF transmissions from a software-defined radio (SDR) platform. This tool automatically parsed data from various RF recorders used during field tests and allowed users to easily generate a variety of custom plots and extract basic statistics from collected data. Other engineers on the team later adopted and improved on the tool. Another notable task was to model and prototype an FPGA-based parameterized digital downconverter. This down-converter enhanced low-power sensor capabilities by allowing minimum-bitrate processing and storage of a configurable frequency band of interest from a wide-band sensor input. ## Education ### Master of Science in Engineering (M.S.E.) in Electrical and Computer Engineering The Johns Hopkins University ### Bachelor of Science (B.S.) in Computer Engineering The Johns Hopkins University ## Contact & Social - LinkedIn: https://linkedin.com/in/ethan-bennis - Website: https://github.com/embeddr/ --- Source: https://flows.cv/ethanbennis JSON Resume: https://flows.cv/ethanbennis/resume.json Last updated: 2026-04-01