• Lead the design, development, customization, and maintenance of Board Support Packages (BSPs) for various hardware platforms using the Yocto Project build system.
• Configure, build, and optimize the Linux kernel, bootloaders (U-Boot), and root file systems for custom hardware, ensuring system stability and performance.
• Develop, port, and debug Linux device drivers for a wide range of hardware interfaces, including PCIe, DDR, Ethernet, I2C, SPI, and USB.
• Collaborate with hardware engineers during initial board bring-up, debugging issues at the register and schematic levels using tools such as JTAG, oscilloscopes, and logic analyzers.
• Implement and enhance functionalities related to the PCIe subsystem, including DMA, memory management, and interrupt handling.
• Work with BIOS/UEFI configurations and integrate them with the embedded Linux environment as required for specific platforms (e.g., x86 architectures).
• Optimize system performance, boot time, memory footprint, and power consumption for embedded devices.
• Develop and maintain robust CI/CD pipelines and automated testing workflows for the embedded software stack.
• Create Requirements and Design, conduct code reviews, mentor junior engineers, and develop unit test plans.
• 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/C++ programming for embedded and kernel-level development.
• In-depth knowledge of the Linux kernel internals, memory management, scheduling, and device driver architecture.
• Hands-on experience with debugging tools like GDB, JTAG, Lauterbach, and oscilloscopes.
• Strong problem-solving, analytical, and communication skills, with the ability to work effectively in cross-functional teams.
• Familiarity with secure boot, OTA updates, and system security hardening.
• Exposure to open-source contributions and community collaboration practices.
• Knowledge of networking protocols (TCP/IP, UDP) and real-time operating system (RTOS) concepts.
• Knowledge of Telecommunication and/or GNSS domain
The base salary range for this position is $189,000-$303,000 per year. Aurora’s pay ranges are determined by role, level, and location. Within the range, the successful candidate’s starting base pay will be determined based on factors including job-related skills, experience, qualifications, relevant education or training, and market conditions. These ranges may be modified in the future. The successful candidate will also be eligible for an annual bonus, equity compensation, and benefits.
#LI-JH1
#Mid-Senior
Working at Aurora At Aurora, we bring together extraordinarily talented and experienced people united by the strength of our values. We operate with integrity, set outrageous goals, and build a culture where we win together — all without any jerks.
We believe in-person work increases collaboration, empathy and our ability to lead effectively. As a result, we operate in a hybrid work environment where Aurorans are in office at least 3 days per week.
Our Careers page provides insight into what it is like to work at Aurora, and you can find all the latest updates in our Newsroom .