Flight Software Engineer IV
NASA Jet Propulsion Laboratory
About the role
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.
Responsibilities:
If you are passionate about spacecraft design, we invite you to join the Flight Software & Systems Engineering Section. We provide flight software and systems engineering for the design and implementation of spacecraft for the laboratory's key flight projects. We provide leadership and specialized expertise in developing flight software and systems engineering for spacecraft, small satellites, and instrument payloads.
As a Flight Software Engineer IV, you will be working for JPL’s Flight Software and Systems Engineering Section, which provides leadership and specialized expertise in developing flight software and systems engineering for spacecraft, small satellites, and instrument payloads.
As a key member of the Flight Software Architecture and Infrastructure Group, 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.
Mostly a software engineering assignment would involve the development of complex and mission critical embedded software for spacecraft, including 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.
As a Flight Software Engineer IV, you would typically work independently with minimal guidance or lead a small team of software developers in planning a task, establishing requirements, preparing and presenting design solutions, managing resources, conducting reviews, reporting to upper management and mentoring fewer senior engineers.
Qualifications:
Bachelor’s degree in Computer Science, or related discipline with a minimum of 9 years of related work experience; a Master’s degree in similar disciplines with a minimum of 7 years of related work experience; or a PhD in similar disciplines with a minimum of 5 years of related work experience.
Other qualifications include:
Extensive understanding and wide application of advanced principles, theories, concepts and hands-on programming techniques in:
Architecting, developing, modifying, debugging, releasing and maintaining complex real-time embedded software systems for mission-critical, aerospace applications.
Developing application programs for the various functional domains (e.g., CDH, GNC, System Fault Protection, 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.
Distributed computing and inter-process communication (IPC) mechanisms.
Deep familiarity with communication buses and protocols: PCI/PCIe, UART, SPI, I2C, CAN bus, and SpaceWire.
Real-time or embedded operating systems such as FreeRTOS, RTEMS, Zephyr, or WindRiver VxWorks
AI tools and processes for software development
Proven team leadership ability 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 guide in-development hardware towards efficient specifications for software interfaces.
Excellent verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment.
Preferred Skills:
Advanced knowledge of 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.
Deep understanding of NASA F Prime or cFS open-source frameworks
Background in dynamics and control systems.
Proposal writing skills.
Experience with software development for space missions in an environment like JPL.
JPL has a catalog of benefits and perks that span from the traditional to the unique. This includes a variety of health, dental, vision, wellbeing, and retirement plans, paid time off, learning, rideshare, childcare, flexible schedule, parental leave and many more. Our focus is on work-life balance, and living healthy, fulfilling lives as we Dare Mighty Things Together. For benefits eligible positions, benefits are effective the first day of the month coincident with or immediately following the employee’s start date.
For further benefits information click Benefits and Perks
The hiring range displayed below is specifically for those who will work in or reside in the location listed. In extending an offer, Jet Propulsion Laboratory considers factors including, but not limited to, the candidate’s job related skills, experience, knowledge, and relevant education/training.
The typical full time equivalent annual hiring range for this job in Pasadena, California.
$175,968 - $213,096
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 U.S. Citizens, 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.
Responsibilities
- Develop and deliver complex, mission-critical embedded flight software for spacecraft, small satellites, and instrument payloads.
- Define software requirements, design systems, write and review code, document work, test software, integrate with simulations and avionics hardware, and resolve defects.
- Work independently or lead a small development team, including planning tasks, establishing requirements, presenting designs, managing resources, conducting reviews, and reporting progress.
- Mentor less senior engineers and support software and systems engineering for flight projects.
Qualifications
- Bachelor’s degree in Computer Science or a related discipline with at least 9 years of related experience; master’s degree with at least 7 years; or PhD with at least 5 years.
- Extensive experience architecting, developing, debugging, releasing, and maintaining real-time embedded software for mission-critical aerospace applications.
- Experience with C++, C, Python, Linux, and WindRiver VxWorks.
- Knowledge of embedded operating systems, device drivers, hardware interfaces, distributed computing, IPC, and communication protocols such as PCIe, UART, SPI, I2C, CAN, and SpaceWire.
- Demonstrated team leadership and experience delivering reliable embedded real-time software through structured development processes.
- Strong communication, presentation, and interpersonal skills.
- Preferred: experience with software product lines, systems engineering, NASA F Prime or cFS, dynamics and control systems, proposal writing, and software development for space missions.
Benefits
- Health, dental, vision, wellbeing, and retirement plans
- Paid time off and parental leave
- Learning, rideshare, and childcare programs
- Flexible schedule and work-life balance
Skills mentioned
About NASA Jet Propulsion Laboratory
Founded in 1936, NASA's Jet Propulsion Laboratory is a federally funded research and development center managed for NASA by the California Institute of Technology (Caltech). For nearly nine decades, JPL has helped define the frontier of exploration. The laboratory developed America's first Earth-orbiting science satellite, built the first successful interplanetary spacecraft, and pioneered robotic exploration across the solar system. These achievements helped establish U.S. leadership in space and laid the foundation for generations of scientific discovery. Today, on behalf of NASA and the nation, JPL advances science and innovation through robotic missions that explore Earth, the solar system, and the universe. Our engineers, scientists, technologists, and mission teams continue to push the boundaries of exploration while addressing scientific and technical challenges of national significance. We Dare Mighty Things. Visit http://jpl.jobs to explore our career opportunities.