About the role
Zoox is looking for an embedded software engineer to build out simulation infrastructure for our firmware. Our firmware runs on many ECUs across the robot, including the components that drive, brake, steer, and monitor the vehicle's health. Today, most of that firmware depends on hardware-in-the-loop (HIL) benches, which are expensive, hard to scale, and slow to iterate on. You will build the simulation capabilities that let firmware run in virtualized, software-in-the-loop (SIL), and hybrid SIL/HIL environments, integrated with Zoox's core simulation platform and the pipelines the rest of the autonomy stack already uses. You'll be one of the first engineers on a new embedded-focused simulation team within the Firmware organization: simulation infrastructure engineering, built by and for firmware. The work you do here will lay the groundwork for Firmware's adoption of Zoox's simulation and more advanced test platform infrastructure. It spans much of the embedded stack, from low-level BSPs, through middleware such as messaging, HALs, and OSALs, up to the application layer. You'll need to understand what embedded software optimizes for (determinism, timing, resource limits, hardware interfaces) and turn that into simulation infrastructure that firmware teams trust and adopt.
In this role, you will
- Build out simulation infrastructure for Zoox's embedded platforms, filling the gaps in Zoox's simulation stack that keep firmware from adopting it
- Virtualize embedded platforms across the stack, from BSPs and HAL/OSAL layers to messaging middleware and peripherals, so firmware can run without target hardware
- Develop and extend SIL environments that integrate firmware with Zoox's core simulation platform and pipelines
- Support and evolve hybrid SIL/HIL test platforms that combine real hardware with simulated components
- Partner with Zoox's simulation, HIL, and firmware feature teams to adapt existing firmware for simulation and reduce the Firmware org's reliance on HIL
Qualifications
- Bachelor's or Master's degree in Electrical/Computer Engineering, Computer Science, Robotics, or equivalent experience
- 1–3 years of experience developing simulation infrastructure or embedded software for real-time systems
- Strong C/C++ and Python programming skills
- Understanding of embedded fundamentals: RTOS concepts, interrupts and timing, memory-constrained systems, and hardware/peripheral interfaces
- Experience building simulation, emulation, or virtualization environments for embedded systems (e.g., SIL, QEMU, Renode, hardware/peripheral models)