About the job
Waymo is at the forefront of autonomous driving technology, dedicated to becoming the most trusted driver in the world. Launched in 2009 as the Google Self-Driving Car Project, we have since developed the Waymo Driver—The World’s Most Experienced Driver™—to enhance mobility and prevent traffic-related fatalities. Our technology has facilitated over ten million rides while autonomously navigating more than 100 million miles on public roads across 15+ states in the USA.
The Waymo Onboard Infrastructure team is pivotal in managing low-level software and infrastructure across various components of our self-driving system. Our expertise spans low-level system software, high-bandwidth data logging, inter-process communication (IPC), performance analysis, and comprehensive system debugging. We collaborate closely with teams specializing in Hardware, Compute, Sensor, Perception, Behavior, and Machine Learning to create the most efficient and responsive self-driving solutions in the industry.
We are currently looking for a seasoned Android System Software Engineer to join our team, focusing on the development of our In-Vehicle Infotainment (IVI) platform for our next-generation, in-house System-on-Chip (SOC). This role demands a solid understanding of low-level operating system principles, embedded software, and a proactive attitude towards validating hardware against critical software performance metrics.
In this role, you will:
- System Bring-up & Integration: Implement and integrate low-level software, including bootloader configurations, device trees, and kernel porting during the initial hardware bring-up phase.
- OS/Kernel Development & Optimization: Customize and optimize the Linux Kernel and relevant aspects of the Android Open Source Project (AOSP) for the partner SOC, ensuring robust and efficient operation.
- Hardware Abstraction Layer (HAL) Implementation: Develop and maintain reliable Vendor HALs to interface with unique in-house hardware IP (e.g., security modules, power management units, display controllers) within the Android framework.
- Performance Engineering: Lead system-level performance optimization initiatives, focusing on boot time reduction, scheduling adjustments, thermal management, and power efficiency tailored to the SOC's architecture.
- Ambiguity Resolution: Proactively clarify technical requirements for features still being defined, ensuring rapid documentation and stabilization of interfaces for the broader software team.

