CFS SOFTWARE DEVELOPER

Mitchell Consulting Services Group Inc
Greenbelt, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Greenbelt, United States of America

Tech stack

C
Artificial Intelligence
Systems Engineering
Unit Testing
C++
Configuration Management
Software Documentation
Software Quality
Code Review
Computer Maintenance
Computer Engineering
Continuous Delivery
Continuous Integration
Data Architecture
Software Debugging
DevOps
Embedded Software
Hardware Design
Integrated Development Environments
Python
Machine Learning
Software Architecture
Systems Development Life Cycle
Real-Time Operating Systems
Software Engineering
Software Requirements Analysis
Software Systems
System on a Chip
Systems Integration
VxWorks
GIT
Linux Development
Integration Tests
Information Technology
Software Version Control
Docker

Job description

JOB SUMMARY: The cFS Software Developer (Senior) will support the NASA Goddard Space Flight Center (GSFC) Core Flight System (cFS) Project by providing sustaining engineering and software development support for reusable flight software components utilized by NASA and other government agencies. The cFS Project delivers mission-enabling, cost-reducing, and risk-reducing flight software solutions that support current and future spaceflight missions while reinforcing GSFC's leadership in flight software technology., The Software Developer will work closely with the cFS Product Development Lead (PDL) within the Flight Software Systems Branch as a member of the cFS Flight Software (FSW) development team. The position includes supporting multiple cFS customers by developing, maintaining, integrating, testing, and documenting reusable flight software components in accordance with NASA software engineering standards. Location: Goddard Space Flight Center (GSFC), Greenbelt, MD. This position will be a hybrid role with on-site work as required., * Develop, maintain, and sustain reusable Core Flight System (cFS) software components.

  • Perform software requirements analysis, architecture definition, software design, coding, unit testing, integration testing, and formal build testing.
  • Support software development activities throughout the complete software development lifecycle.
  • Develop flight-ready software solutions supporting NASA missions and other government agencies.

Software Engineering & Integration

  • Collaborate with the cFS Product Development Lead (PDL) and Flight Software Systems Branch engineering team.
  • Support integration of cFS software components into customer flight software environments.
  • Participate in software builds, code reviews, peer reviews, technical demonstrations, and design reviews.
  • Assist with sustaining engineering activities including maintenance, enhancements, defect resolution, and software updates.

Customer & Technical Support

  • Provide software engineering support to identified cFS customers.
  • Participate in technical meetings, demonstrations, presentations, and customer reviews.
  • Support issue investigation, troubleshooting, and implementation of corrective actions.
  • Assist customers with software integration and implementation activities.

Software Quality & DevOps

  • Develop and execute unit and integration tests.
  • Support Continuous Integration/Continuous Deployment (CI/CD) processes and automated build environments.
  • Utilize configuration management and version control tools throughout software development.
  • Produce and maintain software documentation in accordance with NASA software engineering processes.

Laboratory & Development Environment Support

  • Support flight software laboratory configuration and hardware integration activities.
  • Assist with hardware maintenance and development environment setup.
  • Support development and testing on embedded hardware platforms and real-time operating systems.

Reporting Requirements

  • Provide regular status updates on assigned software development tasks.
  • Document software design, implementation, testing, and technical progress.
  • Participate in technical reviews and provide engineering presentations as requested.
  • Maintain project documentation consistent with NASA software engineering processes

Requirements

Technical Skills

  • Experience with software development lifecycle (SDLC) processes.
  • Strong software development experience using C, C++, and Python.
  • Experience developing embedded software applications.
  • Experience developing flight software or other safety/mission-critical software.
  • Experience with Linux development environments.
  • Working knowledge of Real-Time Operating Systems (RTOS).
  • Experience using Git for source code management.
  • Experience with Continuous Integration (CI/CD) methodologies.
  • Experience with Docker container technologies.
  • Experience with OpenC3 COSMOS or similar mission operations tools is preferred.
  • Experience defining and implementing Application Programming Interfaces (APIs) is preferred.
  • Knowledge of systems engineering processes is desirable.
  • Familiarity with cybersecurity policies and secure software development best practices is preferred.
  • Knowledge of Artificial Intelligence (AI), Machine Learning (ML), or data architecture technologies is desirable.
  • Experience implementing Fault Detection, Isolation, and Recovery (FDIR), GEONS, or other estimation/filtering algorithms is desirable.
  • Knowledge of embedded hardware architectures including Xilinx, Zynq, or PicoZed platforms is desirable.
  • Experience with VxWorks and/or RTEMS is preferred.

Leadership & Collaboration

  • Experience serving as a Software Development Team Lead, Software Lead, or Software Sustaining Engineering Lead is highly desirable.
  • Ability to work effectively within multidisciplinary engineering teams.
  • Strong analytical, debugging, and problem-solving skills.
  • Excellent written and verbal communication skills.
  • Ability to interact effectively with NASA personnel, government customers, and contractor teams.
  • Ability to support multiple development efforts and customer requests simultaneously.

PREFERRED QUALIFICATIONS:

  • Experience supporting NASA, DoD, aerospace, or other government software development programs.
  • Experience with reusable flight software frameworks and mission software architectures.

RELEVANT EXPERIENCE: 7 years of professional experience developing embedded or flight software systems.

EDUCATION/CERTIFICATION: Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, Aerospace Engineering, or a related technical discipline.

SECURITY CLEARANCE: Must be a U.S. Citizen and able to pass NASA badging and onboarding requirements in accordance with applicable federal security policies.

Benefits & conditions

BENEFITS OFFERED: Medical, dental, vision, life insurance, short-term disability, long-term disability, 401(k) match, flexible spending accounts, EAP, parental leave, paid time off, holidays and more. Learn more about MCSG Technologies benefits: https://www.mcsgtech.com/benefits/.

About the company

ABOUT US: At MCSG Technologies, we believe the path to success begins by empowering our employees to do what is best for our customers. This helps create value for our customers and business partners through efficiencies and cost-effective relationships that are built on trust, while delivering on-time and within budget. Our company ethos is simple Empowered to serve our customers, our communities, our colleagues. If you would like to learn more, please visit our website at www.mcsgtech.com or find us on Glassdoor.

Apply for this position