Senior Flight Software Engineer, Europa Clipper
Company: NASA Jet Propulsion Laboratory
Posted on: May 16, 2019
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.
As an Embedded Flight Software Developer for the Advanced 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 Avionics System Engineering, Flight
Command and Data Handling (C&DH) Software, Avionics System
Integration, Test, Operations, and Software Technology
This position will provide a seasoned software developer the
experience in the form of embedded software development activities
covering all lifecycle phases from software system engineering,
requirements definition, design, implementation, unit testing and
integration testing using simulations and avionics hardware. As a
developer for the Core infrastructure (C&DH) and Europa mission
specific flight software, this role will exercise innovation and
sound engineering judgment in specifying and resolving complex
embedded real-time software design problems for generating a
product line product for flight missions. It is essential that the
design meets two key criteria of satisfying the product line
requirement that enables adaptation and optimal reuse by future
flight projects, and the time/space partitioning requirement for
the Europa project. The software development process will comply
with the JPL institutional standard that is a CMMI level 3
Specific responsibilities include:
- Working with the FSW architect and cognizant engineer to
generate software requirements and design of the Core flight
software components that meet the product line and space/time
- Working with the Europa avionics and mission system engineers
in defining project specific software requirements for the various
- Designing software modules that implement the functions of the
Avionics subsystem that include flight system hardware/software
interfaces, boot process, C&DH functions, System Fault
Protection, and other subsystem applications (e.g., GNC, Power,
Thermal, etc.) in both nominal and off-nominal scenarios.
- Developing and delivering the Core and other subsystem flight
software modules in C per design.
- Working with the FSW Core Integration and Test lead to define
verification items, test procedures, test execution, and delivery
of the integrated software products.
- Performing metrics collection to assess key performance metrics
of the software.
This position typically requires a Bachelor's degree in Computer
Science, or related technical discipline with typically a minimum
of 9 years of related experience; Master's degree in similar
disciplines with a minimum of 7 years of related experience; or PhD
in similar disciplines with a minimum of 5 years related
Other requirements include
- Advanced knowledge of principles, theories, concepts and
hands-on programming techniques in:
- Developing, modifying, debugging, releasing and maintaining
real-time embedded software systems for mission-critical, aerospace
- Developing embedded real-time application programs utilizing
RTOS with Time and Space partitioned features (e.g.,
- Developing application programs for the various functional
domains (e.g., CDH, GNC, etc.) for execution in the Rad750
- Developing device driver and software/hardware interfaces for
both custom and commercial hardware. Debugging software/hardware
interactions and possible failure modes.
- Distributed computing and inter-process communication
mechanisms in a space partitioned software architecture.
- Communication buses and protocols: PCI/PCIe, 1553,
- Experience with embedded flight software problem
troubleshooting, isolation, and corrective action development.
- In-depth development experience in the complete lifecycle of
design, implementation, integration, and test of the flight
- Experience with Avionics subsystem and integrated flight
hardware. Ability to work with in-development hardware undergoing
changing interface specifications
- Familiarity with avionics subsystem flight and ground testbeds,
support equipment, integration and validation.
- Leadership 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.
- At least 4 years of C/C++ and Python programming
- Fluent in Linux OS and IDE environment (e.g., Multi) for
software development and debugging.
- Strong verbal and written communication, presentation, and
interpersonal skills with ability to work in a team
- Complete knowledge of industry and/or academic practices and
standards (e.g., CMMI) across a range of applications related to
flight software development, test, and delivery for the avionics
Preferred qualifications include:
- Advanced knowledge of Laboratory policies and procedures, NASA
policies and procedures, and government regulations across a range
- Hands on experience in developing application programs using
the Green Hills Integrity RTOS with Enhanced Partition Scheduler
(EPS) and the associated software tool chain to implement Time and
Space partitioned embedded real-time applications.
- System engineering experience in generating, tracking and
proving successful implementation of requirements.
- Background in dynamics and control systems.
- Experience with software development for space missions in an
environment like JPL.
***Preferred candidate identified***
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 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
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
Written requests may be mailed to: Jet Propulsion Laboratory,
Attention: Staffing and Employment Programs, 4800 Oak Grove Drive,
Mail Stop T1720C, Pasadena, CA 91109
Keywords: NASA Jet Propulsion Laboratory, Pasadena , Senior Flight Software Engineer, Europa Clipper, IT / Software / Systems , Pasadena, California
Didn't find what you're looking for? Search again!