
Flight Software Engineer II
What you need
- Bachelor's in CS/CE + 3 yrs experience
- C/C++ and Python software engineering
- Simulation software development experience
- Real-time embedded software development
- Low-level hardware/software interface experience
What you'll do
- Design and build avionics simulation software
- Implement simulation components in C/C++ and Python
- Develop embedded real-time applications with RTOS
- Verify software via unit and functional testing
- Conduct software reviews throughout development cycle
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.
The Support Equipment Software Group at JPL designs and builds high-fidelity workstation-based and hardware-in-the-loop simulators for supporting the development and testing of the avionics systems. We are part of JPL’s Autonomous Systems & Advanced Software Division that designs and builds spacecraft to explore remote destinations in our solar system.
We are looking for an experienced and self-driven Flight Software Engineer II with a passion for writing simulation software and embedded software. As a software engineer in this group, you will design, build, and test software that simulates complex avionics hardware and physical environments.
Tasks include but are not limited to:
- Working with the project lead, system engineers, and product users to generate software requirements and design for the simulation software components.
- Implementing software components in C/C++ and Python per the requirements and design.
- Developing embedded real-time application programs utilizing Real-Time Operating Systems.
- Testing software and verifying requirements and design by using well established unit testing and functional testing methodologies.
- Preparing and conducting requirements reviews, design reviews, code reviews, and test reviews throughout the software development cycle.
Qualifications:
- Bachelor’s degree in Computer Science, Computer Engineering, or related field with a minimum of 3 years of related work experience; Masters in a related discipline with a minimum of 1 year of related work experience; PhD in a related discipline with 0 years of related work experience.
- Software engineering experience using C/C++ and Python
- In depth knowledge of Object-Oriented Programming concepts
- Knowledge and hands-on programming experience in writing simulation software
- Experience with low-level software/hardware interfaces
- Experience with developing and debugging real-time embedded software systems.
- Good understanding of concurrent programming, multi-threading and inter-process communication mechanisms.
- Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment.
- Experience with continuous integration and modern source configuration control
Preferred Skills:
- Background in dynamics simulation and integration methods
- System engineering experience in generating, tracking and proving successful implementation of requirements.
- Experience in leading software development projects
- Experience with driver development for real-time embedded applications.
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.
$127,504 - $139,464
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.
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.
Optimize your resume for this job
Get a match score and the keywords you're missing
About JPL
NASA's Jet Propulsion Laboratory (JPL), managed by Caltech, designs and operates robotic spacecraft for solar system exploration, including Mars rovers, Europa Clipper, and deep space missions.
Similar Aerospace Engineering roles


