Software Engineer, Onboard Infrastructure - System Software
Mountain View, California, United States
Waymo is the self-driving technology company with a mission to make it safe and easy for people and things to move around. Building on software and sensor technology developed at Google, Waymo is now launching the world’s first fully self-driving transportation service that will take members of the public from A to B at the touch of a button.
We're looking for Software Engineers to join our Onboard Infrastructure team. 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 Software Engineers with a healthy knowledge of low-level computer systems, software and architecture.
In this Systems Software Engineering role, you will:
- Work on the core, low-level infrastructure software of the self-driving system
- Work on Linux-based Operating System (may include kernel modifications) for one or more devices in the vehicle
- Collaborate with other Onboard Software teams to build low-level libraries and interfaces (IPC, logging, etc) with emphasis on low-latency
- Design, implement, and employ performance analysis tools to improve resource (GPU, CPU, accelerator) utilization, lower latency, and resolve system-level bottlenecks
- Collaborate cross functionally with hardware and sensor engineering teams to enable the use of new components/devices on the self-driving vehicles (e.g. sensors, hardware accelerators)
- Use your expertise to debug hard-to-reproduce whole-system problems
At a minimum we’d like you to have:
- BS in CS, or related field
- Excellent skills in C and/or C++
- 5+ years of knowledge of Unix/Linux environments
- 5+ years of Excellent debugging skills
It’s preferred if you have:
- Linux kernel development experience
- Knowledge of TCP/IP and network programming
- Skills in scripting languages, particularly Python and shell
- Previous experience with BIOS (EFI, coreboot)
- Previous experience with Yocto
- Previous experience with Android OS bringup
At Waymo, we don’t just accept difference - we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know.