Job Details

New ideas are all around us, but only a few will change the world. That’s our focus at JPL. We ask the biggest questions, then search the universe for answers—literally. We build upon ideas that have guided generations, then share our discoveries to inspire generations to come. Your mission—your opportunity—is to seek out the answers that bring us one step closer. If you’re driven to discover, create, and inspire something that lasts a lifetime and beyond, you’re ready for JPL.

Located in Pasadena, California, JPL has a campus-like environment situated on 177 acres in the foothills of the San Gabriel Mountains and offers a work environment unlike any other: we inspire passion, foster innovation, build collaboration, and reward excellence.

This unique opportunity is part of the Autonomous Systems Division, which is responsible for technology development, advanced concepts, design, development, delivery, integration and test, verification and validation, and operation of Command and Data Handling (C&DH) Hardware, Flight Software, Power Systems, Robotic Systems, and Guidance and Control.

As a Software Engineer for the Small Scale Flight Software Group, you will be working for JPL's Flight Software and Avionics Systems Section, which provides leadership and unique world-class expertise in Flight Software, Avionics Systems Engineering, Simulation and Support Equipment, Avionics Integration, Test, and Operations and Software Research.

As a key member of the Small Scale Flight Software Group (348C), you will perform software engineering activities associated with the delivery of embedded flight software products for small scale projects developing CubeSats, small satellites and spacecraft payloads where the typical flight software team sizes are between one and five people. These activities include requirements development, software architecture & design, code development, along with extensive user and system level testing.

In this position, you will provide software expertise in the form of software requirements definition, software design, code development, peer review, documentation, thorough unit testing, integration testing using simulations and avionics hardware, and defect resolution to JPL flight mission customers.

Through the guidance of a Cognizant Engineer, the software engineer will develop a solid understanding of the required capabilities of the software system. The software engineer will then be responsible for advising to the software team on the determined software approach for the development, conduct peer reviews, oversee formal testing of peer developed capabilities, participate in the the software system integration and support the delivery and deployment of the software system.

Specific responsibilities include:

  • Supporting the Flight Software Cognizant Engineer in ensuring that the flight software architecture and design of the software system and constituent components meet system level requirements.

  • Designing, developing and delivering software components in C++ that implement Avionics Subsystem functions including flight system hardware/software interfaces in both nominal and faulted test scenarios, boot process, command and data handling functions, System Fault Protection, etc. as specified by the Flight Software Cognizant engineer.

  • Working closely with avionics and systems engineers in defining project specific flight software requirements for the various domains.

  • Supporting the FSW team to define verification items, test procedures, test execution, and delivery of the integrated software products.


This position typically requires a Bachelor’s degree in Computer Science, or related technical discipline with a minimum of 6 years of related experience; a Master’s degree in similar disciplines with a minimum of 4 years of related experience; or a PhD in similar disciplines with a minimum of 2 years related experience.                                                            

Other qualifications include:

  • Extensive understanding and wide application of advanced principles, theories, concepts and hands-on programming techniques in:

    • Developing, modifying, debugging, releasing and maintaining real-time embedded software systems for mission-critical, aerospace applications.

    • Developing application programs for the various functional domains (e.g., CDH, GNC, etc.) for execution in an embedded flight processor.

    • Device driver development and software/hardware interfaces for both custom and commercial hardware, with experience debugging software/hardware interactions and possible failure modes.

    • Experience with distributed computing and inter-process communication (IPC) mechanisms.

    • Communication buses and protocols: PCI/PCIe, 1553, ethernet.

  • Proven leadership experience and/or ability for a software team in the development and delivery of reliable, embedded real-time software applications that employs formal and structured lifecycle development process.

  • An extensive background in software development and testing with specific experience in the following languages and operating systems: C++, C, Python, Linux, WindRiver VxWorks.

  • Ability to work with in-development hardware undergoing changing interface specifications.

  • Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment.


Preferred qualifications include:

  • Familiar with Laboratory policies and procedures, NASA policies and procedures, and government regulations across a range of applications.

  • Extensive experience developing, deploying and maintaining software product lines. 

  • Hands on knowledge with software development processes, standards, and practices. 

  • System engineering experience in generating, tracking and proving successful implementation of requirements.

  • Background in dynamics and control systems.

  • Proposal writing skills.

JPL is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to sex, race, color, religion, national origin, citizenship, ancestry, age, marital status, physical or mental disability, medical condition, genetic information, pregnancy or perceived pregnancy, gender, gender identity, gender expression, sexual orientation, protected military or veteran status or any other characteristic or condition protected by Federal, state or local law.

In addition, JPL is a VEVRAA Federal Contractor.

EEO is the Law.

EEO is the Law Supplement

Pay Transparency Nondiscrimination Provision

The Jet Propulsion Laboratory is a federal facility. Due to rules imposed by NASA, JPL will not accept applications from citizens of designated countries or those born in a designated country unless they are Legal Permanent Residents of the U.S or have other protected status under 8 U.S.C. 1324b(a)(3). The Designated Countries List is available here.

JPL logo
United States, JPL Campus, Pasadena, California
Posted 2 months ago
Job offer closed
If you can, mention you found the job on Rocket Crew, it helps us get more companies to post here, thanks!
Tired of sending resumes?
Create a Talent profile and let companies reach out to you
Create Profile
🛰️ Want to find your dream job in the Space industry?
Get a weekly email of the best New Space jobs!