Senior / Staff Software Engineer, Simulation Platform

Waabi Waabi · Robotics · Toronto, ON +2 · Remote · Autonomy & Algorithms

The role involves contributing to and improving a state-of-the-art self-driving simulator (Waabi World) that uses generative AI. Key responsibilities include enhancing scalability and performance, designing and implementing orchestration software for simulation subcomponents (autonomy system, actor models, sensor simulation), and collaborating with researchers and engineers. The goal is to accelerate autonomous vehicle development by providing a realistic environment for training and evaluation.

What you'd actually do

  1. Contribute to and improve our state of the art self-driving simulator Waabi World to accelerate autonomous vehicle (AV) development.
  2. Improve the scalability and performance of the simulation platform to run simulations efficiently at an extremely large scale.
  3. Design and implement orchestration software between simulation subcomponents including the autonomy system, data-driven actor models, and sensor simulation powered by generative AI.
  4. Participate and share ideas in technical and architecture discussions, collaborating with researchers and engineers.
  5. Work closely with internal users to understand their requirements and workflows and propose new features to streamline and improve their experience using the simulator.

Skills

Required

  • 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 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.

Nice to have

  • Rust
  • game engine development, simulation, or other similar application runtime development.
  • autonomous systems, robotics or machine learning.
  • distributed systems or emulation at scale.
  • Docker & Bazel experience
  • building software systems from scratch.
  • Agile/Scrum environment.
  • working with accelerators.
  • sensor data processing.

What the JD emphasized

  • production quality software
  • multi-threaded system design/architecture
  • software performance, optimization, and profiling
  • concurrency and determinism

Other signals

  • Generative AI technologies
  • training and evaluating self-driving systems
  • autonomy system
  • actor models
  • sensor simulation