Flight Software Engineer
Job description
About the role
This role builds flight software that controls Space Kinetic spacecraft and enables a one-to-many payload architecture. The work demands urgency, ownership, and a commitment to challenging traditional space operations assumptions. You will own the full lifecycle of flight software features from initial requirements through on-orbit operations, ensuring deterministic behavior in the space environment. You will collaborate closely with systems engineers and mission architects to translate high-level payload concepts into reliable, real-time software implementations. You will act as a technical leader within multidisciplinary engineering teams, driving decisions that balance performance, reliability, and schedule. This position requires a mindset that questions legacy practices and innovates how spacecraft software is developed and deployed. You will be responsible for writing the code that directly interacts with hardware and ensures mission success.
Key facts
What you'll do
Demonstrate 2 to 3 years of experience developing embedded or real-time software for space, aerospace, robotics, or other mission-critical systems to validate your relevant background. Apply a strong understanding of the software-development lifecycle, covering requirements capture, architectural design, rigorous integration, comprehensive testing, and sustained operations for space systems. Write and maintain C/C++ code for flight software while using Python or similar scripting languages for test automation and analysis in spacecraft development workflows. Design and implement software components that run on RTOS, bare-metal processors, or Linux-based embedded systems common in spacecraft environments. Ensure software reliability, deterministic timing, correct concurrency, and efficient resource management to meet strict mission requirements within constrained hardware limits. Obtain and maintain a U.S. Government security clearance to comply with ITAR export regulations as a mandatory condition of employment. Use model-based systems engineering practices and interface-control documentation to streamline requirements verification and traceability. Apply knowledge of spacecraft communication protocols such as CCSDS, SpaceWire, or MIL-STD-1553 when working with Space Kinetic architectures. Employ simulation, flight-replica, and hardware-in-the-loop test setups to validate software behavior and performance before flight hardware integration. Contribute to flight software frameworks such as NASA cFS, F´, or custom architectures to accelerate development and maintain consistency across projects.
Requirements
Hold a Bachelor's or master's degree in Computer Science, Electrical Engineering, Computer Engineering, or a related technical field as a baseline qualification for this position. Bring 2 to 3 years of experience developing embedded or real-time software for space, aerospace, robotics, or other mission-critical systems to demonstrate a relevant background in complex environments. Show understanding of the software-development lifecycle, from initial requirements and high-level design through integration, system testing, and sustained operations for space systems. Work with C/C++ as the primary implementation language, leveraging Python or similar scripting languages for automation, testing, and data analysis in flight software contexts. Demonstrate familiarity with real-time operating systems, bare-metal programming techniques, or Linux-based embedded systems commonly deployed in spacecraft platforms. Apply knowledge of software reliability principles, deterministic timing analysis, concurrency control, and resource management in constrained environments to satisfy mission-critical objectives. Obtain and maintain a U.S. Government security clearance to conform to ITAR export regulations as a condition of employment. Citizenship, lawful permanent residency, refugee, or asylee status is required to meet ITAR compliance for this role.
Nice to have
Gain experience with flight software frameworks such as NASA cFS, F´, or custom architectures to accelerate development and reduce integration risk. Use model-based systems engineering and interface-control documentation to streamline requirements definition and verification activities. Apply knowledge of spacecraft communication protocols such as CCSDS, SpaceWire, or MIL-STD-1553 when working with Space Kinetic system architectures. Experience with simulation and hardware-in-the-loop test setups that validate flight software behavior before flight is strongly preferred. Background in safety-critical development processes and standards relevant to aerospace environments is a significant advantage.
Practical notes
The position is located onsite at the headquarters in El Segundo, CA, with domestic travel up to approximately 20% of the year. U.S. citizenship, lawful permanent residency, refugee, or asylee status is required to meet ITAR compliance. The engagement is full-time, and the compensation range is $120000 to $150000. Typical interview steps for engineering roles begin with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions, with some loops including a take-home task. Final rounds typically assess team fit and provide candidates an opportunity to ask questions. Interviewers focus on how you break down unfamiliar problems, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation methods.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels over time. Some engineers move into management tracks and lead teams of five to twenty people, while others choose to remain on the technical track. Growth at Space Kinetic follows demonstrated impact and outcomes rather than tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, ownership, and mentorship. Advancing to senior roles generally requires owning outcomes end to end, driving architectural decisions, and mentoring less experienced engineers on the team. This role provides the foundation to grow into more complex spacecraft software challenges and take on greater responsibility in future missions.