Embedded Software Engineer
Job description
About the role
Zoox is hiring an embedded software engineer to become part of the Firmware Body Systems team. The role focuses on developing embedded software that governs body, thermal, lighting, and power management functions along with their sub-systems within the Zoox vehicle. The engineer will be responsible for integrating supplier systems, coordinating and managing all body sub-systems, and ensuring proper interaction with higher-level vehicle systems. Collaboration with vehicle engineers, systems engineers, controls engineers, software engineers, and external suppliers is central to delivering a highly automated and smooth rider experience in the Zoox vehicle.
Key facts
What you'll do
- Develop embedded software for body, thermal, lighting, and power management sub-systems of the Zoox vehicle
- Integrate supplier-provided systems into the vehicle firmware architecture and validate their functionality thoroughly
- Coordinate and control all body sub-systems to ensure reliable operation across various driving conditions
- Interface with higher-level vehicle systems to pass data and commands between different modules
- Work alongside vehicle engineers to define software requirements for body-related functions and features
- Collaborate with systems engineers to translate system-level specifications into concrete embedded software designs
- Partner with controls engineers to implement control algorithms for body and thermal management functions
- Coordinate with software engineers on firmware integration, testing, debugging activities, and release management
- Engage with external suppliers during technical reviews, integration testing, and validation phases
- Create and maintain comprehensive documentation for software designs, interfaces, and integration procedures
- Participate in code reviews to ensure software quality and adherence to established coding standards
- Support vehicle-level testing by diagnosing and resolving embedded software issues in the lab and on the test track
- Define and maintain software architecture diagrams and technical specifications for body system modules
- Ensure compliance with automotive software quality standards and internal coding guidelines across all deliverables
Requirements
- Bachelor's degree in computer engineering, electrical engineering, or a closely related technical field required for this position
- Hands-on experience with embedded C or C++ programming for microcontroller or processor-based systems is essential
- Solid understanding of real-time operating systems and embedded firmware development workflows and best practices
- Familiarity with automotive or robotics body systems, thermal management, or lighting controls is valuable
- Ability to work cross-functionally with hardware, controls, and software teams in a fast-paced development environment
- Strong written and verbal communication skills for coordinating effectively with internal teams and external partners
- Demonstrated experience integrating third-party supplier systems into a larger embedded software platform and bringing them online
- Comfort with debugging hardware-software interfaces using oscilloscopes, logic analyzers, or similar diagnostic tools and equipment
- Experience with hardware debug tools such as JTAG, SWD, or similar embedded debugging interfaces
- Familiarity with automotive network diagnostics and UDS (Unified Diagnostic Services) protocol is beneficial
Nice to have
- Prior experience with AUTOSAR or similar automotive software frameworks and middleware layers is a plus
- Knowledge of CAN or LIN bus protocols used in vehicle communication networks and data exchange
- Experience with power management integrated circuits and battery subsystem firmware development and testing
- Familiarity with ISO 26262 functional safety standards or automotive quality processes and compliance workflows
Skills & tools
- Embedded C and C++ programming for resource-constrained microcontroller environments and embedded Linux platforms
- Real-time operating systems such as FreeRTOS or similar RTOS platforms
- Automotive body system architectures including thermal, lighting, and power management subsystems
- Supplier integration workflows and hardware-software interface validation techniques
- Version control systems, build tools, and embedded debugging environments
- Vehicle communication protocols including CAN, LIN, or comparable bus standards
- Git or similar version control systems for managing firmware source code and configuration
- Python or shell scripting for automation of build, test, and deployment pipelines
Practical notes
- This role is based in Foster City, CA and requires on-site presence at the Zoox office
- The position is full-time with a standard work schedule, though project timelines may require additional hours
- Candidates should expect to participate in cross-functional meetings with engineers from multiple disciplines regularly
- The hiring process may include technical interviews focused on embedded systems knowledge and problem-solving exercises
- Zoox provides on-site lab facilities and test tracks for hardware-software integration and vehicle-level validation
- The Foster City office is located in the San Francisco Bay Area with access to public transit
About the company
Zoox is building the world's most advanced self-driving hardware and software solution. The efficiency demands of such a system require an expert fine tuning of both the compute hardware architecture as well as the algorithms and middleware that runs on it to achieve maximum throughput at the most optimal power levels.