Flight Software Engineer II

JPL

• $122K — $138K *
Aerospace & Defense
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's degree in Computer Science or related field with 3 years experience; Master's degree with 1 year; PhD with 0 years.
  • Strong understanding of advanced programming techniques for real-time embedded software systems.
  • Familiarity with communication protocols such as PCI/PCIe, UART, SPI, and SpaceWire.
  • Experience with operating systems like FreeRTOS, RTEMS, or VxWorks.
  • Proficiency in C++, C, Python, and Linux.

Responsibilities

  • Participate in spacecraft software engineering for various flight projects.
  • Develop embedded flight software for CubeSats and small satellites.
  • Conduct software requirements definition and design activities.
  • Execute thorough unit and integration testing using simulations and hardware.
  • Collaborate with a small team for software development and peer reviews.

Benefits

  • Health, dental, and vision insurance plans.
  • Paid time off and flexible scheduling options.
  • Parental leave and childcare support.
  • Learning and development opportunities.
  • Emphasis on work-life balance and well-being.
Full Job Description
Job Details

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 II, 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.

A typical software engineering assignment would include 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.

The Flight Software Engineer II would typically work under the guidance of a Cognizant Engineer to develop a solid understanding of the required capabilities of the software system. The engineer would then be responsible for determining the software approach for the development and ultimately be responsible for the final coded capability. This work includes support of software level peer reviews and would also include formal testing of peer developed capabilities.

Qualifications:

  • Bachelor's degree in Computer Science, or related discipline with a minimum of 3 years of related work experience; a Master's degree in similar disciplines with a minimum of 1 year of related experience; or a PhD in similar disciplines with a minimum of 0 years related experience.


Other qualifications include:

  • Understanding and 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, System Fault Protection, etc.) for execution in an embedded flight processor.
    • Experience with distributed computing and inter-process communication (IPC) mechanisms.
    • Familiarity with communication buses and protocols: PCI/PCIe, UART, SPI, I2C, CAN bus, and SpaceWire.
    • Demonstrate ability to show knowledge of UDP / TCP network protocols
    • Familiarity or experience with real-time or embedded operating systems such as FreeRTOS, RTEMS, Zephyr, or WindRiver VxWorks
    • Experience with static code analysis toolsets

  • Demonstrated ability in the development and delivery of reliable, embedded real-time software applications that employs formal and structured lifecycle development process.
  • Familiarity with software development and testing with experience in the following languages and operating systems: C++, C, Python, Linux.
  • 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 Skills:

  • Knowledge of Laboratory policies and procedures, NASA policies and procedures, and government regulations across a range of applications.
  • Experience with device driver development and software/hardware interfaces for both custom and commercial hardware, with experience debugging software/hardware interactions and possible failure modes.
  • Experience developing, deploying and maintaining software product lines.
  • Knowledge with software development processes, standards, and practices.
  • System engineering experience in generating, tracking and proving successful implementation of requirements.
  • Understanding of NASA F Prime or cFS open-source frameworks
  • Hardware-in-the-Loop (HIL) & Testbeds: Hands-on lab debugging using oscilloscopes, logic analyzers.


Note: We have 4 job openings for this position for our various projects Moonfall, Skyfall, VERITAS and HPSC.

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.

$122,720 - $138,632

Similar Jobs

More Jobs at JPL

More Aerospace & Defense Jobs

Find similar Flight Software Engineer II jobs: