17 days old

Senior Instrument Data Software Engineer - NASA

Pasadena, California

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.


Are you passionate about developing software systems and applications in support of science discovery, data-driven analysis and ground breaking research? Do you thrive in an environment motivated to answer challenging questions about our universe and where you can work on potential approaches and solutions to new and unusual problems?

JPL's Machine Learning & Instrument Autonomy team has an excellent opportunity for a Senior Software Engineer to bring your software development expertise and knowledge to the team of Data Scientists and Technologists in support of the research, science data processing and analysis.

Our team is within JPL's Instrument Software and Science Data Systems Section which consists of multidisciplinary teams of engineers and technologists who provide expertise across the domains of instrument operations and science data systems. The team is responsible for safely controlling JPL remote sensing instruments. Transforming data collected by these instruments into scientific measurements and preserving them for future analyses. Providing context and understanding to the measurements. Making the measurements and related information accessible to a broad and global user community.

Our engineering teams build and operate high performance data processing, management and analysis systems capable of handling petabyte scale datasets to support of science discovery, research, operations and applications. They support JPL and NASA missions, as well as other science-based projects. Our research and technology development teams create new onboard and ground based technologies for data processing, analysis, modeling, reasoning, visualization, management, access and analytics that are infused into our data systems.

The Machine Learning & Instrument Autonomy Group uses Machine Learning (ML) and data-driven analysis to support science and engineering in all aspects of JPL’s mission, from efficient algorithms running on very constrained Mars rover onboard computers to server farms processing millions of astronomical observations per night.

Our goal is making explainable, confidence-estimating systems both for space-borne autonomy and to facilitate live data exploration and decision support. Your position as Senior Software Engineer includes responsibilities for refactoring / optimizing current and future numeric ML codes for tight speed, memory, and compute requirements. You will also need to lead and enforce compliance to the best software development practices including continuous integration, documentation styles, and validation test suites. You will be working with experts in novel space-supporting ML as well as hardware teams building brand-new space-borne computing infrastructures to push the frontiers of what can be done.

This opportunity will provide a JPL career path for infusing the power of ML into science, engineering, and space missions.



  • Master's degree Computer Science or related technical discipline with typically a minimum of 4 years related experience or Bachelor's with 6 years experienc
  • Significant knowledge/experience with C/C++ and Python languages as well as Linux development
  • Demonstrated capability to optimize code for specific computational hardware (e.g. SIMD/GPU’s, PIM, multi-core, embedded, FPGA, etc.)
  • Exceptional modern software engineering skills on major projects such as unit testing, end to end validation, continuous integration
  • Emphasis on modularity, code clarity, ease of maintenance by non-developers
  • Advanced numeric coding experience (e.g. satellite data, real-time system monitoring, autonomous systems, data pipelines, medical imaging systems)
  • Lead software engineer skills (system design, continuous integration/DevOps, multi-tier testing, simplicity/readability, validation suites, Jenkins, Git pull requests, code review)
  • Excellent communication skills to understand user needs, negotiate requirements, and summarize trade-offs to researchers and sponsors

Preferred Qualifications

  • Familiarity with probability & statistics and linear algebra
  • Knowledge of some Machine Learning methods (e.g. Random Forests, SVM’s, Linear Discriminant Analysis (LDA), Logistic Regression, etc.)
  • Experience with some Machine Learning toolkits (e.g. SKLearn, Scipy, Numpy, Apache Big Data suite, OpenCV, etc.)
  • Architecture Experience: cloud-based & distributed, stream-based, Apache Big Data suite, open source
  • Track record of collaboration with scientists, researchers, or other non-computer-science stakeholders


Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Senior Instrument Data Software Engineer - NASA

NASA Jet Propulsion Laboratory
Pasadena, California

Join us to start saving your Favorite Jobs!

Sign In Create Account
Powered ByCareerCast