N

NASA Jet Propulsion Laboratory

Federally funded robot space missions developer

Flight Software Engineer 1

Embedded EngineeringConfirmed live in the last 24 hours
Full-timePasadena, CA, USA$96.6k - $117.1k /yrIn-person

About the Job

Requirements

  • A Bachelor's degree in Computer Science, Computer Engineering, or a related technical discipline with at least one year of related experience; alternatively, a Master's degree in similar disciplines, or a PhD in similar disciplines with zero years of related experience.
  • Strong C/C++ programming skills.
  • Experience with multithreaded programming.
  • Coursework in operating systems, computer architecture, algorithms, and data structures.
  • Knowledge of principles, theories, concepts, and hands-on programming techniques for developing, modifying, debugging, releasing, and maintaining real-time embedded software systems for mission-critical aerospace applications.
  • Knowledge of developing embedded real-time application programs using a real-time operating system.
  • Knowledge of developing device drivers and software/hardware interfaces for custom and commercial hardware.
  • Knowledge of distributed computing and inter-process communication mechanisms in a space-partitioned software architecture.
  • Knowledge of communication buses and protocols including SpaceWire, PCI/PCIe, UART, and Ethernet.
  • Knowledge of continuous integration, development flow, and the Git flow process.
  • Internship or experience involving significant C or C++ programming.
  • Internship or experience with embedded processors or microcontroller programming, or development processes on CubeSats.

Responsibilities

  • Design and implement real-time flight software for science instruments.
  • Work with instrument engineers to generate software requirements and design flight software components that meet project requirements.
  • Design software modules implementing flight-system functions, hardware/software interfaces, the boot process, command and data handling functions such as instrument operations, science data acquisition and control, engineering and science data handling, fault protection, and thermal power control in nominal and off-nominal scenarios.
  • Develop test plans, unit tests, and regression tests; evaluate test results and run tests against simulators and testbeds.
  • Identify and troubleshoot technical issues with flight software in an integrated system.
  • Work with a multidisciplinary team and experienced flight software developers.

Desired Qualifications

  • Coursework in programming languages, software engineering, computer science theory, and embedded programming.
  • Experience with Python, C++, or Java.
  • Experience applying artificial intelligence tools to technical projects.

About the Company

NASA Jet Propulsion Laboratory

Federally funded robot space missions developer

NASA Jet Propulsion Laboratory (JPL) is a federal research center managed by Caltech for NASA. It designs, builds, and operates robotic space missions for planetary exploration, Earth science, and space-based astronomy, along with technology development. JPL translates scientific ideas into real missions using specialized engineering, software, and mission operations conducted by cross-disciplinary teams, often in collaboration with NASA centers and other partners. Unlike many contractors, JPL functions as a government-run R&D center that directly plans and executes missions from concept through flight operations, ensuring national-space capabilities and scientific discovery stay aligned with NASA's goals. The lab’s aim is to turn bold science questions into working space missions and technologies that advance our understanding of the solar system and Earth, while upholding values of being bold, inclusive, and trusted.

Company size
5,001-10,000
Company stage
Not listed
Total funding
Not listed
Headquarters
Pasadena, CA
Founded
1936

Recently Posted Jobs

Explore more opportunities at NASA Jet Propulsion Laboratory

See more jobs