SOFTWARE DEVELOPER
MCSG TechnologiesAbout the role
Job DetailsJob Location: NASA Goddard Space Flight Center - Greenbelt, MD 20771Position Type: Full TimeEducation Level: 4 Year DegreeSalary Range: $90,000.00 - $110,000.00 Salary/yearJob Shift: DayJob Category: Information TechnologyJOB SUMMARY: The cFS Software Developer (Mid-Level) will support the NASA Goddard Space Flight Center (GSFC) Flight Software Systems Branch on the Early Career Initiative (ECI) Lunar Precision Clock Project. The ECI is a competitive NASA research and development program that advances innovative technologies while developing the next generation of NASA engineers.
This project supports NASA's Artemis Program and future lunar exploration by developing a precision clock instrument capable of accurately measuring and maintaining time on the lunar surface. The technology addresses critical positioning, navigation, communications, and autonomous operations requirements while contributing to the establishment of a future Coordinated Lunar Time (LTC) standard.
The Software Developer will support the development, integration, testing, and sustainment of reusable NASA core Flight System (cFS) applications, software libraries, and interfaces. Working under the guidance of senior engineers, the successful candidate will participate in software requirements analysis, software design, coding, testing, integration, and documentation supporting embedded flight software systems.
The position will collaborate with software, systems, hardware, and algorithm engineers to integrate advanced timing algorithms, develop OpenC3 COSMOS command and telemetry capabilities, support embedded hardware integration on Xilinx PicoZed platforms, and participate in laboratory demonstrations and hardware-in-the-loop testing. Location: Goddard Space Flight Center (GSFC), Greenbelt, MD. This position is a hybrid role requiring on-site attendance every Wednesday, with additional on-site support as required.
PRIMARY DUTIES
Software Systems Engineering
Support software systems engineering activities throughout the software development lifecycle.
Assist in analyzing software requirements and translating them into software designs and implementations.
Participate in software architecture discussions and design reviews.
Support maintenance and enhancement of reusable flight software components.
Flight Software Development
Develop, modify, test, and maintain reusable NASA core Flight System (cFS) applications, interfaces, and software libraries.
Implement software using C, C++, and Python in embedded real-time environments.
Participate in software implementation, unit testing, debugging, and integration activities.
Support development of reusable software components for future NASA missions.
Algorithm Integration
Assist with integration of Kalman Filters, GEONS estimation algorithms, clock steering controllers, time-transfer algorithms, and related software into the cFS environment.
Support validation of algorithm performance during software integration and testing.
Work with systems and algorithm engineers to resolve software integration issues.
Ground Software & Operations
Develop and maintain OpenC3 COSMOS command and telemetry interfaces.
Support command dictionaries, telemetry displays, and scripting development.
Assist with software demonstrations and customer support activities.
Integration & Test
Develop and execute unit, integration, and system-level software tests.
Support software integration on Xilinx Zynq/PicoZed embedded hardware.
Participate in laboratory integration activities and hardware-in-the-loop testing.
Troubleshoot software defects and support corrective actions.
DevOps & Configuration Management
Maintain software and documentation within GitLab repositories.
Support Git-based configuration management practices.
Utilize Docker-based development environments.
Participate in CI/CD pipeline activities.
Documentation
Prepare software design documentation.
Develop Interface Control Documents (ICDs).
Support preparation of software test procedures.
Maintain documentation consistent with NASA software engineering processes.
REQUIREMENTS
Technical Skills
Experience developing software throughout the software development lifecycle.
Experience programming in C, C++, and Python.
Experience developing embedded software applications.
Familiarity with NASA core Flight System (cFS) and OSAL.
Experience with Linux development environments.
Familiarity with Real-Time Operating Systems (RTOS).
Experience using Git and GitLab.
Familiarity with Docker and OpenC3 COSMOS.
Experience integrating software with embedded hardware.
Strong analytical, debugging, and communication skills.
PREFERRED QUALIFICATIONS:
Experience with Xilinx Zynq or PicoZed platforms.
Experience implementing Kalman Filters or GEONS estimation algorith
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s