Software Engineer (Linux Kernel)

Waymo LLC
Mountain View, CA, United States
29 days ago

Role details

Contract type
Permanent contract
Employment type
Part-time (≤ 32 hours)
Experience level
Expert
Experience required
3 years minimum
Compensation
$204,000.0 - $259,000.0
Working hours
Regular working hours

Tech stack

Board Bringup Application Programming Interfaces (APIs) Computing Platforms BIOS Booting (BIOS) C++ (Programming Language) Computer Programming Software Debugging Programming Tools Device Drivers Emulators Ethernet
+7 more
Field-Programmable Gate Array (FPGA) Linux Kernel Machine Learning PCI Express System Software Data Logging Graphics Processing Unit (GPU)

Job description

  • 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
  • In this role, you will work on the System Software Team. The System Software team owns the primary compute node of Waymo’s on-vehicle compute platform - an integrated embedded system
  • You will write Linux Kernel drivers (including creating appropriate user-space APIs) to communicate with custom hardware (e.g. custom ASICs and FPGAs)
  • If you enjoy building embedded systems using novel compute hardware and working with engineering teams that will be direct consumers of your work, you’ll be a great fit for this role
  • In this hybrid role, you will report to the Technical Lead Manager
  • Work on a small team of System Software and Linux Kernel Engineers to develop system software components from early prototyping to production launch of driverless vehicles
  • Develop and test Linux Kernel device drivers and other components for high-performance embedded systems including custom ASICs and accelerators
  • Work with a variety of engineering teams and SoC partners to take on ambiguous problems

Requirements

  • 5+ years of programming experience in an asynchronous environment with multiple processes, threads, timers, and interrupts
  • BA/BS degree in Computer Science, or relevant technical field or equivalent practical experience
  • Proficiency in C and C++
  • Experience with Linux kernel and device driver development
  • Working knowledge of hardware bring-up and debugging, including the ability to read schematics/datasheets and use common tools (oscilloscopes, multimeter, logic analyzers)
  • Experience with early-silicon development tools, e.g. emulators, simulators and FPGAs
  • Experience with common hardware protocols/interfaces (PCIe, Ethernet, or I2C)
  • Working knowledge of complex hardware-accelerated compute pipelines (GPUs, ML accelerators, image/data processors)
  • Experience working with multiple types of industry partners (CM, ODM, OEM, or ISV)
  • Experience with bootloaders or programming in a BIOS
  • Experience with building and maintaining testing infrastructure for OS and other low level code
  • Experience with performing safe and robust software and firmware updates

Benefits & conditions

  • Medical, dental, and vision insurance for employees and dependents
  • Employee assistance programs focused on mental health
  • Personalized workplace adjustments for diverse needs and abilities, including physical, mental, and neurodivergent considerations
  • Access to mental health apps
  • Onsite wellness centers
  • Second medical opinion for you and your loved ones
  • Medical advocacy program for transgender employees
  • Support programs including menopause benefit
  • Counseling services
  • Competitive compensation
  • Regular bonus and equity performance grant opportunities
  • Generous 401(k) and regional retirement plans
  • Annual cross-company compensation review and pay equity analysis
  • 1-on-1 financial coaching
  • Fertility and growing family assistance
  • Parental leave and baby bonding leave
  • Elder care and support
  • Survivor income benefit
  • Backup childcare
  • Caregiver leave
  • Paid time off, including vacation, bereavement, sick leave, parental leave, disability, and holidays
  • Jury duty leave
  • Military leave
  • Hybrid work model with remote work opportunities also available
  • Educational reimbursement
  • Peer learning and coaching platform
  • Donation matching programs
  • Employee resource groups
  • Volunteer hours
  • Internal community groups and local culture clubs
  • Inspiring spaces to work, recharge, and collaborate with fellow Waymonauts
  • On-site meals and snacks
  • Fitness centers, massage programs, and ergonomic support
  • On-demand fitness, wellbeing, and cooking classes
  • Commuter benefits

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on careers.withwaymo.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

58 sec

Navigating limitations of local Cosmos DB emulators

Radu Vunvulea Radu Vunvulea · WWC 2022

41 sec

Massive client data loss and bio-digital storage

Chris Heilmann +1 · LIVE

4:52 min

Connecting namespaces with local virtual ethernet pairs

Oliver Seitz Oliver Seitz · WWC 2025

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

1:49 min

Testing with emulators, simulators, and real devices

Milica Aleksic Milica Aleksic · LIVE

Videos

See all

Related articles

See all