Principal Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+9 more
Job description
Experteer Overview In this role you will lead the development of core software features for Firefly’s computer vision and spacecraft systems. You’ll build and integrate libraries, APIs, and tools that connect perception algorithms with cameras, compute hardware, simulations, flight software, and mission operations. You’ll work at the intersection of software, 3D computing, embedded systems, and spacecraft operations to create a reliable, reusable platform for missions beyond Earth. You’ll collaborate with cross-functional teams to solve complex, mission-critical problems that shape our spaceflight capabilities. This is an opportunity to have a meaningful impact on lunar and deep-space missions using cutting-ed Compensation / Benefits * Lead design, development, integration, and testing of critical features within the 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 Tasks * Bachelors 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 software, algorithm, hardware, and systems engineering teams Key requirements * health, dental and vision plans * parential leave * educational reimbursement * short term disability * flexible PTO
Requirements
memory to architectural decisions, conduct technical reviews, and mentor other engineers Tasks * Bachelors 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 a Diagnose algorithm, hardware, and systems engineering teams Key requirements * health, dental and vision plans * parential leave * educational reimbursement * short term disability * flexible PTO
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Software Engineer Career: Things You Should Know
Best Countries for Software Engineers
How Much FAANG Companies Actually Pay Software Engineers in 2025