N

NASA Jet Propulsion Laboratory

Federally funded robot space missions developer

Lead Software Engineer - Uplink Systems

Embedded EngineeringConfirmed live in the last 24 hours
Full-timePasadena, CA, USA$170.9k - $215.4k /yr

About the Job

Requirements

  • A Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline with typically at least 9 years of related work experience; or a Master's degree in a similar discipline with at least 7 years of related work experience; or a PhD in a similar discipline with at least 5 years of related work experience.
  • At least 2 years of experience leading or mentoring software engineering teams, or demonstrated technical leadership on complex projects.
  • Strong proficiency in C++ and working proficiency in Python.
  • Experience developing software that interfaces directly with hardware, such as FPGA-based systems, data acquisition, embedded platforms, or instrumentation.
  • Experience architecting high-rate data transport between hardware and software over PCIe, Ethernet, or comparable interfaces.
  • Experience with software that must meet timing, throughput, or data-integrity requirements.
  • Experience implementing signal-processing algorithms in production software, including digital modulation schemes, FIR/IIR filtering, and forward error correction.
  • Experience working within a structured engineering process, including design reviews and requirements-based verification.
  • Experience testing and debugging software against real hardware in a laboratory or operational field environment.
  • Direct deep-space, DSN, or spacecraft communications experience is not required; candidates may come from avionics, radar, test and measurement, telemetry, instrumentation, industrial control, or comparable hardware-adjacent software domains.

Responsibilities

  • Design, implement, test, and ship iterations of the uplink software package.
  • Lead and mentor a small team of software and test engineers, providing technical guidance and managing dependencies.
  • Own the software side of the interface to FPGA and mixed-signal hardware, defining and negotiating that boundary with the project team.
  • Develop and maintain the Uplink signal-processing capability, including error correction, modulation, and signal generation, interfacing with software-defined radio systems.
  • Architect and maintain high-rate data paths between hardware and software, ensuring data integrity and timing across the path.
  • Define the subsystem verification strategy and build the automated test capability that supports it.
  • Maintain the software release schedule, balancing critical mission milestones with the capability and resources of the team.
  • Make technical architecture decisions and defend them to stakeholders and leadership.
  • Present project updates to program leadership in review meetings, including PDR and CDR, showing that the project meets expected capability and minimizes risk.
  • Work collaboratively with stakeholders of the subsystem's internal interfaces and external users.
  • Test and evaluate software deployments hands-on in the lab and in the field, ensuring requirements are satisfied.
  • Work closely with OEs and engineers at the three DSN complexes in the USA, Spain, and Australia.
  • Travel occasionally, up to 5% of the time, to DSN complexes to support installation, checkout, or debugging of deployments.

Desired Qualifications

  • Advanced experience or strong knowledge of signal-processing systems.
  • Experience in software development that interfaces with software-defined radios using radio interfaces such as Ethernet or PCIe.
  • Experience with software-defined radio frameworks and drivers, such as USRP Hardware Driver (UHD) and RF Network-on-Chip (RFNoC).
  • Experience implementing protocols from formal specifications and authoring interface definitions between subsystems.
  • Direct experience with the implementation of communication data and telemetry systems.
  • Experience with or knowledge of Consultative Committee for Space Data Systems (CCSDS) Space Link Extension (SLE).
  • Experience with continuous integration tools such as Jenkins or GitHub Actions and modern source configuration control such as Git.
  • Experience with software testing frameworks and test-driven development practices.
  • Knowledge of container and runtime orchestration frameworks such as Podman, Docker, or Kubernetes.
  • Experience with project planning, resource estimation, and budget tracking for software development efforts.
  • Experience owning release, deployment, and support of software for fielded systems.
  • Experience leading root-cause investigations that span software, firmware, and hardware.
  • Strong verbal and written communication skills.

About the Company

NASA Jet Propulsion Laboratory

Federally funded robot space missions developer

NASA Jet Propulsion Laboratory (JPL) is a federal research center managed by Caltech for NASA. It designs, builds, and operates robotic space missions for planetary exploration, Earth science, and space-based astronomy, along with technology development. JPL translates scientific ideas into real missions using specialized engineering, software, and mission operations conducted by cross-disciplinary teams, often in collaboration with NASA centers and other partners. Unlike many contractors, JPL functions as a government-run R&D center that directly plans and executes missions from concept through flight operations, ensuring national-space capabilities and scientific discovery stay aligned with NASA's goals. The lab’s aim is to turn bold science questions into working space missions and technologies that advance our understanding of the solar system and Earth, while upholding values of being bold, inclusive, and trusted.

Company size
5,001-10,000
Company stage
Not listed
Total funding
Not listed
Headquarters
Pasadena, CA
Founded
1936

Recently Posted Jobs

Explore more opportunities at NASA Jet Propulsion Laboratory

See more jobs