Senior Flight Software Engineer

AST SpaceMobile · Lanham, Maryland, United States · Engineering

Posted 2026-09-18

Apply for this role →

Position Overview

We are seeking a Senior Flight Software Engineer with strong experience in embedded software development and FPGA/SoC technologies to join our Flight Software team in the United States.

This position will play a key role in designing, developing, integrating, testing, and supporting flight software for spacecraft systems and future space-based platforms. The Senior Flight Software Engineer 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, this individual will also provide technical leadership, contribute to architectural decisions, coordinate with cross-functional engineering teams, and help ensure technical deliverables are completed according to program requirements and schedules.

Key Responsibilities

Design, develop, test, integrate, and maintain embedded flight software from initial concept through subsystem integration and full-system deployment.

Develop and support core flight software used within spacecraft and related 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 within the Flight Software team, 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 as well as the development of future spacecraft platforms.

Qualifications

6+ years of professional experience in embedded software or firmware 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 an HDL such as Verilog, VHDL, or equivalent.

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 concepts.

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 and interfaces such as:

RS-232

RS-485

CAN

SPI

Similar serial or embedded communication technologies

Experience using embedded debugging interfaces such as SWD and JTAG.

Hands-on experience with engineering and laboratory equipment, including:

Oscilloscopes

Logic analyzers

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 where appropriate.

Experience

Minimum of 6 years of relevant professional experience in embedded software, firmware, flight software, or a closely related engineering discipline.

Preferred Qualifications

Experience developing software for STM32 or similar embedded processor families.

Experience using scripting languages such as Python, Bash, Ruby, or similar technologies.

Experience with modern build systems and tooling, including CMake, Ninja, or comparable technologies.

Experience developing and maintaining cross-compilation toolchains and embedded build environments.

Previous 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 boundaries.

Familiarity with software development practices appropriate 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 effectively to individuals from different engineering disciplines.

Strong organizational skills with the ability to track deadlines, deliverables, dependencies, and team commitments.

Demonstrated technical leadership and the ability to help 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.

Technology Stack

The successful candidate should have experience with many of the following technologies and concepts:

Languages: C, C++, modern C++ (C++11+), Python/Bash or similar scripting languages

Embedded Systems: Microcontrollers, SoCs, embedded processors

FPGA/HDL: Verilog, VHDL, logic simulation, design verification

Operating Systems: RTOS, FreeRTOS, Linux

Embedded Interfaces: RS-232, RS-485, CAN, SPI and similar protocols

Debugging: SWD, JTAG and embedded debugging tools

Concurrency: Multi-threading, synchronization, concurrency, inter-process communication

Build Systems: CMake, Ninja, cross-compilation workflows

Development Practices: Git, unit testing, code review, continuous integration, issue tracking

Laboratory Equipment: Oscilloscopes, logic analyzers, multimeters

Hardware Integration: Circuit diagrams, schematics, hardware/software interfaces

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 as required by the position.

This job description may not be inclusive to the duties and responsibilities listed. Additional tasks may be assigned to the employee from time to time or the scope of the job may change as needed by business demands.

Apply for this role →

← Back to all jobs