Waymo is an autonomous driving technology company with the mission to be the
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 One, a fully
autonomous ride-hailing service, and can also be applied to a range of vehicle
platforms and product use cases. The Waymo Driver has provided over one million
rider-only trips, enabled by its experience autonomously driving tens of
millions of miles on public roads and tens of billions in simulation across 13+
U.S. states.
The platforms team is looking for a software engineer to mature our
high-fidelity autonomous driving simulation. This simulation system runs in a
software configuration as close as possible to the vehicle, on the same compute
hardware as is used in the vehicle. Incorporating the vehicle’s compute system
enables high-fidelity simulations that can find rare reliability and performance
issues. The team’s work varies from simulation strategy to whole-system
debugging.
In this hybrid role you will report into a Tech Lead Manager.
You Will
* Work with partners from perception, planning, and other onboard software
teams to improve simulation fidelity.
* Work with teams to mature our simulation strategy for high confidence that we
can discover even extremely rare issues before on-vehicle testing.
* Improve the efficiency, reliability, and trustworthiness of simulations.
* Bring the simulator to new hardware platforms.
You Have
* Bachelor’s degree in computer science or equivalent practical experience.
* 5+ years of experience delivering complex, production-quality software.
* Proficiency in C++ and a scripting language like Python.
* Experience with applications running on Linux-based embedded devices.
* Familiarity with operating systems concepts on Linux: networking,
filesystems, performance troubleshooting, device I/O, and concurrency.
* Experience driving change in very large codebases.
We Prefer
* Master’s degree in computer science or equivalent practical experience.
* Familiarity with robotics concepts: inter-process messaging, logging,
reproducibility, diagnostics, and fail-operational designs.
* Experience with hardware-accelerated compute workloads (e.g., GPU, ML
accelerators, image/data processors)
* Experience simulating complex systems
* Experience with data center infrastructure