SCEC CSEP Software Engineer (Research Programmer II)

The Southern California Earthquake Center (SCEC) is seeking a software engineer to manage the Collaboratory for the Study of Earthquake Predictability.

CSEP is an international collaboration for the prospective, automated and independent evaluation of earthquake forecasts. CSEP is supported by the SCEC with funding from the U.S. Geological Survey and the W. M. Keck Foundation. CSEP is a key component of the SCEC cyberinfrastructure that will be critical to Phase 5 of the Center’s research program (SCEC5). Headquartered at the University of Southern California (USC), SCEC is comprised of more than 600 scientists from over 60 U.S. institutions performing advanced research in fault-system dynamics, earthquake physics, seismic wave propagation, and seismic hazard analysis. 

  • Managing CSEP operations for the retrospective and prospective testing of earthquake forecasting models against earthquake data.
  • Interacting with CSEP participants to develop software modules that implement new forecasting and testing methods, such as ensemble forecasts and non-Poisson time dependence.
  • Developing and releasing verified CSEP software updates on a quarterly schedule.
  • Improving the capabilities of the CSEP website to assist users in submitting models for testing, conducting tests, and understanding the testing results.
  • Assisting SCEC management in preparing CSEP reports and proposals.

The selected research software developer:

  • Will have a strong aptitude in science and firm understanding of the scientific method to facilitate collaboration with scientists and engineers.
  • Will be able to collaborate effectively with scientists involved in research, helping them design and implement complex systems and applications that make use of parallel scientific software, high performance computing, high throughput computing.
  • Will have a broad range of software skills including knowledge of distributed computing technologies, scientific software design and tuning, scientific workflow tools, data management technologies, relational database programming, and complex systems debugging. In particular, he or she will have a strong background in object-oriented programming and Python programming, as well as experience with several other computing languages (including C, C++, FORTRAN, R, and Matlab).
  • Will be able to develop software that runs efficiently on local Linux servers, on USC Center for High Performance Computing clusters, and potentially on supercomputers operated by the National Science Foundation, and the Department of Energy.
  • Will collaborate with SCEC researchers on earthquake forecasting research projects involving one or more highly specialized phases of scientific programming that may require designing, coding and/or modifying complex scientific programs.
  • Will have demonstrated competency in statistics and statistical techniques, and can evaluate results of statistical analyses and simulation studies in order to troubleshoot system operations and discuss system outputs with team members.
  • Will have knowledge of system administration and software configuration of Linux and Mac operating systems including security monitoring, data transfer optimization, job submission management, resource monitoring, and data storage and management.
  • Will be able to use software engineering tools such as scripting languages, software version control tools and Integrated Development Environments.
  • Will solve highly technical or obscure/concealed problems occurring anywhere in a complex software stack system.
  • Will be highly flexible and versatile with the ability to work independently with minimal direction and have excellent verbal and written communications skills in order to coordinate with researchers and computer scientists.
  • Will be effective in evaluating assignments and estimating accurately the difficulty level and time required for completion.
  • Will complete and implement solutions that meet customer requirements, and demonstrate a sense of urgency, drive and energy while pursuing his/her work.

If you are an experienced, highly motivated, professional software developer with up-to-date skills, this is an opportunity to work on challenging and important scientific research computing projects related to earthquake hazards. This is a full-time USC staff position with excellent University benefits. Salary is competitive and commensurate with experience.

Apply at

Performs other related duties as assigned or requested.

Minimum Education

Master’s degree

Combined experience/education as substitute for minimum education
Minimum Experience

3 years

Combined education/experience as substitute for minimum experience
Minimum Field of Expertise

Relevant work experience to provide strong technical knowledge of programming and analysis as well as senior or lead experience. Demonstrated ability to stand in for researchers as circumstances require. Demonstrated creativity and innovation in solving conceptual programming problems.
Preferred Experience

5 years
USC is an equal-opportunity educator and employer, proudly pluralistic and firmly committed to providing equal opportunity for outstanding persons of every race, gender, creed and background. The University particularly encourages women, members of underrepresented groups, veterans and individuals with disabilities to apply. USC will make reasonable accommodations for qualified individuals with known disabilities unless doing so would result in an undue hardship.