Senior/Staff Software Engineer - Embedded Linux Operating Systems
| Verified Pay check_circle | Provided by the employer$235000 - $300000 per year |
|---|---|
| Hours | Full-time |
| Location | Foster City, California |
About this job
Job Description
Zoox's Robot Software Infrastructure team is seeking a passionate software engineer to help develop and advance the common performant operating system that powers several devices on our vehicle including Autonomy systems. This team develops platform-level software and services, including operating systems that enable complex, hardware-accelerated workloads critical for autonomous driving on automotive-grade hardware.
We work closely with cross-functional teams—including developers, release management, hardware engineering, manufacturing and operations—to support vehicle development and deployment at scale. You'll have the opportunity to influence the next generation of our platform, hardware, and robotaxi. If you are excited to explore a broad problem space and are mindful of how components fit within a larger system, you may be a great fit!
- Design, develop, and maintain the operating system platform that powers various on-bot devices and applications
- Architect and implement platform-level software to support robust and scalable robotics infrastructure
- Configure and manage embedded Linux build systems (e.g., Yocto) and bootloader processes (e.g., U-Boot) to ensure reliable system startup and maintenance
- Develop and optimize device drivers and kernel-space components using C, C++, or Rust to meet performance and reliability requirements
- Collaborate cross-functionally to support seamless integration and delivery of the OS platform, triage issues, support new hardware bring-up and manufacturing functions
- 8+ years delivering production systems and software applications, 2+ years of delivering custom Embedded Linux operating systems
- Have a deep understanding of Linux, build systems like Yocto, and bootloaders like U-Boot
- Be familiar with Linux init systems (e.g., systemd), containerization concepts (e.g., chroot, cgroups, Linux namespaces), and filesystems
- Understand device drivers and kernel-space code and proficiency in a language without automatic memory management (e.g., C or C++), and in multiple scripting languages like bash and Python
- Strong written and verbal communication skills along with a bachelor’s degree or equivalent practical experience
- Experience with embedded Linux in a robotics application
- Familiarity with security software: PKI, secure boot, OTA software update, hardware key storage, etc.
- Familiarity with Nvidia GPUs, Nvidia Thor/Orin, Cuda, TRT, etc.
- Graduate degree with a focus on networking, operating systems, or firmware
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.