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.
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 autonomous driving technology, 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:
- Design, develop, modify, and/or test image streaming software that will be deployed on Waymo autonomously driven vehicles
- Optimize multi-stream image pipeline performance in a complex embedded Linux environment that includes a multitude of specialized processors as well as general computing hardware
- Develop, integrate, and validate bit accurate image processing code optimized for specialized hardware implementation
- Deploy and troubleshoot camera system software and support products from the early development and prototyping through mass production
- Work closely with leading edge algorithm developers to refactor, integrate, and optimize for performance bit accurate image processing code
- Design and implement plumbing needed to integrate new sensors and image processing devices into the autonomously driven vehicles
- Work on ISP feature specifications, silicon bring-up and validation, API development, and tools creation
At the minimum, we'd like you to have:
- Proven experience in advanced programming for image processing and/or video streaming applications in an Linux multithreaded embedded system
- Proficiency in C/C++ programming multi-threaded libraries
- Hands on experience developing, deploying, and troubleshooting system level software that handles memory management and synchronization
- BS/MS degree in Computer Science or related degree with specialization in image processing or video streaming
- 5 years or more of relevant industry experience
It's preferred if you have:
- Good understanding of image processing techniques used for de-noising, image reconstruction, feature enhancement, feature extraction, image segmentation, color correction, and compression
- Hands on experience developing and deploying image processing code on hardware ISP deployed on mobile devices, consumer, or industrial cameras
- Expertise in GPU programming using CUDA, OpenCL
- Experience on porting computational image processing SW to hardware accelerators including validation and optimization
- General knowledge of image capture using cameras and camera systems as well as optics, CMOS imagers, and image quality metrics
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.