Application Developer

California Institute of Technology
Pasadena, United States of America
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Pasadena, United States of America

Tech stack

Amazon Web Services (AWS)
JIRA
Azure
Big Data
Bug Tracking Systems
Cloud Computing
Computer Engineering
Continuous Integration
Data Files
Distributed Systems
Github
Information Sciences
Job Scheduling
Python
Performance Tuning
Software Configuration Management
Software Deployment
Jupyter Notebook
CircleCI
Information Technology
Free and Open-Source Software
Slurm
Software Version Control

Job description

  • Creating and maintaining Python Jupyter notebook tutorials;
  • Designing and implementing tools for community use of IRSA's large data sets;
  • Running data science workshops using IRSA-curated data sets and tools; and
  • Providing user support (e.g. help desk, community forum, documentation) for the NASA Astrophysics Science Platform, a collaboration between HEASARC, MAST, IRSA, and Goddard: https://pcos.gsfc.nasa.gov/Fornax/ ., As an Applications Developer on the IRSA Data Science Team, you will contribute directly to the development and maintenance of resources that support community science. Key responsibilities include:
  • Help develop new Python Jupyter notebooks following best practices. Maintain existing notebooks by fixing bugs and implementing improvements.
  • Collaborate with other IRSA teams to make IRSA's holdings more usable and accessible for large-scale analyses and data scientists working in cloud-based environments.
  • Update IRSA's website and other documentation.
  • Respond to help desk inquiries from science platform users. Reproduce and diagnose JupyterLab issues to direct them to the appropriate team member for resolution.
  • Reformat terabyte-scale astronomical catalogs into a standardized file format and partitioning scheme by executing long-running, distributed jobs on a compute cluster.
  • Review CI/CD pull requests and maintain sufficient familiarity with the setup to serve as backup when the lead developer is unavailable.
  • Contribute to presentations and reports for multiple stakeholders and the astronomy community.
  • Interpret and implement project requirements with guidance from senior developers and project leads, and ensure appropriate documentation of delivered work.
  • Other duties as assigned.

Requirements

If you have the following in your background, then we want to hear about your interest in joining our team:

  • Bachelor's or equivalent degree in a technical subject such as Physics, Astronomy, Math, Computer Science, Computer Engineering, Information Sciences, or a related field.
  • 3+ years of experience as a software developer in a Unix/Linux environment. Fluency in Python. Demonstrated ability to design and implement maintainable, performant code.
  • Familiarity with software configuration management principles and tools, source code version control (e.g. Git/GitHub), and issue/bug tracking systems (e.g. Jira).
  • Experience working with scientific data sets and use cases, including developing Python code for large-scale analysis.
  • Ability to work in a team environment and communicate effectively in writing and verbally among diverse stakeholders., Some or all of the following skills and experiences are preferred and will enhance success in this role:
  • Experience running large jobs on a distributed computing system, including familiarity with job schedulers such as SLURM.
  • Experience manipulating large tabular data sets.
  • Experience installing software and running code in JupyterLab/JupyterHub environments.
  • Experience working on the cloud (e.g. AWS, GCP, or Azure).
  • Experience with open-source software development and CI/CD tools such as GitHub Actions and CircleCI.
  • Basic HTML knowledge.

About the company

Caltech is a world-renowned science and engineering institute that marshals some of the world's brightest minds and most innovative tools to address fundamental scientific questions. We thrive on finding and cultivating talented people who are passionate about what they do. Join us and be a part of the diverse Caltech community., IPAC at Caltech seeks a full-time Applications Developer to join the Data Science Team at the NASA/IPAC Infrared Science Archive (IRSA). Come be a part of the team that is helping astronomers and data scientists all over the world access and explore IRSA's petabyte archives of astronomy data! IPAC, part of the Physics, Math, and Astronomy Division at Caltech ( www.caltech.edu ), provides science operations, user support, data and archive services, and scientific vision to enhance discovery with observatories both in space and on the ground. IRSA ( http://irsa.ipac.caltech.edu ) is the steward of scientific data sets delivered by NASA's Astrophysics missions. We enable ground-breaking scientific research using data from these and other missions. IRSA ingests petabyte-scale imaging datasets, maintains multi-billion row databases, and develops a variety of tools for accessing, visualizing, and analyzing data from cutting-edge astronomical facilities. Current and future missions in IRSA's portfolio include: SPHEREx, a NASA mission which will conduct an infrared spectroscopic survey of the entire sky; Euclid, a European Space Agency (ESA) mission to study the geometry and nature of the dark Universe; and NEO Surveyor, a NASA Planetary Science mission designed to discover and characterize most of the potentially hazardous asteroids that are near the Earth.

Apply for this position