Audio Software Engineer
Advanced Hardware EngineeringApply for this position
At Zoox, you’ll collaborate with a team of world-class engineers with diverse backgrounds in areas such as AI, robotics, machine learning, localization, computer vision, and simulation. You will be working on the forefront of Zoox audio architecture, enabling a number of audio based interactions to enable our robot to navigate safely in busy urban streets. We are looking for an Audio Software Engineer to join the Advanced Hardware Engineering team. In this role, you will be involved in developing and implementing audio algorithms, drivers, Hardware in the Loop (HIL) testing and diagnostics that will enable our robots to hear. You will be interfacing closely with the Acoustics engineers, Electrical and Mechanical engineers designing the hardware, and Perception/Signal Processing engineers designing algorithms. You will also be in close collaboration with the Core software and other firmware engineers for writing and bringing up hardware drivers.
- Development of reliable drivers and software applications that enable audio perception stack for Zoox robots
- Write high assurance firmware/software to achieve required integrity levels for safe vehicle operation
- Develop code that runs on CPU and GPU environments that include software drivers as well as algorithms.
- Write code to diagnose and test modules and subsystems
- Troubleshoot complex hardware and software issues with debuggers and logic analyzers
- Interface with hardware and automation teams to enable scalable testing
- Work with a wide variety of tooling to build metrics and dashboards for Audio components.
- BS / MS in Electrical Engineering, Computer Science or similar degree with 2-5 years of relevant experience
- Strong background in C / C++ programming
- Experience in audio software development related to ALSA, audio drivers and/or PulseAudio framework
- Strong Linux Kernel fundamentals
- Experience in porting signal processing and Machine learning algorithms to run efficiently on different compute architectures including CPUs, GPUs and DSPs and evaluating/optimizing for performance.
- Experience with low-level interfaces such as I2C, SPI, A2B, CAN, RS232, Ethernet
- Experience using measurement equipment such as multimeters, oscilloscopes, and logic analyzers to debug code
- Willingness to trace bugs to their source, wherever in the system that may end up being
- Ability to perform evaluations of alternative components, providing hard data in the form of plots and tables to allow for quantitative decisions leading to product improvements
- Ability to efficiently collaborate with multidisciplinary program members to achieve project goals, and contribute positively to the engineering community environment
- Experience implementing safety-critical, high reliability, or fault-tolerant software
- Experience with real-time operating systems (POSIX, QNX, FreeRTOS)
- Algorithm design and Digital Signal Processing experience
- Experience in working with digital signal processors, microcontrollers and FPGAs
- Experience in audio algorithms such as noise suppression, beamforming, direction of arrival and audio enhancement.
- Bash or Python scripting
Zoox is developing the first ground-up, fully autonomous vehicle fleet 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’re looking for top talent that shares our passion and wants to be part of a fast-moving and highly execution-oriented team.
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.