Application Developer
About the role
IPAC at Caltech is seeking an Applications Developer to join the User Interface development staff of the NASA/IPAC Infrared Science Archive (IRSA).
Join us and be a part of the team that is helping astronomers and data scientists worldwide access and explore IRSA’s petabyte archives of astronomy data.
IPAC, in the Physics, Math, and Astronomy Division at Caltech, provides science operations, user support, and data and archive services to enable discovery with observatories both in space and on the ground.
IRSA (http://irsa.ipac.caltech.edu) is the steward of scientific data sets, ancillary data products, and documentation delivered by NASA's Infrared and Sub-millimeter missions, operating petabyte-scale archives, multi-billion–row databases, and a suite of tools for accessing, visualizing, and analyzing data from leading space and ground-based astronomical facilities.
Responsibilities
- Contribute to the development and evolution of IRSA archive user tools in collaboration with scientific stakeholders and project team members.
- Develop and improve web user interfaces and interactive data analysis tools to help scientists combine, extract, visualize, and exploit information from archived datasets.
- Develop and integrate interfaces to efficient search and retrieval tools that front IRSA’s holdings.
- Interpret and implement project requirements under guidance from senior developers and project leads, and ensure appropriate documentation of delivered work.
Requirements
- Bachelor's degree in Computer Science, Engineering, Astronomy, Physics, Mathematics, or a related technical field; or a Bachelor's degree in any field combined with relevant experience and certification(s).
- 3+ years of experience as a software developer in a Unix/Linux/OSX environment.
- Proficiency in Java and/or JavaScript.
- Experience with concurrent or asynchronous programming concepts.
- Demonstrated ability with JavaScript frameworks such as React and Redux or similar frameworks, and related web technologies such as HTML, JSON, CSS, and WebSocket.
- Familiarity with software configuration management principles and tools, source code version control (e.g. Git/GitHub) and issue/bug tracking systems (e.g. Jira).
- Ability to work in a collaborative team environment and communicate effectively across various technical levels, including good written and verbal communication skills.
Qualifications
- Master’s degree in a computing‑related discipline, including relevant coursework such as advanced web technologies, user interface design, scientific data visualization, databases, or large‑scale data systems, particularly as applied to scientific research.
- Proficiency in Python.
- Experience working with Tomcat, Java, multi-threaded programming, and client-server design and communication.
- Experience working with scientific data sets and use cases.
- Experience working with databases.