Software Engineer II AI/ML

What You Will Do:

Collaborate with colleagues and the Unidata community to reduce the 'time to machine learning', through the development of conventions and best practices, as well as identifying improvements to existing Unidata software. By actively working with our community to determine how they are harnessing Artificial Intelligence/Machine Learning (AI/ML) approaches to data analysis, a convention for storing data/metadata in an AI/ML ready/friendly way can be developed. In addition with this effort, existing tools such as the MetPy and Siphon python libraries and the netCDF libraries will be evaluated for fitness, in the context of AI/ML applications. Work will be done to identify and implement improvements, to allow for smoother integration into a modern AI/ML pipeline.

Unidata supports the earth science research and education community with data and software tools. Unidata software products are used widely in the climate and other earth sciences. Unidata's small team environment affords opportunities to work with high levels of autonomy, excel individually, and contribute to the team's success.


Software Design & Development

  • Collaborate with internal and external developers to determine what changes will better enable extant Unidata software tools to work within an AI/ML framework. These changes may include adoption of cloud-based services such as serverless technology, and newer data storage technologies, such as Amazon S3/object storage

Convention Design & Development

  • Facilitate, with active community engagement, the creation of standards for storing and organizing model data and metadata in a way which lends itself to AI/ML applications
  • Creating/proposing a convention for storing and organizing model data and model metadata, with an eye towards standardization. This work will be done with input actively solicited from the broader Unidata community
  • Communication the current state of the Unidata AI/ML efforts to our community, in the form of blog posts, white papers, and community events (online for the foreseeable future)
  • Provide support to the community through open, frequent communication regarding the status of Unidata's AI/ML efforts
  • Solicit feedback and input from the community to help guide said efforts


  • Participate in technical advisory committees; prepare progress reports and presentations for Unidata management
  • Foster interactions with user community and other Unidata staff in an effort to anticipate and estimate current and future data and software needs
  • Participate in virtual scientific meetings through attendance, abstract submission, and presentations
  • Contribute to funding proposals on an as-the-opportunity-arises basis

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

  • Innovative and self-motivated learner
  • Experience performing independent literature review
  • Demonstrated skill with Python
  • Demonstrated experience with modern AI/ML concepts such as Convolution Neural Networks, Pattern Recognition algorithms, as well as more generalized concepts such as supervised and unsupervised learning models
  • Experience with extant "off the shelf" AI/ML toolkits and software packages
  • Experience with cloud based storage (e.g. Amazon S3, etc)
  • The ability to communicate in a professional and courteous manner
  • The ability to collect, collate, summarize and present community feedback
  • The ability to identify and learn new skills, tools, and concepts


  • Experience working with one or more of the following: C, C++, Fortran or Java
  • Experience with open-source software projects and development tools, such as test-driven development, and GitHub
  • Ability to work in a team environment in a variety of roles, including developer, community engagement, and user support
  • Strong ability to communicate effectively with experts across a variety of scientific domains
  • Experience designing and presenting educational materials (to be used as part of a parallel online training effort at Unidata)
  • Experience contributing to the proposal process as part of a team
  • Familiarity with the netCDF software and data model
  • Familiarity with the Climate and Forecast (CF) Metadata Conventions

Applicant Notes:

  • A cover letter is required.
  • 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.
  • 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).
  • Please note that while the position description details both minimum requirements as well as desired skills and experience, we want to remind applicants that you do not need to have all the desired skills and experience to be considered for this role. If you have the passion for the work along with experience in a related field, you are encouraged to apply. We can provide on-the-job training for the rest.

posted: 27 October 2020   Please mention EARTHWORKS when responding to this advertisement.