Software Engineer (Linux Kernel)

Waymo LLC
Mountain View, United States of America
4 days ago

Role details

Contract type
Permanent contract
Employment type
Part-time (≤ 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 259K

Job location

Remote
Mountain View, United States of America

Tech stack

Board Bringup
API
Computing Platforms
BIOS
Booting (BIOS)
C++
Computer Programming
Software Debugging
Programming Tools
Device Drivers
Emulators
Ethernet
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