Software Engineer (Linux Kernel)
Waymo LLC
Mountain View, CA, United States
29 days ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
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
Job source
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.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
DC
Daniel Cranney
over 1 year ago
EM
Eli McGarvie
Highest Paying Tech Companies for Developers
over 3 years ago
LM
Luis Minvielle
Fully Remote Software Engineer Jobs
about 2 years ago
M
Maulik
Software Engineer Career: Things You Should Know
over 3 years ago
LM
Luis Minvielle
Is Software Engineering Hard?
about 2 years ago
LM
Luis Minvielle
What Jobs Can You Get with a Software Engineering Degree?
over 2 years ago