Zoox is looking for an embedded software engineer to join our Firmware Platforms team. In this role, you will be responsible for developing, extending, and maintaining support for multiple embedded platforms for the Zoox vehicle. You will work closely with electrical engineers, embedded software engineers, and validation engineers to enable support for new advanced platforms and accelerate application development across multiple projects. We are looking for people who are passionate about diving deep into the hardware and creating robust and reusable software.
Responsibilities
Architect, develop, debug, optimize, review, and test software for multiple real-time embedded platforms
Develop and maintain board support packages for multiple platforms, including compiler, bootloader, drivers, and real-time operating system
Build low-level frameworks, interfaces, and infrastructure to make our embedded application development faster, simpler, more portable, and more testable
Bring-up of new embedded platforms by working with electrical engineers, suppliers, and vendors to identify and solve hardware and low-level software issues
Contribute to all phases of the software development cycle, including prototyping, requirements capture, design, implementation, and validation
Qualifications
Bachelor’s or Master’s degree in computer science, electrical engineering, or equivalent experience
3+ years of experience developing real-time embedded software for distributed electromechanical systems
Strong embedded C++/C programming experience
Strong experience with micro-controllers and/or microprocessors
Programming skills in C and C++, Linux, QNX, FreeRTOS, or SafeRTOS
Experience with common lab equipment and data acquisition equipment(DACs, debuggers, power supplies, multimeters, etc.)
Bonus Qualifications
Experience with automotive communication protocols and stacks (CAN, LIN, Ethernet, Wifi, LTE, 5G, NFC, UWB, etc.)
Ability to read and provide feedback on PCB schematics