Impulse Space
Embedded Linux Software Engineer
Impulse Space is seeking a Embedded Linux Software Engineer to develop and maintain the foundational software stack that powers our avionics platforms. This role requires deep expertise in embedded Linux, low-level hardware/software integration, and platform engineering practices to ensure secure, reliable, and maintainable systems.
Responsibilities
- Linux Distribution Development:
- Build, configure, and maintain a Yocto-based Linux distribution for custom avionics hardware.
- Manage kernel configuration, system services, and integration of middleware components.
- Board Bring-Up & Hardware Integration:
- Perform initial board bring-up of avionics computers.
- Debug hardware/software integration issues across CPU, memory, and peripheral subsystems.
- Driver Development & Debugging:
- Develop, port, and maintain Linux device drivers for sensors, communication buses, and memory devices.
- Debug kernel-space and user-space interactions using hardware debuggers and tracing tools.
- Platform Engineering & System Hardening:
- Implement secure boot and code signing for flight-critical binaries.
- Configure and manage router certificates and other cryptographic assets.
- Apply Linux security frameworks such as AppArmor and SELinux for mandatory access control.
- Design and maintain OTA update infrastructure with rollback/A-B partitioning support.
- Manage system configuration, startup scripts, and fault-tolerant resource allocation.
Minimum Qualifications
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related degrees.
- Experience building and maintaining Yocto-based embedded Linux distributions for custom boards.
- Demonstrated ability to develop, configure, and debug Linux kernel drivers.
- Demonstrated experience developing in C/C++, with ability to work in constrained, low-level environments.
