Zoox is looking for a Software Engineer to join our Firmware Tools team. In this role, you will write software to help integrate internal and external tools for automated firmware prototyping, development, testing and integration. This role requires someone passionate about automation using both existing test frameworks, as well as developing new ones. The ideal candidate has proven experience in developing cross-platform software with continuous integration and deployment techniques in a team environment.
About the Team
The Firmware Tools team designs and develops automated processes and tools to support on-vehicle firmware development and testing. Many projects are short term, allowing each developer to follow projects through their full life cycles while still jumping into a multitude of opportunities. On the Firmware Tools team, we utilize a variety of Python libraries, as well as C++. Many of our tools utilize multiprocessing and multithreading to provide performant software to test firmware using HIL and SIL test frameworks. Additionally, we support testing of on-vehicle communications, including CAN, LIN and pub/sub protocols.
Some examples of tools we’ve developed include:
- Controller Area Network (CAN) client and data logger
- CAN Over Ethernet Transport library
- Python library for the data extraction, manipulation, and analysis of vehicle data
- Python DAQ interface library for use in HIL testing
- Command and Control for a variety of Programmable Power Supply Units (PSUs)
- UDS client
Requirements
- Develop software for an automated validation framework, supporting continuous integration and nightly tests
- Research, design, develop, and maintain software tools for development and validation
- Present tool ideas and/or features to the team to improve processes
- Integrate tester software systems with server infrastructure
- Design and implement automated test framework optimizations
Qualifications
- BS in computer science, computer engineering, or a similar discipline
- 2+ years of relevant work experience
- Object-oriented programming experience (Python or C++ preferred)
- Experience building cross-platform software with source control (Git)
- Strong interpersonal and communication skills
- Positive attitude, team player, and ability to quickly adapt to changes
Bonus Qualifications
- Databases (e.g. MongoDB, PostgreSQL, etc.)
- Continuous integration and build systems (e.g. Bamboo, Jenkins, etc.)
- Python libraries (e.g. pandas, python-can, plotly, matplotlib, pybind, pytest, etc.)
- Multiprocessing and multithreading
- Basic knowledge of C++
- HIL and/or SIL Test Frameworks
- Communication protocols (e.g. CAN, LIN, pub/sub)
Compensation
There are three major components to compensation for this position: salary, Amazon Restricted Stock Units (RSUs), and Zoox Stock Appreciation Rights. The salary range for this position is $140,000 to $185,000. A sign-on bonus may be offered as part of the compensation package. Compensation will vary based on geographic location and level. Leveling, as well as positioning within a level, is determined by a range of factors, including, but not limited to, a candidate's relevant years of experience, domain knowledge, and interview performance. The salary range listed in this posting is representative of the range of levels Zoox is considering for this position.
Zoox also offers a comprehensive package of benefits including paid time off (e.g. sick leave, vacation, bereavement), unpaid time off, Zoox Stock Appreciation Rights, Amazon RSUs, health insurance, long-term care insurance, long-term and short-term disability insurance, and life insurance.
About Zoox
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.
Accommodations
If you need an accommodation to participate in the application or interview process please reach out to
[email protected] or your assigned recruiter.
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.