Embedded Software Tooling Engineer
Foster City, CA
Advanced Hardware Engineering – Hardware Test Engineering
As an embedded software tooling engineer you will be responsible for developing tools and functionality to exercise our hardware’s full capability. This role will focus on low level (C/C++) programming to implement test specific embedded software functionality. In addition, you will be involved in a variety of coding at all levels of the software stack, including drivers, middleware, libraries, and applications. You will often be the first person to bring up custom hardware and integrating it with the Zoox software stack.
You will need to work closely with other embedded software tooling engineers to develop development software, as well as mechanical/electrical/sensor engineers to plan and execute testing. This involves both writing code running 'bare-metal' as well as code running on Linux. We are looking for someone who’s enthusiastic, innovative, a self-starter, and willing to take on challenges to work with us as an exceptional embedded software engineer.
- Create firmware/software tools, frameworks, and scripts for hardware testing
- Setup and run tests on compute and sensory hardware
- Document software to make it easily accessible to internal and external users
- Contribute to test plan definition and test equipment requirements
- Work collaboratively with engineers and project managers to plan and execute hardware test campaigns
- B.Sc. in an Engineering Discipline, Computer Science, Physics, or Mathematics
- 2+ years of embedded software development or equivalent experience
- Strong background in C or C++ programming for RTOS, bare metal, or embedded Linux
- Comfortable using Linux, the device tree, and U-Boot
- Experience bringing up prototype boards and using measurement equipment such as multimeters, oscilloscopes, and logic analyzers to debug code
- Experience with hardware interfaces such as I2C, SPI, CAN, RS232
- Ability to efficiently collaborate with team members to achieve project goals
- Familiarity with unit testing, integration testing, regression testing, HIL testing
- Experience with ARM and PowerPC a plus
- Experience working with FPGAs
- Familiarity with plotting tools such as Gnuplot, Matplotlib, etc.
- Bash shell scripting
- Familiarity programming in Python
- Familiarity with basic mechanical, electrical, and optical test procedures
- Excellent verbal and written communication skills
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.Follow us on LinkedIn
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.