Embedded Software Engineer - Drive Systems
Foster City, CA
Software – Firmware
As an embedded software engineer on the Firmware Drive Systems team you are responsible for embedded software development for the driving related functions and sub-systems of the Zoox vehicle. This work includes throttle, braking, steering, a variety of operator controls, integration of supplier systems, coordination and control of all driving sub-systems, and low level vehicle controls. You will work closely with vehicle engineers, systems engineers, controls engineers, and suppliers to ensure the Zoox vehicle can drive safely and reliably. We are looking for people who are passionate about working with hardware and developing production quality-code for complex dynamic systems.
- Design, develop, and test embedded software for controlling the Zoox vehicle
- Integrate supplier sub-systems into the Zoox software stack, including defining requirements and interfaces, leading software technical communication, and supporting on-site testing and integration.
- Create software requirements, design documentation, test plans, and other supporting documentation
- Work cross-functionally with vehicle engineers, controls engineers, systems engineers, validation engineers, and other experts to ensure safe and robust operation of the Zoox vehicle
- Contribute to all phases of the software development cycle including prototyping, requirements capture, design, implementation, validation, and support
- Bachelor’s or Master’s degree in computer science, electrical engineering, mechanical engineering, or equivalent experience
- 3+ years experience developing real-time embedded software for distributed electro-mechanical systems
- Strong embedded C/C++ programming experience
- Experience with embedded microcontrollers and microprocessors (ARM, PowerPC)
- Familiarity with modern software development methodologies and tools (Agile, Git, unit testing, CI, etc.)
- Understanding of EV sub-systems, sensors and actuators, and automotive communication protocols
- Knowledge of vehicle dynamics and control systems
- Experience with CAN, LIN analysis and debugging tools (PCAN, CANalyzer, CANape, etc.)
- Experience with real-time operating systems (POSIX, QNX, FreeRTOS)
- Familiarity with high assurance development practices and tools (Polarion, ISO-26262, MISRA C/C++, etc.)
Zoox is a robotics company developing fully-autonomous vehicles and the supporting ecosystem required to bring this technology to market. Sitting at the intersection of robotics, machine-learning, and design, Zoox aims to provide the next generation of mobility-as-a-service in urban environments. We believe the transition to self-driving vehicles requires a combination of elegant vision and uncompromising execution.
A Final Note:
You do not need to match every listed expectation to apply for this position. Here at Zoox, we know that diverse perspectives foster the innovation we need to be successful, and we are committed to building a team that encompasses a variety of backgrounds, experiences, and skills.