Job Description
The role involves designing, developing, and maintaining system-level embedded Linux software, including customizing BSPs, optimizing kernel and system performance, and collaborating with hardware teams during board bring-up for Aurora's autonomous vehicle platforms.
Key Responsibilities
- Architect, design, and implement system-level software for embedded platforms
- Develop, customize, and maintain Board Support Packages (BSPs) using the Yocto Project
- Configure, build, and optimize Linux kernel, bootloaders, and root file systems for hardware
- Develop, port, and debug Linux device drivers for various hardware interfaces
- Collaborate with hardware engineers during board bring-up and debugging at the schematic and register level
- Implement and optimize PCIe subsystem functionalities, including DMA and interrupt handling
- Work with BIOS/UEFI configurations and integrate them with embedded Linux systems
- Optimize system performance, boot time, memory footprint, and power consumption
- Develop and maintain CI/CD pipelines and automated testing workflows for embedded software
Requirements
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Minimum of 8 years of hands-on experience in embedded Linux development, with a strong background in system-level programming and board bring-up.
- Deep expertise in the Yocto Project, including custom layer development, recipes BitBake, and image generation.
- Strong proficiency in C and C++ programming for embedded and kernel-level development.
- In-depth knowledge of the Linux kernel internals, including memory management, scheduling, and device driver architecture.
- Hands-on experience with debugging tools such as GDB, JTAG, Lauterbach, and oscilloscopes.
- Experience configuring, building, and optimizing the Linux kernel, bootloaders (U-Boot), and root file systems for custom hardware to ensure system stability and performance.
- Experience developing, porting, and debugging Linux device drivers for hardware interfaces including PCIe, DDR, Ethernet, I2C, SPI, and USB.
- Experience collaborating with hardware engineers during initial board bring-up and debugging issues at the register and schematic levels.
- Experience implementing and enhancing functionalities related to the PCIe subsystem, including DMA, memory management, and interrupt handling.
- Experience working with BIOS UEFI configurations and integrating them with embedded Linux environments, especially for platforms such as x86 architectures.
- Ability to optimize system performance, boot time, memory footprint, and power consumption for embedded devices.
- Experience developing and maintaining CI/CD pipelines and automated testing workflows for embedded software.
- Ability to create requirements and design documents, conduct code reviews, mentor junior engineers, and develop unit test plans.
Benefits & Perks
Base salary range of $189,000 to $303,000 per year
Annual bonus
Equity compensation
Hybrid work environment with in-office presence at least 3 days per week
Ready to Apply?
Join Aurora and make an impact in renewable energy
Stay Updated on Sustainability Jobs
Get the latest renewable energy jobs and career tips delivered to your inbox.
Job Alerts
Get notified about new sustainability jobs
More at Aurora
More jobs at Aurora
Hardware Engineering Intern, Embedded
Aurora
NEW
Mountain View
Internship
21h
$0k-0k/hr
Cadence PCB Librarian
Aurora
NEW
Pittsburgh
Full Time
21h
$163k-261k
Cadence PCB Librarian
Aurora
NEW
Bozeman
Full Time
21h
$163k-261k
More jobs in Mountain View, California
IT Support Engineer Temporary FTE
Nuro
NEW
Mountain View
TEMPORARY
2d
$96k-130k
Software Engineer, Onboard Infrastructure
Nuro
NEW
Mountain View
Full Time
2d
$160k-241k
Software Engineer, Offboard Infrastructure
Nuro
NEW
Mountain View
Full Time
2d
$160k-241k