The opportunity
Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver—The World's Most Experienced Driver™—to improve access to…
What you'll do
System Bring-up & Integration: Implement and integrate low-level software, including bootloader configuration, device trees, and kernel porting during the initial hardware bring-up phase.
OS/Kernel Development & Optimization: Customize, optimize, and debug the Linux Kernel and relevant parts 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 the unique in-house hardware IP (e.g., security modules, power management units, display controllers) with the Android framework.
Performance Engineering: Drive system-level performance optimization, including boot time reduction, scheduling tuning, thermal management, and power efficiency based on the SOC's specific architecture.
Ambiguity Resolution: Proactively manage and clarify technical requirements for features that are still actively being defined internally, rapidly documenting and stabilizing interfaces for the broader software team.
Education: Bachelor's degree in Computer Science, Computer Engineering,: Electrical Engineering, or a closely related technical field.
What they're looking for
- Minimum 3+ years of professional software development experience, with a: focus on embedded systems, low-level Android, or OS development.
- Deep expertise in OS Fundamentals: Strong working knowledge of the Linux Kernel (e.g., device drivers, memory management, IPC, scheduling) and embedded operating systems concepts.
- Experience Interfacing with Hardware Teams: Proven ability to read hardware specifications (datasheets, block diagrams) and effectively communicate software requirements, providing constructive technical feedback on hardware design choices.
- Proficiency in C/C++ is essential, along with experience in scripting: languages (Python/Shell) for tooling and automation.