Embedded Linux Software Engineer
Role details
Job location
Tech stack
Job description
Argon is seeking a highly skilled Embedded Linux Software Engineer with deep expertise in the NXP i.MX95 processor family. In this role, you will design, develop, and optimize Linux-based embedded software, including BSPs, device drivers, kernel modules, boot loaders, root file systems and low-level system integrations. You will play a key part in architecting next-generation processing solutions for high-reliability systems in aerospace, defense, medical, or similar embedded environments., * Develop and customize Linux Board Support Packages (BSPs) for the NXP i.MX95 platform, including kernel configuration, U-Boot updates, and hardware bring-up.
- Design, implement, and maintain Linux device drivers, kernel modules, and hardware abstraction layers.
- Work with Yocto/OpenEmbedded to build, maintain, and optimize embedded Linux distributions.
- Integrate and validate peripheral interfaces such as PCIe, I2C, SPI, UART, CAN, and Ethernet.
- Debug hardware-software interactions using oscilloscopes, logic analyzers, JTAG, and other low-level tools.
- Collaborate closely with hardware, systems, and engineering during board bring-up, prototype evaluation, and system integration.
- Develop robust, production-quality embedded applications in C/C++ for ARM-based SoCs.
- Develop and maintain technical documentation, including design artifacts, test plans, and release notes, in alignment with NPI Phase Gate requirements (SRR, PDR, CDR, TRR).
- Ensure software complies with performance, reliability, cybersecurity, and program standards.
Requirements
Do you have experience in Version control systems?, Do you have a Master's degree?, * Strong proficiency in embedded Linux development on ARM-based architectures.
- Hands-on experience with NXP i.MX processors (i.MX8, i.MX9 series; i.MX95 highly preferred).
- Expertise in Linux kernel internals, driver development, and system-level debugging.
- Fluent with Yocto/OpenEmbedded build environments.
- Strong background in C/C++ and low-level firmware development.
- Knowledge of hardware interfaces such as I2C, SPI, PCIe, GPIO, UART, and Ethernet.
- Experience using JTAG, Lauterbach, or equivalent tools for board bring-up.
- Solid understanding of embedded system concepts, memory-mapped I/O, and bootloaders.
- Familiarity with Git or other version control systems., * Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a closely related technical discipline.
- A Master's degree is preferred but not required, especially for candidates with strong hands-on experience.
- 7-10+ years of embedded Linux software development experience on ARM-based SoCs.
- Significant hands-on experience with NXP i.MX processors (i.MX8 or i.MX9 required; i.MX95 strongly preferred).
- Demonstrated experience developing BSPs, device drivers, kernel modules, U-Boot, and working with Yocto/OpenEmbedded.
- Strong low-level debugging experience (JTAG, logic analyzers, board bring-up).
- Experience working in regulated or high-reliability environments (aerospace, defense, medical, automotive) is an advantage.
- Experience within the defense, aerospace, and/or rugged electronics sectors is highly desirable.
- U.S. citizenship or lawful immigration status required, and eligibility to obtain a security clearance may be required.
Preferred Qualifications
- Experience with secure boot, Trusted Execution Environments (TEE), or ARM TrustZone.
- Exposure to real-time Linux or mixed RTOS/Linux architectures.
- Background working in aerospace, defense, automotive, or other regulated environments.
- Scripting experience (Python, Bash) for automation and tooling.
- Knowledge of safety-critical or high reliability software practices.
Personal Traits and Characteristics:
- Analytical and detail-oriented with strong problem solving skills.
- Collaborative, communicative, and effective in cross disciplinary engineering environments.
- Comfortable working in fast-paced, evolving technical landscapes.
- Committed to high-quality, maintainable, mission-ready software.
- Mission-focused: Dedicated to delivering reliable, high-performance systems that support critical operations.