THREDDS Developer - Software Engineer II

Application Deadline: This position will be posted until May 12, 2020 or until position is filled.
Relocation: Relocation assistance is available for this position.
Work Authorization: UCAR/NCAR will not sponsor a work visa (e.g., J-1, H1-B, etc.) for this position. U.S. Citizenship, Permanent Residency, or other protected status under 8 U.S.C. 1324b(a)(3) is required for this position.

Where You Will Work:

The University Corporation for Atmospheric Research (UCAR) manages the National Center for Atmospheric Research (NCAR) and various UCAR Community Programs (UCP) Ė all in service of advancing knowledge, providing community-based resources, and building human capacity in atmospheric and related sciences.

Unidata is a diverse community of education and research institutions with the common goal of sharing geoscience data and the tools to access and visualize that data. For more than 30 years, Unidata has been providing data, software tools, and support to enhance Earth-system education and research. Funded primarily by the National Science Foundation (NSF), Unidata is one of the University Corporation for Atmospheric Research (UCAR)'s Community Programs (UCP).

What You Will Do: Unidata is a diverse community of education and research institutions with the common goal of sharing geoscience data and the tools to access and visualize that data. For more than 30 years, the Unidata Program Center (UPC) has been providing data, software tools, and support to enhance Earth-system education and research. As a software engineer, you will play a vital role in serving the community in those areas, and across all practical levels ó support, documentation, development, and training. Unidata's small team environment provides for high levels of autonomy and responsibility with great opportunity to excel individually and contribute to the community's success.

For this position, we seek a Java developer to join our open source efforts as related to the suite of Thematic Real-time Environmental Distributed Data Services (THREDDS) projects that are Java based. Specifically,

  • netCDF-Java: The netCDF-Java library implements a Common Data Model (CDM) in a layered architecture that provides a pure Java framework for reading and enhancing a multitude of scientific and operational data formats, and provides aggregation capabilities to create virtual datasets.
  • THREDDS Data Server: A Spring-based web service built on-top of netCDF-Java that provides catalog, metadata, and data access services for scientific and operational data through a RESTful API. In addition to a demonstration TDS that Unidata hosts for our community, the TDS is in use at over 150 publically accessible sites by organizations spanning academic, government, non-profit, and private sectors around the globe.
  • Rosetta: A Spring-based web service that provides data format translation services in an effort to ease the burden of preparing text based scientific data into archive ready, metadata rich, machine readable files. Rosetta heavily leverages netCDF-Java.

Funded primarily by the National Science Foundation (NSF), Unidata is one of the University Corporation for Atmospheric Research (UCAR)'s Community Programs (UCP).

Responsibilities:

Software Design and Development:

  • Collaborate with other internal and external developers to test, maintain, and develop the Java based projects of THREDDS (netCDF-Java, TDS, and Rosetta).
  • Refactor legacy code to improve test coverage and maintainability across the suite of Java based THREDDS projects.
  • Contribute to user documentation efforts.
  • Work with end-users and other Unidata developers to gather and document community needs.
  • Investigate new technologies, especially those related to cloud native architectures.

User Support:

  • Provide user support to technical and non-technical community members, both as users of and contributors to the THREDDS software projects.
  • Diagnose, fix, and test solutions to issues encountered by our users, including situations where system access is limited.
  • Contribute to training efforts, and investigate new, innovative methods for providing asynchronous training opportunities.

Miscellaneous:

  • Provide input on progress reports and presentations for the Unidata advisory committees.
  • Foster interactions with our user community and other Unidata staff in an effort to anticipate and estimate current and future data and software needs.
  • Participate and present at scientific meetings to keep up-to-speed on community needs and to communicate directly with our stakeholders.

What You Need:

Education and Years of Experience:

Bachelorís degree in atmospheric or related sciences, mathematics or computer science with progressive, relevant experience which is typically gained by four to eight years of experience with scientific applications and scientific data services or equivalent combination of education and experience. (Masterís degree and no experience is accepted in lieu of a bachelorís degree and above experience.)

Knowledge, Skills, and Abilities:

Required:

  • Demonstrated skill with Java.
  • Demonstrated use of git and GitHub (or other hosted Git repository service).
  • Ability to work in a small team environment in various roles with high levels of autonomy.
  • Ability to organize and communicate technical material to other developers and end-users.
  • Strong desire to continue learning new skills, tools, and concepts.

Desired but not required:

  • Experience using and/or customizing maven or gradle build configurations.
  • Experience with consuming or producing geoscience data formats (e.g. netCDF, HDF, GRIB, BUFR, GeoTIFF).
  • Experience with one or more cloud computing technology stacks (e.g. AWS, OpenStack, Google Cloud Platform, Microsoft Azure).
  • Experience with developing or using remote data access protocols (e.g. DAP, WMS, WCS)
  • Experience developing RESTful web services using the Spring framework.
  • Experience providing support to a scientific community

Applicant Notes:

  • A pre-employment screening is conducted in conjunction with an offer for employment. This screening may involve verifying or reviewing any of the following relevant information: restricted parties screening, employment verification, performance records of internal candidates, education verification, reference checks, verification of professional licenses, certifications, and Motor Vehicle Records. UCAR complies with the Fair Credit Reporting Act (FCRA).
  • Diversity Statement: An Inclusion Statement will be required for all applicants advancing to an in-person interview. If requested, this statement should address past efforts, as well as future vision and plans to advocate for and advance diversity, equity, and inclusion in the organization and/or field of work.

The University Corporation for Atmospheric Research (UCAR) is an equal opportunity/equal access/affirmative action employer that strives to develop and maintain a diverse workforce. UCAR is committed to providing equal opportunity for all employees and applicants for employment and does not discriminate on the basis of race, age, creed, color, religion, national origin or ancestry, sex, gender, disability, veteran status, genetic information, sexual orientation, gender identity or expression, or pregnancy.

Whatever your intersection of identities, you are welcome at the University Corporation for Atmospheric Research (UCAR). We are committed to inclusivity and promoting an equitable environment that values and respects the uniqueness of all members of our organization.

posted: 22 April 2020 ††††Please mention EARTHWORKS when responding to this advertisement.