Programmer/Applications Development

California, United States
24 Apr 2019
End of advertisement period
24 Jun 2019
Contract Type
Full Time

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

The Caltech Seismo Lab seeks a programmer to write new C++, Java, and Python code, including using messaging software and database software, to facilitate automated data analytics for real-time earthquake early warning (EEW). Involved in entire life-cycle of EEW earthquake monitoring software, including planning, development of code and data analytics, deployment and maintenance. We seek applicants who like to apply their computer programming abilities, and skills in data analytics to develop and implement new software technologies for innovative real-time streaming data processing.

Job Duties

  • Will design, develop, and implement software applications in C++, Java, Python or other scripting languages. Works with research team to understand the needs of the project, translate needs into requirements, develop prototype data analytics and applications, iterate with collaborators, and then deliver quality applications to operations team. Software development will focus on proto-type implementation of ultra-rapid earthquake source identification and distribution of alerts, or earthquake early warning
  • Works independently on important assignments and projects with only limited supervision, typically receiving only general instructions. Exercises discretion and independent judgment to compare and evaluate various methods, approaches, and resources and decide which will best accomplish each aspect of such assignments and projects. Responsible for completing significant project or assignment milestones.
  • Performs all other duties as assigned, including varied technical assignments requiring the use of standard scientific principles, techniques, and process.

Basic Qualifications

  • BS or higher degree in computer/information science, physical science, or math is required
  • Must have computer skills such as extensive experience in structured and object-oriented high level programming (C++, C, or Java), and be an expert in UNIX/LINUX, command-line scripting such as Python
  • Must have some experience with data analytics or applying statistics to data analysis, and be familiar with messaging software such as ActiveMQ, or interfacing software to databases. The project is highly collaborative and requires proficiency in using source code management tools (Git/GitHub/GitLab), writing comprehensive source code documentation at various levels and providing source code tests at unit and integration level
  • High level of initiative is required. Proactive, self-starter with excellent interpersonal and presentation skills, and must be able to work with a team.
  • Excellent attention to fine details, writing, and communication skills are required

Preferred Qualifications

  • BS or higher degree in computer science with 2 or more years related experience preferred
  • Extensive knowledge of applicable industry and/or academic practices and standards in the handling of scientific data
  • Experience in analysis of earthquake or other geophysical data

Required Documents

  • Resume