System Tooling Software Engineer
Waymo is an autonomous driving technology company with a mission to make it safe and easy for people and things to get where they’re going. Since our start as the Google Self-Driving Car Project in 2009, Waymo has been focused on building the Waymo Driver—The World’s Most Experienced Driver™—to improve everyone's access to mobility while saving thousands of lives now lost to traffic crashes. Our Waymo Driver powers Waymo One, our fully autonomous ride-hailing service, as well as Waymo Via, our trucking and local delivery service. To date, Waymo has driven over 20 million miles autonomously on public roads across 25 U.S. cities and conducted over 20 billion miles of simulation testing.
At Waymo, we are mission-driven and believe deeply in the opportunity of autonomous driving technology to improve mobility and make people's lives better. We are united by purpose and responsibility (for our employees and riders alike). We are looking for kind, committed, employees who have integrity, dream big, work together as one team and create a sense of belonging for one another that is the foundation of our culture. We want each team member to feel welcomed and included in every step of our exciting journey.
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