Senior Flight Software Engineer Verified today
Position Overview
Join the Flight Software team as a Senior Flight Software Engineer. You will design, develop, integrate, test, and support flight software for spacecraft systems and future space-based platforms. You will contribute across the full software development lifecycle, from initial architecture and requirements definition through system integration, verification, deployment, and operational support.
As a senior member of the team, you will provide technical leadership, contribute to architectural decisions, coordinate with cross-functional engineering teams, and ensure technical deliverables meet program requirements and schedules.
Key Responsibilities
- Design, develop, test, integrate, and maintain embedded flight software from concept through subsystem integration and full-system deployment.
- Develop and support core flight software used within spacecraft and embedded systems.
- Maintain and modify HDL-based designs to provide functionality aligned with system and mission requirements.
- Integrate microcontroller-based software into systems supporting spacecraft command, control, telemetry, and related functionality.
- Develop and maintain software for real-time and resource-constrained embedded environments.
- Participate in software and system architecture decisions, including evaluation of design alternatives and technical tradeoffs.
- Serve as a senior technical contributor, helping translate program and system requirements into executable engineering tasks.
- Collaborate with electrical, FPGA, systems, test, operations, and other engineering disciplines to architect and implement new capabilities.
- Support hardware/software integration, system verification, troubleshooting, and test activities.
- Perform debugging and root-cause analysis across software and hardware interfaces.
- Participate in code reviews, design reviews, testing, and technical documentation activities.
- Help coordinate technical milestones, schedules, deliverables, and engineering dependencies.
- Support existing systems and development of future spacecraft platforms.
Qualifications
- 6+ years of professional experience in embedded software, firmware, or flight software development.
- Strong proficiency in C and C++, including modern C++ standards such as C++11 and later.
- Demonstrated experience with software architecture, design, implementation, debugging, and testing.
- Experience developing software for embedded and resource-constrained systems.
- Experience working with FPGAs and/or SoCs.
- Proficiency with HDL such as Verilog or VHDL.
- Experience with logic simulation, HDL design verification, and hardware/software integration.
- Experience working in multi-threaded software environments.
- Strong understanding of concurrency, synchronization, and inter-process communication.
- Experience developing software for a Real-Time Operating System (RTOS) environment.
- Familiarity with FreeRTOS or comparable real-time operating systems.
- Experience with embedded communication protocols such as RS-232, RS-485, CAN, and SPI.
- Experience using embedded debugging interfaces such as SWD and JTAG.
- Hands-on experience with oscilloscopes, logic analyzers, and multimeters.
- Ability to read, interpret, and troubleshoot circuit diagrams and electrical schematics.
- Comfortable working in Linux environments and using command-line development tools.
- Experience with contemporary software development workflows, including source control, code reviews, unit testing, issue tracking, and continuous integration.
- Strong technical troubleshooting and problem-solving abilities.
Education
Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Aerospace Engineering, Computer Science, Software Engineering, or a related technical field. Equivalent combinations of relevant education and professional experience may also be considered.
Preferred Qualifications
- Experience developing software for STM32 or similar embedded processor families.
- Experience using scripting languages such as Python, Bash, Ruby, or similar.
- Experience with modern build systems such as CMake or Ninja.
- Experience developing and maintaining cross-compilation toolchains and embedded build environments.
- Experience supporting integration, verification, and test activities for complex hardware/software systems.
- Experience with aerospace, spacecraft, robotics, autonomous systems, or other high-reliability embedded applications.
- Experience troubleshooting issues spanning software, firmware, FPGA, and electrical hardware.
- Familiarity with software development practices for reliable or mission-critical embedded systems.
Soft Skills
- Strong interpersonal and communication skills with the ability to extract, clarify, and document detailed technical requirements.
- Proven ability to collaborate effectively across cross-functional engineering teams.
- Excellent written and verbal communication skills.
- Ability to communicate complex technical concepts to individuals from different engineering disciplines.
- Strong organizational skills with the ability to track deadlines, deliverables, dependencies, and team commitments.
- Demonstrated technical leadership and ability to guide engineering efforts from requirements through completion.
- Strong analytical and problem-solving skills.
- Meticulous attention to detail across software development, documentation, testing, and project deliverables.
- Ability to work both independently and collaboratively in a fast-paced engineering environment.
Physical Requirements
- Ability to work in a standard office and engineering environment.
- Ability to use a computer, keyboard, and standard office equipment for extended periods.
- Ability to perform occasional hands-on hardware integration and troubleshooting activities in a laboratory environment.
- Ability to safely use standard electronic test and measurement equipment.
