> Markdown version of [/jobs/ext/3329177-embedded-software-flight-software-engineer](https://www.wearedevelopers.com/jobs/ext/3329177-embedded-software-flight-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software / Flight Software Engineer - **Company:** Craig Technical Consulting, Inc. - **Location:** Huntsville, AL, United States - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** 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, 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 - **Published:** September 17, 2026 - **Apply:** https://www.dice.com/job-detail/1bffed88-9094-4d9f-828e-a40c77c0ec8e ## About the Role * 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. ## 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. ## Related Videos - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [pytest: Simple, rapid and fun testing with Python](https://www.wearedevelopers.com/videos/213-pytest-simple-rapid-and-fun-testing-with-python) - [Using WebAssembly to run, extend, and secure your application](https://www.wearedevelopers.com/videos/652-using-webassembly-to-run-extend-and-secure-your-application) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Using code generation for test automation – the fancy way](https://www.wearedevelopers.com/videos/230-using-code-generation-for-test-automation-the-fancy-way) - [On developing smartphones on wheels](https://www.wearedevelopers.com/videos/258-on-developing-smartphones-on-wheels) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Where To Find Software Engineering Jobs](https://www.wearedevelopers.com/magazine/396-where-to-find-software-engineering-jobs) - [Should senior developers refuse interview coding challenges?](https://www.wearedevelopers.com/magazine/29-should-senior-developers-refuse-interview-coding-challenges) - [Quick guide: How to write a Software Developer CV](https://www.wearedevelopers.com/magazine/37-quick-guide-how-to-write-a-software-developer-cv) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs)