About the Team
Our team is at the forefront of enabling cutting-edge autonomous vehicle technology by developing the foundational framework for executing autopilot code, focusing on reliability, reproducibility, and determinism—key aspects for offline quality evaluations. The team is also responsible for building the infrastructure for offline A/B testing, enabling rigorous validation and optimization of autopilot technology.
About the Role
We are looking for an experienced software engineer who is passionate about building a robust and reliable platform for autonomous vehicles and robots. The foundation of our self-driving technology is the pipeline - a specialized framework that is responsible for orchestrating the work of the autopilot components and ensuring interaction between them. You will be responsible for building the framework from discussing needs with the users (technology developers) and designing the solution to implementing it. As performance, safety, and reliability are crucial aspects of the technology, you will play a key role in establishing best development practices and will have a significant impact on the quality of the product.
What You'll Do
- Determine technology teams’ needs, design and implement foundation framework responsible for executing autopilot code.
- Care about performance and safety. You will write high-performance code and build infrastructure to monitor the system’s performance.
- Think about long-term data compatibility and algorithm reproducibility. The recorded data is used to improve our algorithms and reliably measure their quality.
- Build infrastructure to help developers detect and understand problems in their code.
- Set up and automate automated testing processes for the autopilot code committed to the repository.
- Care about writing well-designed and structured code. The simpler solutions we have, the easier they are supported. Document the solutions into design docs.
What You'll Need
- Strong experience in modern C++.
- Experience in writing high-performance code.
- Problem-solving skills are important. You are expected to understand a problem clearly, weigh trade-offs of different solutions given their implications, and after the implementation be sure the goal has been achieved.
- You have designed complex systems.
Nice to Have
- Experience in Python. We use it for non-time-critical code.
- You have had experience writing Bazel rules and macros. We rely on this build system heavily.
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.