Embedded/Flight Software Engineer I
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.
Would you like to see your code sent to the planet Mars? Feel the excitement as the nation watches your software execute during the intense landing on Mars. Send your code on a spacecraft orbiting Earth, Jupiter, or an asteroid. Join a fast-paced CubeSat software team. These unique software challenges await you at NASA’s Jet Propulsion Laboratory.
As a flight software engineer, you will have the opportunity to implement spacecraft capabilities including command, communication, data management, instrument managers, and fault protection. From low-level device drivers to high-level behaviors, you’ll find many interesting programming opportunities. You will be working in NASA/JPL's Flight Software and Avionics Systems section.
- Design and implement real-time flight software for spacecraft in C or C++
- Develop test plans, unit tests, and evaluate test results. Run tests against simulators and testbeds
- Identify and troubleshoot technical issues with flight software in an integrated system
- Work on a team with experienced flight software developers
- Provide flight software support and maintenance during flight operations
- BS, MS, or Ph.D in Computer Science, Computer Engineering, Software Engineering or related field
- Must have a minimum 3.0 out of a 4.0 cumulative GPA
- Excellent C or C++ programming skills
- Multi-threaded programming
- Coursework in operating systems, computer architecture, algorithms, and data structures
- Internship with significant C or C++ programming
- Internship or experience with embedded programming or CubeSats
- Coursework in programming languages, software engineering, computer science theory, real-time embedded programming
- Familiarity with Python or Java
Connect with Us
Not ready to apply? Connect with us for general consideration.
JPL is an equal employment opportunity and affirmative action employer and will, whenever possible, actively recruit and include for employment members of underrepresented minority groups, females, disabled veterans, protected veterans, and otherwise qualified persons with disabilities. JPL will hire, transfer, and promote based on the qualifications of the individual to ensure equal consideration and fair treatment of all.
JPL is a VEVRAA Federal Contractor. For more information about "EEO is the Law" click here: eeoc_self_print_poster.pdf
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 at https://www.nasa.gov/sites/default/files/atoms/files/designated_country_list_8-16-2019_tagged_0.pdf
If you are interested in applying for employment with Jet Propulsion Laboratory and need special assistance or an accommodation to apply for a posted position, contact our Human Resources department at (818) 354-5150 or via email at Staffing@jpl.nasa.gov.
Written requests may be mailed to: Jet Propulsion Laboratory, Attention: Staffing and Employment Programs, 4800 Oak Grove Drive, Mail Stop T1720C, Pasadena, CA 91109