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 World’s Most Experienced Driver in hopes of improving the world'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.
The Waymo Onboard Infrastructure team is responsible for low-level software and infrastructure on various components of the Waymo self-driving system. The team’s scope covers everything from low-level system software to high-bandwidth data logging, IPC (low-latency and high-throughput), performance analysis, full-system debugging, etc. We work closely with the Hardware, Sensor, Perception, Behavior/Planning and Machine-Learning teams to build the most performant and low-latency self-driving solution in the industry.
We are looking for strong Software Engineers to develop and deploy system software and firmware for Waymo’s on-vehicle compute platform. These high-performance devices provide the necessary resources (CPUs, GPUs, Accelerators, etc.) for the Waymo Driver.
In this System Software Engineering role, you will:
- Bring-up Linux on new hardware device(s), working with hardware engineering teams and external vendors (silicon vendors, contract manufacturers, etc.)
- Develop, review, port, test, and debug Linux device drivers
- Ensure the stability and robustness of the System Software through production and launch
- Work effectively across a variety of engineering teams and SoC partners to resolve issues
At a minimum we’d like you to have:
- BA/BS degree in Computer Science, Computer Engineering or relevant technical field or equivalent practical experience
- 5+ years of relevant work experience.
- Proficiency in C or C++
- Experience with Linux kernel and device driver development
- Experience in dealing with existing, complex systems and codebases
- Experience with hardware bring-up
- Familiarity with common hardware protocols/interfaces (PCIe, Ethernet, I2C, etc)
It’s preferred if you have:
- MS or PhD degree in Computer Science, Computer Engineering, Electrical Engineering or related field
- Working knowledge of hardware bring-up and debugging, including the ability to read schematics/datasheets and use common tools (oscilloscopes, multimeter, logic analyzers, etc.)
- Experience with working with multiple types of industry partners (CM, ODM, OEM, ISV, etc.)
- Experience with firmware development (Coreboot, U-Boot, etc) and secure boot
- Knowledge of one or more of the following: GPUs, ML accelerators, power management, high-performance networking, performance optimization
- Motivated with an inclination to take on complex and ambiguous problems
We appreciate your interest in Waymo. Waymo is an equal employment opportunity employer. Waymo’s policy is not to discriminate against any applicant or employee based on race, color, sex, religion, national origin, age, disability, military status, genetic information or any other characteristic protected by law. Waymo also prohibits harassment of applicants or employees based on any of these protected categories. Waymo will also consider for employment qualified applicants with criminal records in accordance with applicable law. Waymo also makes workplace accommodations for qualified individuals with disabilities as required by applicable law.