Linux Device Driver Software Engineer
We're looking for a Linux Device Driver Software Engineer to develop, integrate, and optimize the Hardware Abstraction Layer (HAL) software for our satellites. You will drive the creation of Linux kernel device drivers, OS abstraction components, and related integration procedures. You'll work closely with hardware engineering, integration & test, and GNC teams to establish robust software methodologies and practices that scale effectively as our satellite constellation grows.
This is a hands-on role that will influence many facets of our satellite embedded systems, including Linux kernel development, custom driver creation, hardware/software interface validation, real-time performance optimization, digital tooling, technical documentation, and operational reliability.
What You'll Do
- Develop, integrate, and optimize Linux kernel device drivers and related software components for satellite subsystems, writing production-quality embedded code daily.
- Execute comprehensive hardware/software integration test campaigns, emphasizing detailed driver validation and system stability.
- Collaborate closely with hardware engineering, integration & test, and operations teams to implement robust hardware/software interfaces, manage fault conditions, and develop effective mitigation strategies.
- Continuously improve device driver codebases, HAL components, and integration procedures, contributing to long-term reliability and scalability.
- Translate complex hardware interfaces and operational workflows into clear technical documentation, ensuring maintainability and knowledge transfer.
- Optimize Linux-based software performance, stability, and resilience, enhancing spacecraft operational reliability.
You'll Be a Good Fit If
- You love writing clean, robust, and maintainable Linux kernel drivers and embedded software, thriving when diving deeply into complex hardware integrations.
- You have a passion for building reliable device drivers and solving intricate technical challenges at the kernel and system levels.
- You have high attention to detail, are methodical, and are comfortable debugging code in Linux-based real-time embedded environments.
- You enjoy collaborating across engineering disciplines, proactively identifying risks, and solving challenging technical problems.
Requirements
- Strong proficiency in Linux kernel driver development, device-tree management, or embedded C/C++ programming.
- Demonstrated experience with embedded Linux build systems, such as Yocto, PetaLinux, or Buildroot.
- Solid understanding of hardware/software interface validation methodologies.
- Proven experience implementing embedded communication protocols and interfaces (e.g., CAN, RS-422/485, I2C, SPI, Ethernet).
- Excellent analytical, debugging, and problem-solving skills.
- Strong written and verbal communication abilities and collaborative teamwork skills.
- U.S. citizen, lawful permanent resident (ie Green Card holder), or other protected individual as defined by 8 U.S.C. 1324b(a)(3) (per U.S. export controls).
Desired Qualifications
- Experience with on-orbit operations, fault detection, isolation & recovery (FDIR), or embedded autonomy.
- Prior experience developing Linux-based embedded systems software in aerospace or similarly rigorous industries.
- Hands-on experience working with satellite hardware, custom PCBs, or spacecraft testbeds.
- Passion for documentation and strong documentation disciplines.