About the job
Simulation is at the core of Waabi’s approach to autonomous vehicle development. Our closed-loop simulation engine built with the latest in generative AI technologies, Waabi World, provides an extremely realistic environment for training and evaluating self-driving systems. The Simulation Platform team is responsible for delivering a modular and scalable platform which integrates the onboard autonomy system, intelligent actor models, and sensor simulation.
Responsibilities
- Contribute to and improve our state of the art self-driving simulator Waabi World to accelerate autonomous vehicle (AV) development.
- Improve the scalability and performance of the simulation platform to run simulations efficiently at an extremely large scale.
- Design and implement orchestration software between simulation subcomponents including the autonomy system, data-driven actor models, and sensor simulation powered by generative AI.
- Participate and share ideas in technical and architecture discussions, collaborating with researchers and engineers.
- Work closely with internal users to understand their requirements and workflows and propose new features to streamline and improve their experience using the simulator.
- Advocate and set patterns for software development.
- Drive complex cross-functional technical projects with impact across Waabi’s systems and company-wide impact.
Qualifications
Minimum
- MS/PhD or Bachelors degree with a minimum of 5 years of industry experience in Computer Science, Robotics and/or similar technical field(s) of study.
- Experience with a variety of backend technologies and languages. Examples: Rust (Preferred), C++, Python.
- Experience developing and maintaining production quality software, versus only creating prototypes/proof of concepts.
- Linux/Unix experience
- Understanding of test-driven and API-driven development methodologies.
- Experience designing interfaces between systems.
- Experience with multi-threaded system design/architecture, algorithms, data structure design, and systems-level programming.
- Experience working with cross-functional partners/stakeholders when building software frameworks.
- Experience with software performance, optimization, and profiling.
- Experience with concurrency and determinism.
Preferred
- Experience with game engine development, simulation, or other similar application runtime development.
- Experience in autonomous systems, robotics or machine learning.
- Experience working in distributed systems or emulation at scale.
- Docker & Bazel experience
- Experience building software systems from scratch.
- Experience working in an Agile/Scrum environment.
- Experience working with accelerators.
- Experience with sensor data processing.