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.
Hardware Engineering is a diverse, innovative, and collaborative group of electrical, mechanical, reliability, software and vehicle engineers. We design, build, and perfect the products which are the eyes and ears of Waymo's self-driving systems, and integrate those products into vehicle platforms. We're seeking curious and talented teammates to keep us moving in the right direction.
In this role, you'll:
- Develop high quality C++ modules for embedded systems that control actuators/sensors (e.g., brakes, steering, throttle, cleaning, thermal) through automotive communication buses (e.g., CAN, LIN, Flexray) or direct I/O
- Develop unit tests and integration tests (on simulator and in-vehicle, including fault injection)
- Integrate embedded software with the non-embedded side of the autonomous system as well as with vendor systems (i.e., OEM vehicle platform/actuators)
- Analyze performance of Waymo hardware and embedded software from field data and investigate issues including compatibility/integration with vendor systems
- Interact with System/Safety/Hardware Engineers and Operations teams on requirements and reliability/safety goals
At the minimum, we'd like you to have:
- Degree (BS, MS) in Computer Engineering, Computer Science, Robotics, Controls or similar, or equivalent practical experience
- At least 2 years of experience developing high-quality software
- At least one of:
- Exceptional programming in modern C++
- Deep experience with embedded systems (including resource-constrained microcontrollers)
- Passionate about integrating your own work with larger systems (Waymo and 3rd party), proactively finding opportunities for improvement and iterating on implementation
It's preferred if you have:
- Advanced knowledge of modern C++ patterns, idioms and unit test methodology
- In-depth understanding of Embedded Systems and associated development and debugging tools (e.g., microcontroller cross-development in a Linux environment)
- Experience with safety critical systems and functional safety
- Automotive industry experience (e.g.., CAN, UDS, vehicle control)
- Experience with data analysis tools applied to large data sets (e.g., fleet logs)
- Open source projects that demonstrate dedication to crafting high quality software
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.