System Tooling Software Engineer
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.
Waymo's Compute Team is tasked with a critical and exciting mission: We deliver the compute platform responsible for running the fully autonomous vehicle’s software stack. To achieve our mission, we architect and create high-performance custom silicon; we develop system-level compute architectures that push the boundaries of performance, power, and latency; and we collaborate closely with many other teammates to ensure we design and optimize hardware and software for maximum performance. We are a multidisciplinary team seeking curious and talented teammates to work on one of the world’s highest performance automotive compute platforms.
In this role, you'll:
- Develop automation scripts for compute hardware testing
- Collaborate with compute system manufacturers and develop system software components for chip peripherals (e.g. I2C, GPIO, SPI, PVT sensors)
- Develop debugging tools (e.g. register tool, eye diagram tools, firmware flash tools) for chip bring-up
- Develop productivity tools for partner teams
- Develop and maintain dashboards for various testing results
At a minimum we’d like you to have:
- Bachelors in Computer Science or Electrical Engineering
- Proficient in both C++ and Python programming languages
- Rapid prototyping and productization of command line tools and scripts
It's preferred if you have:
- Automation of workflows, performance data collection, and visualizations
- Instrumenting, tooling, and optimizing for maximum performance
- Familiarity with HW basics (PCIe, I2C, DRAM, MMU, Ethernet, interconnects)
- Understanding the HW test requirements in different ASIC project phases (e.g. DV, emulation, bring-up, manufacturing)
- Pre-silicon software development on emulators