Embedded Software / Flight Software Engineer

Craig Technical Consulting, Inc.
Huntsville, AL, United States
16 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Job source

Tech stack

Board Bringup Application Programming Interfaces (APIs) Automation of Tests C++ (Programming Language) CAN Bus Configuration Management Software Quality Computer Engineering Software Debugging Linux Device Drivers Linux on Embedded Systems
+22 more
Embedded Software Network Protocols Posix Software Architecture Real-Time Operating Systems Regression Testing RS-232 Serial Communications Systems Integration Transmission Control Protocol (TCP) VxWorks Data Logging Data Processing State Machines Hardware Testing Xunit Containerization Git Flow Information Technology Production Code Bare Metal Docker

Job description

Craig Technologies is seeking a talented and meticulous Embedded Software / Flight Software Engineer to join our team in Huntsville, AL, Houston, TX or Merritt Island, FL. The candidate will be responsible for the architecture, implementation, and rigorous verification of core flight software systems powering satellites in cislunar and lunar orbits. This role focuses on delivering high-reliability, deterministic code capable of executing complex real-time operations, managing onboard data handling, and executing autonomous fault recovery beyond Earth’s magnetosphere., * Design, implement, test, and maintain embedded flight software features, device drivers, and structural system improvements.

  • Analyze, test, and perform low-level input/output (I/O) timing and data throughput performance assessments on integrated hardware/software architectures.
  • Interface closely with hardware and electronics designers to coordinate seamless software-to-avionics integration and board bring-up activities.
  • Draft automated unit, integration, and regression tests to validate flight logic against strict system constraints.
  • Coordinate high-level functional testing of features on flat-sats, hardware-in-the-loop (HWIL) setups, and flight-representative simulators.
  • Implement autonomous Fault Detection, Isolation, and Recovery (FDIR) flight routines to handle radiation-induced hardware resets or bit-flips autonomously.
  • Other duties as assigned.

Requirements

  • An organized, thorough, and highly methodical approach to software quality, configuration control, and automated testing frameworks.
  • Excellent written and oral communication skills with the ability to clearly document software APIs, state machines, and interface logic.
  • Capable of maintaining both a high quantity and high quality of reliable code output.
  • Ability to thrive and pivot effectively within a fast-paced, hard-charging, high-stakes aerospace engineering environment., * Bachelor’s Degree in Computer Science, Computer Engineering, Physics, or a highly related engineering domain plus 5-10 years of experience in embedded flight systems.
  • 5-10 years of direct experience writing high-reliability code utilizing C and C++ in a bare-metal, RTOS, or embedded Linux environment.
  • Proven experience in deep hardware/software system integration, low-level debugging, and utilizing hardware test equipment (oscilloscopes, logic analyzers).
  • Familiarity with standard serial communications protocols (RS-232, RS-422, RS-485) and standard packetized networking protocols (IP/UDP, IP/TCP)., * Direct experience with the NASA Goddard Space Flight Center Core Flight Software (cFS) framework is a major plus.
  • Experience with high-speed aerospace data protocols like SpaceWire, MIL-STD-1553, or CAN bus.
  • Familiarity with xUnit-compliant test frameworks, POSIX-based operating systems (Linux, RTEMS, VxWorks), Docker-based containerization, and logging architectures.
  • Experience working in an Agile/Scrum development model using Gitflow coordinated configuration management.
  • All candidates selected will be subject to a background investigation and drug screen.

Physical Requirements

  • Prolonged periods standing or walking on hard surfaces.
  • Ability to travel <10% in support of hardware testing.
  • Ability to lift up to 30 lbs.

Note: This job description describes the general nature of the duties and requirements of the job. It is not intended to be an exhaustive list or to limit the supervisor’s ability to modify work assignments as appropriate.

All candidates selected will be subject to a security background investigation and must meet all eligibility requirements for access to classified information.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:10 min

Extending capabilities with the WebAssembly System Interface

Niels Tanis Niels Tanis · World Congress 2023

2:04 min

Creating and configuring the unit test project

Roman Alexis Anastasini · World Congress 2021

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

4:37 min

Writing readable test assertions without boilerplate test classes

Florian Bruhin · World Congress 2021

3:20 min

Certifying safety-critical automotive software and deploying progressive testing strategies

David Romić · World Congress 2023

Videos

See all

Related articles

See all