The intern will develop software for automated firmware testing, integrate tools with server infrastructure, and maintain CI processes. Responsibilities include tool development, validation, and proposing improvements.
Summary Generated by Built In
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 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 using a tech stack consisting of Cursor, GitHub, Bazel, ClickHouse and OpenTelemetry.
Some examples of tools we’ve developed include:
- Controller Area Network (CAN) client and data logger
- Python library for the extraction, manipulation and analysis of vehicle data
- Command and control for a variety of hardware, including power supply units (PSUs), DAQs, Electronic Loads and Cellular Network Simulators
- Tester Health Diagnostics, Tester Autorecovery and a Tester Interface front-end and backend
- Branch-based CI/CD Infrastructure, Test Artifact Uploading and Test Artifact Post-processing and Analysis
- Event logging and Observability for Zoox Test Framework
In this role, you will:
- Develop software for an automated validation framework, supporting continuous integration (CI) via smoke, sanity, nightly, weekly pipelines
- Research, design, develop, rollout, and maintain software tools and test framework for development and validation
- Integrate tester software systems with server infrastructure, including networking (CAN, wifi, cellular, WIFI, NFC, etc), hardware instruments (DAQs, PSUs), protocol-level simulator/spoofer hardware, etc.
- Propose tool and/or feature ideas to the team to improve processes
Qualifications
- BS in relevant engineering discipline and 1+ years of relevant work experience
- HIL and/or SIL Test Frameworks
- Object-oriented programming experience (Python or C++ preferred)
- Experience building cross-platform software with source control (Git)
- Strong interpersonal and communication skills
Bonus Qualifications
- CI and build systems (e.g. Bamboo, Buildkite, etc.)
- Python libraries (e.g. pybind, pytest, pandas, python-can, plotly, matplotlib, etc.)
- Communication protocols (e.g. CAN, LIN, pub/sub)
- ClickHouse, OpenSearch, Grafana, Databricks, etc. Databases and Observability Platforms
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.
Follow us on LinkedIn
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.