Research Fellow (Science Support Software Engineer)

Employer
UMass Amherst Civil & Environmental Engineering Department
Location
Amherst, Massachusetts
Closing date
Jul 7, 2022

View more

Discipline
Earth and Space Science Informatics, Hydrology, Interdisciplinary/Other
Career Level
Student / Graduate
Education Level
Masters
Job Type
Full-time
Relocation Cost
No Relocation
Sector Type
Academia

About UMass Amherst

UMass Amherst, the Commonwealth's flagship campus, is a nationally ranked public research university offering a full range of undergraduate, graduate and professional degrees. The University sits on nearly 1,450-acres in the scenic Pioneer Valley of Western Massachusetts, and offers a rich cultural environment in a bucolic setting close to major urban centers. In addition, the University is part of the Five Colleges (including Amherst College, Hampshire College, Mount Holyoke College, and Smith College), which adds to the intellectual energy of the region.

Job Summary

The science support software engineer will implement, maintain, and expand an existing cloud-based, open-source software system capable of meeting NASA’s requirements for the SWOT satellite (Confluence). Working with hydrologists at UMass and in the broader SWOT research community, the software engineer will also optimize existing science software. This position has concrete deliverables, an expectation of full-time work on the problem at hand, and calls for a commitment to open-source science.  

The science support software engineer will work closely with supervisor Dr. Colin Gleason at UMass, who is responsible for overseeing the development of the software. Additionally, the science support software engineer will work closely with other NASA funded scientists to develop different parts of the software system. 

Essential Functions

Expected tasks/work products include: 

  • Integration of additional science code to Confluence (Dockerize, document, optimize, ingest into Confluence).
  • Running experiments to verify each component of Confluence.
  • Optimization of existing science code.
  • Optimization of the cloud data storage/workflow.
  • Presentation of Confluence/it’s components at international meetings of scientists.
  • Accurately communicating Confluence’s performance, costs, and runtimes.
  • Organizing and hosting regular meetings with multiple project partners from around the world.
  • Learning the basics of each piece of hydrology code to better communicate with scientists.
  • Working with AWS to implement Confluence.

Project Background

NASA, together with the space agencies of France, the UK, and Canada, is launching the Surface Water and Ocean Topography (SWOT) satellite to provide transformational data to the ocean science and hydrology communities. This satellite should completely transform our understanding of global rivers, lakes, reservoirs, and ultimately climate change, and scientists have prepared workflows for this satellite that should change the face of our understanding of the Earth. However, these satellite data present a challenge to hydrologists: how do we take decades of hydrology software built for small datasets and merge it with satellite data approaching petabytes, ensure repeatability and interoperability, and make it public, all in the cloud? Scientists are not trained in these aspects of our work at these global big-data scales. Software engineers are therefore essential to ensure science needs, NASA requirements, and science code can work together to deliver mission requirements. 

Therefore, over the past year and a half, our team has built an efficient, open source, and comprehensive software for SWOT named Confluence. Confluence is fully dockerized and implemented in AWS, and represents a well documented software system that interfaces with NASA servers, AWS, science code, and other external data sources. We have also developed a flexible database that meets the needs of our user community to host the outputs of the system in AWS’ S3 system. SWOT will launch in November 2022, so what remains is to unit test our system, build additional functionality to improve user services, and ensure that it is ready for launch. 

Minimum Qualifications

  • Bachelor’s degree and two+ years of software engineering experience.
  • A Master’s degree in computer science, engineering, or hydrology may be substituted in lieu of experience if graduate coursework included software engineering. 
  • The following technical skills are required:
  • Experience with AWS or demonstrated work in managed cloud compute services.
  • Experience with containerizing and deploying backend services (using Docker and Kubernetes).
  • Experience maintaining and interacting with relational and time-series databases (e.g., PostgreSQL/TimescaleDB).
  • Demonstrated interest in working with scientists.

Preferred Qualifications

  • Knowledge of hydrology. 

Additional Information

  • This is a one-year, term limited position.
  • Continuation of the position is contingent upon funding.

Salary Information

Commensurate with experience.

Application Instructions

Please include with your application a CV, cover letter, and contact information of three (3) professional references.  

UMass Amherst is committed to a policy of equal opportunity without regard to race, color, religion, gender, gender identity or expression, age, sexual orientation, national origin, ancestry, disability, military status, or genetic information in employment, admission to and participation in academic programs, activities, and services, and the selection of vendors who provide services or products to the University.  To fulfill that policy, UMass Amherst is further committed to a program of affirmative action to eliminate or mitigate artificial barriers and to increase opportunities for the recruitment and advancement of qualified minorities, women, persons with disabilities, and covered veterans.  It is the policy of the UMass Amherst to comply with the applicable federal and state statutes, rules, and regulations concerning equal opportunity and affirmative action.

Get job alerts

Create a job alert and receive personalized job recommendations straight to your inbox.

Create alert