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.
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.
This role follows a hybrid work schedule and you will report to a Silicon Engineering Lead.
You will:
- Collaborate with the Design, Verification, and Software teams to simulate future silicon designs and software on an emulation platform, targeting functional and performance validation and left-shift of software development
- Design, implement, and optimize emulation testbenches, balancing performance and debug capabilities based on user needs and hardware constraints
- Write end-to-end synthesizable transactors to interact with emulated designs through software APIs and C-DPI
- Triage and root-cause failures alongside emulation users, leveraging waveforms, software logging, and custom-built emulation monitors
- Assist with post-silicon bring-up, debug, and characterization
- Build infrastructure to support the emulation user base, including tools for model build, regression, automation, continuous integration, data analysis, and training
You have:
- BS degree in Computer Science / Electrical Engineering or related field and 5 years of silicon development experience.
- Experience with at least one major hardware emulation platform (Palladium, Zebu, Veloce, Protium, HAPS).
- High level of proficiency with one or more of the following emulation approaches: virtual prototyping, testbench acceleration, hybrid emulation, in-circuit emulation (speed bridge), QEMU, or VirtualBox
- Experience with SystemVerilog and design verification methodologies
- Programming and scripting (C++, Python, or TCL) for automation, test development, debug flows, and release process.
- Strong debug and problem-solving ability across hardware and software
We prefer:
- Experience with AXI/AMBA, PCIe, DRAM, and Ethernet interfaces
- Performance and power analysis techniques
- Experience with JTAG, DFT, UART, SPI, GPIO and other test/low-speed interfaces
- Knowledge of advanced design verification methods (coverage, gate-level simulation, assertions, and UVM).
- Post-silicon debug software (e.g. Trace32, OpenOCD, TARMAC) and lab bench tools (analyzers, scopes, meters)
- Understanding of bare metal programming, embedded systems, Linux internals, operating systems, boot loaders, drivers, and firmware