Software Engineer – NCAR
Software Engineer I (Data Analytics)
This is a full-time, 2-year term position with possibility of extension. This position will be posted until 4 pm on June 13, 2018 or until a sufficient number of applications have been received. Thereafter, applications will be reviewed on an as-needed basis.
No relocation package is offered for this position.
UCAR/NCAR will sponsor a work visa to fill this position.
Where You Will Work
Located in Boulder, Colorado, the National Center for Atmospheric Research (NCAR) is one of the world’s premier scientific institutions, with an internationally recognized staff and research program dedicated to advancing knowledge, providing community-based resources, and building human capacity in the atmospheric and related sciences.
What You Will Do
The Pangeo project (https://www.earthcube.org/group/pangeo-open-source-big-data-climate-science-platform) is a National Science Foundation (NSF) funded effort to develop a scalable solution for analyzing extremely large Atmosphere / Ocean / Land / Climate (AOLC) datasets on high-performance computing (HPC) and commercial cloud environments (e.g., Amazon EC2, Google Cloud Platform, Microsoft Azure, etc.). The Pangeo platform is built around three Open Source projects: Dask, Xarray, and Jupyter. It is developed by an international Open Source development community that collaborates and communicates via Github.
The role of this position is to assist with the development of the Pangeo platform core technology, help with deployment of the Pangeo platform on local NCAR machines or where ever NCAR data presides, and assist with the development of packages built on top of the core Pangeo tools that aid the AOLC community that NCAR supports. This position will also assess and assist with performance measurements, benchmarking, and optimization efforts to aid the AOLC community using the Pangeo platform.
Software Engineering Responsibilities:
- Assists with the development, implementation, and maintenance of software contributions to Open Source packages used by the Pangeo community as they pertain to NCAR systems or data
- Works in collaboration with local and international Pangeo community members via Github in a vibrant Open Source development community,
- Assists with the development and maintenance of Pangeo installations and deployments on local HPC systems or commercial cloud that access NCAR resources,
- Assists with the development of Pangeo documentation, including user guides, reference manuals, tutorials, installation guides for Pangeo technology on NCAR systems or commercial cloud that access NCAR resources, and
- Continually advances own knowledge of relevant emerging tools and technologies in the field.
Software Support Responsibilities:
- Debugging and maintaining software including Python and shell scripts.
- Use of the Git version control system.
- Online and in-person collaboration using technology like Github, including responding to user issues and requests.
- Work on both local HPC systems and in commercial cloud deployments.
What You Need
- Bachelor’s degree in a computer-related field (Computer Science, Mathematics, Computer Engineering, Information Sciences, Software Engineering, or equivalent), or an equivalent combination of education and relevant experience (e.g., an associate’s degree and three to four years of experience).
- Knowledge of object-oriented programming in Python.
- Knowledge of industry best practices, including revision control, testing, requirements analysis, software design, prototyping, integration, and documentation.
- Knowledge of parallel programming techniques including multithreading and multiprocessing (local or distributed).
- Skill applying the basic software development process to computing applications and/or programming problems.
- Skill in using standard OS tools for writing, building, and deploying software.
- Basic skill in analyzing existing code, some proficiency with development tools, and the ability to debug software components.
- Good written and oral communication skills and the ability to communicate technical concepts to others.
- Ability to organize technical materials related to development effort.
- Willingness and ability to infrequently travel domestically.
- Experience with the Pangeo platform Python stack (Xarray, Dask, Jupyter Notebook/Lab/Hub).
- Experience working with geoscientific data (e.g., NetCDF, GRIB).
- Experience with cloud computing environments (e.g., Kubernetes, Helm, Atmosphere).
- Experience with high-performance computing (HPC) environments.
- Experience with commercial data analytics tools such as Spark or Hadoop/MapReduce.
- Experience with Git and/or Github.
- Experience with markup languages (e.g., markdown or reStructuredText).
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.