Principal Software Engineer
Listed on 2026-09-05
-
Software Development
Software Engineer, C++ Developer, Embedded Systems/ Firmware/ IoT
ABOUT
Firefly Aerospace is a space and defense technology company on a mission to reliably and repeatedly launch, land, and operate space systems from Earth to the Moon and beyond. As the partner of choice for critical space missions, Firefly is the first commercial company to launch a satellite to orbit with 24-hour notice and the first company to achieve a successful Moon landing.
Headquartered in north Austin, Texas, Firefly is looking for passionate, hardworking innovators to join our team and help fuel our successful trajectory into space.
Our computer vision system that landed on the moon combines a flexible, multi-camera hardware architecture with onboard perception, navigation, and state estimation. Firefly is seeking a Principle Software Engineer to lead the development of critical features across the stack.
In this role, you will build the systems, libraries, tools, and interfaces that connect perception algorithms with cameras, compute hardware, simulation environments, flight software, and mission operations. You will work at the intersection of modern software engineering, 3D computing, embedded systems, and spacecraft operations to create a reliable, reusable platform capable of supporting missions beyond the laboratory—and beyond Earth.
The ideal candidate brings deep expertise in one or more of these areas, an interest in expanding into the others, and an appetite for solving complex problems where software, hardware, and mission requirements meet.
This position may be based onsite at Firefly Aerospace’s facilities in Austin, Texas, or Littleton, Colorado. Fully remote candidates may also be considered, provided they can travel to Austin for approximately one week every other month—up to six weeks annually to support Assembly, Integration & Test (AI&T) activities and mission operations. Additional travel may occasionally be required based on program needs
RESPONSIBILITIES- Lead the design, development, integration, and testing of critical features within
- our software stack
- Build reusable C++ and Python libraries, APIs, tools, and abstractions connecting perception algorithms with cameras, compute hardware, simulation, flight software, and mission operations
- Define maintainable interfaces between algorithmic and platform components across a large, production-quality codebase
- Develop and optimize multithreaded, low-latency software for compute-, memory-, and bandwidth-constrained environments
- Integrate cameras, sensors, heterogeneous compute platforms, and networking interfaces into reliable end-to-end systems
- Develop software involving 3D geometry, coordinate transformations, camera models, spatial data, visualization, simulation, or reconstruction
- Establish automated testing, build infrastructure, simulation tools, and developer workflows that improve reliability and engineering velocity
- Partner with perception, GNC, avionics, flight software, systems engineering, and mission operations teams to ensure cohesive system behavior
- Support software-in-the-loop, hardware-in-the-loop, spacecraft integration, mission simulation, and flight operations activities
- Diagnose complex system-level issues, contribute to architectural decisions, conduct technical reviews, and mentor other engineers
- Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, Aerospace Engineering, Robotics, or a related technical field; equivalent practical experience may be considered
- 10+ years of professional software engineering experience developing complex production systems
- Strong proficiency in modern C++, including multithreading, memory management, debugging, and performance optimization
- Experience designing reusable libraries, APIs, platform services, or software abstractions used across engineering teams
- Experience developing and debugging software in Linux environments and integrating software with hardware, sensors, networking interfaces, or external systems
- Strong understanding of software architecture, algorithms, automated testing, and maintainable software design
- Demonstrated ability to resolve complex system-level issues and communicate effectively across…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).