Software Engineer

Updated: 12 days ago
Location: Pasadena, CALIFORNIA

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.

Job Summary

Caltech is seeking a Software Engineer with experience and skill to join the Southern California Seismic Network (SCSN) software development team. SCSN is the earthquake monitoring network responsible for the Southern California region. The successful candidate will contribute towards the redesign and modernization of widely used seismic analysis software, by transforming it to a service-oriented architecture that can be run in hybrid environments. It is an exciting opportunity to be part of a major seismic network that contributes to public safety and cutting-edge seismology. 

This is a full-time 12-month position. It will be based at the Seismological Lab at Caltech. The successful candidate will work closely with the SCSN research team at Caltech.

This is an Essential Reporting position. In the event of an emergency on campus, an employee designated as essential reporting has essential job skills that are needed for response and recovery and is expected to report to Campus as soon as possible.

Essential Job Duties

This position requires the expertise to carry out the technical responsibilities to create a software testing framework and write software test suites for seismic processing software. Tasks include:

  • Create software testing framework that can be run manually or automatically.
  • Write software tests.
  • Enhance CI/CD pipelines.
  • Implement and modify data quality assessment metrics from existing code.
  • Ensure test procedures developed are tested, documented, and regularly checked into code repository.
  • Other duties as assigned.

Basic Qualifications

  • B.S. or B.A. degree in computer science or equivalent work experience, or M.S. in seismology, civil engineering, or physical science discipline. 
  • Java, Python, and C++ experience.
  • Linux and shell-based scripting experience.
  • Git/GitLab/GitHub and CI/CD pipelines experience.
  • Ability to work well in a highly collaborative, team environment.
  • Good communication skills, including clear documentation.

Preferred Qualifications

  • Software engineering experience within the environment of a major operational scientific facility is not required but is a plus.
  • Software documentation generators (mkdocs, doxygen, etc.).
  • Database stored procedural languages (pl/pgsql, plsql).
  • Containerization (i.e., Docker).
  • AWS or other similar cloud platforms.
  • Domain knowledge of seismology.

Required Documents

  • Resume

Similar Positions