NASA Embedded Sensor Software Development Engineer
Listed on 2026-10-15
-
Software Development
Software Engineer, Software Testing, Embedded Software Engineer, C++ Developer
- Experience developing software in a Linux environment.
Job Title:
NASA Embedded Sensor Software Development Engineer
Job Category:
Engineering
Time Type:
Full time
Minimum Clearance Required to Start:
None
Employee Type:
Regular
Percentage of
Travel Required:
Up to 10%
Type of Travel:
Continental US
CACI is looking for an experienced Embedded Software Development Engineer to design and develop embedded flight software (FSW) for CO2, H2O, and gas analyzer sensor controllers in support of the next-generation Spacesuit, Human Landing System (lunar lander spacecraft), and the Artemis Program at the NASA Johnson Space Center. This work involves prototyping, requirements definition, design, development, test and verification, integration, and certification of embedded software.
The position also includes implementing, executing, and evaluating results of software unit test cases.
This position requires a self-motivated, capable software engineer with strong verbal and written communication skills. In addition to outstanding technical expertise, the individual must be very people savvy, have strong customer relationship skills, possess a positive team-player attitude, be flexible and willing to take on new assignments and responsibilities as they arise, and be an articulate speaker able to communicate complex technical ideas in a convincing manner.
The individual must share our passion for our Nation's Space Program and share in the excitement of developing the next human-rated space vehicles.
- Design and develop embedded flight software to control CO2, H20, and gas analyzer sensors.
- Create thorough unit tests from self-developed test plans using the UT-Assert framework and Gcov that test C code both structurally and functionally.
- Evaluate unit test case results including pass/fail results with path coverage, loop boundary limits, and Modified Condition/Decision Coverage (MC/DC).
- Troubleshoot issues with failed test cases.
- Perform C code reviews to spot errors in the code logic.
- Collaborate with other software engineers in resolving unit test case issues.
- Perform systems engineering in support of software requirements and interface definitions, design, and performance analysis.
- Perform software integration, test, and verification.
- Integrate and test software/hardware in avionics test bed and flight certification environments.
- Collaborate with engineering teams and contractors across multiple NASA programs and projects.
- Ensure adherence to JSC standard software process practices.
- Develop and maintain comprehensive test plans, test cases, and test scripts for software applications.
- Execute manual and automated tests to verify software functionality, performance, and security.
- Identify, document, and track software defects using issue tracking tools.
- Collaborate with developers to reproduce and resolve software defects.
- Perform regression testing to ensure that new changes do not adversely affect existing functionality.
- This work takes place at NASA/JSC in Houston, TX, a highly stimulating and dynamic environment that is critical in human space flight and the space exploration initiative.
- Must be a U.S. Citizen or Permanent Resident.
- B.S. in Aerospace, Electrical, Software, Computer or Systems Engineering, Computer Science, Biomedical Engineering, or related disciplines required.
- At least three years of experience in embedded software development. More experience is highly valued.
- Strong C programming skills.
- Experience developing software in a Linux environment.
- Experience developing C/C++ software unit tests in Aerospace or other industries, e.g., commercial software, oil and gas, petrochemical, etc. Experience should include utilizing a unit test framework such as Google Test (gTEST), UT-Assert or Cpp Unit.
- Experience developing embedded firmware for microcontrollers.
- Must have significant experience in the entire software life cycle.
- Must be flexible, open to new challenges in a dynamic environment, and possess strong technical expertise combined with strong verbal and written communication skills.
- Requires the ability to manage multiple priorities with little supervision.
- Must be a highly responsible, team-oriented individual with strong work ethic.
- M.S. in Computer Science, Software Engineering, Electrical or Computer Engineering, Aerospace Engineering, Biomedical Engineering, or related disciplines.
- Preferred that previous experience be in aerospace systems and vehicles. Experience is also valued in other…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).