Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver—The World's Most Experienced Driver™—to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo Driver powers Waymo’s fully autonomous ride-hail service and can also be applied to a range of vehicle platforms and product use cases. The Waymo Driver has provided over ten million rider-only trips, enabled by its experience autonomously driving over 100 million miles on public roads and tens of billions in simulation across 15+ U.S. states. The Challenge Waymo’s simulator is one of the most complex virtual environments ever built. It blends deterministic logic, physical dynamics, and advanced AI to create a realistic training ground for the Waymo Driver. As we expand autonomous driving into new geographies, complex weather conditions, and next-generation capabilities, our goal is to build a highly adaptable, generic simulator that works across any environment. The Simulator Orchestration team is at the heart of tackling this scaling challenge. Our mission is to deliver simulation solutions that power evaluation and training across a diverse range of challenging requirements. We are looking for a Senior Software Engineer who is passionate about solving complex evaluation problems with simulation technology and thrives on delivering practical solutions within a vast technical ecosystem. The Role This is a hybrid role. As a core contributor to the Simulator Orchestration team, you will focus on solving practical simulation challenges by intelligently configuring and orchestrating simulator features. You will: Architect Simulation Solutions: Drive the simulator development of the environments required for new initiatives, such as complex weather setups, new geography expansions (e.g., left-hand traffic), and adapting the simulator to support next-generation onboard capabilities. Design the Orchestration Layer: Design and implement systems that dynamically select and compose simulator features based on the specific environment and context, bringing us closer to a truly universal simulator. Navigate Complex Systems: Dive deep into a massive C++ codebase of onboard and simulator code. You are willing to get your hands dirty. You will rely on strong code-reading and debugging skills to trace and resolve complex interactions between different systems, shipping robust, production-ready code. Collaborate Across Boundaries: Act as the technical glue between teams. You'll partner closely with partners from Simulator, Eval and Onboard orgs, taking the building blocks they provide and turning them into complete, end-to-end simulation solutions.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Senior
Education Level
No Education Listed