
Sr Software Engineer, Linux Kernel
- Company name
- Waymo (website)
- Annual base salary
- $204,000 — $259,000
- Location
On-site from
- Posted on SalaryPine
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 DriverTM—to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo Driver powers Waymo’s fully autonomous ride-hail service and can also be applied to a range of vehicle platforms and product use cases. The Waymo Driver has provided over ten million rider-only trips, enabled by its experience autonomously driving over 100 million miles on public roads and tens of billions in simulation across 15+ U.S. states.
Waymo Onboard Infrastructure is responsible for low-level software and infrastructure on various components of the Waymo self-driving system. The team's scope covers everything from low-level system software to high-bandwidth data logging, IPC (low-latency and high-throughput), performance analysis, and full-system debugging. We work with the Hardware, Compute, Sensor, Perception, Behavior and Machine Learning teams to build the most performant and low-latency self-driving solution in the industry.
We are seeking an experienced Android System Software Engineer to join our team in developing the In-Vehicle Infotainment (IVI) platform for our next-generation, in-house System-on-Chip (SOC). This role requires a strong foundation in low-level OS fundamentals, embedded software, and a proactive approach to validating and ensuring the hardware meets critical software performance requirements.
In this role you will:
- 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.
At a minimum, we'd like you to have:
- Education: Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related technical field.
- 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.
- Solid understanding of Android System Development: Hands-on experience modifying, debugging, and building AOSP, including familiarity with Android HALs, Treble/VNDK, and system debugging tools.
- Adaptability and Initiative: Demonstrated ability to thrive in an environment where technical specifications are evolving, requiring proactive problem-solving and definition of solutions.
It's preferred if you have:
- Direct experience developing or integrating systems using Android Automotive OS or Android for embedded/IVI environments.
- Experience with system security fundamentals, particularly implementing or debugging secure boot and trusted execution environments (TEEs).
- Experience with system-level virtualization technologies (e.g., KVM, hypervisors, secure separation) for embedded or automotive platforms.
Experience with audio stacks (e.g., ALSA, Audio HAL, Android AudioFlinger) or visual/graphics stacks (e.g., SurfaceFlinger, V-sync, display pipelines).
The expected base salary range for this full-time position across US locations is listed below. Actual starting pay will be based on job-related factors, including exact work location, experience, relevant training and education, and skill level. Your recruiter can share more about the specific salary range for the role location or, if the role can be performed remote, the specific salary range for your preferred location, during the hiring process.
Waymo employees are also eligible to participate in Waymo’s discretionary annual bonus program, equity incentive plan, and generous Company benefits program, subject to eligibility requirements.
Salary Range$204,000—$259,000 USD