Waymo is a self-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 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 15 billion miles of simulation testing.
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 C++ software for embedded systems in a culture of safety and high quality that includes multiple tiers of testing (unit tests, simulation integration tests, in-vehicle end-to-end/fault-injection tests).
- Own the development space between the fast-pace non-embedded autonomous system and the OEM vehicle platform (brakes, steering, throttle, etc.)
- Collaborate with System/Safety/Hardware Engineers and Operations teams on requirements and reliability/safety goals
- Leverage Waymo onboard logging infrastructure and offboard data analysis to advance the design of embedded systems and the resolution of complex interaction/compatibility issues.
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 plus a dedication to continuous improvement
- At least one of
- Exceptional programming in C++11 or later
- Deep experience with programming embedded systems (including resource-constrained microcontrollers)
- Passionate about seeing your own work operate within larger systems
- Committed to the importance of collaborative teamwork (e.g., robust design and code reviews)
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.