Location: Boulder, CO REMOTE/HYBRID Option available
Position Term: This position is a 2-year term with possibility of extension
Relocation: Partial relocation available upon request
Work Authorization: UCAR/NCAR will sponsor a work visa to fill this position
Level II Salary full-time FTE:
Hiring Range $75,123 - $93,905
Full Salary Range $75,123 - $122,076
Level III Salary full-time FTE:
Hiring Range $100,326 - $125,407
Full Salary Range $100,326 - $163,030
Benefits: UCAR's rich package of employee benefits includes medical, dental, vision, education assistance, retirement, and life insurance. UCAR offers a variety of programs designed to assist with work-life balance including flexible work alternatives, paid time off and 14 weeks of paid parental leave. To learn more about our benefits, visit this site: https://www.ucar.edu/opportunities/careers/benefits
Vaccination Requirement: All employees hired by UCAR must comply with UCAR’s Covid-19 Vaccination Policy and safety protocols.Where You Will Work:
NCAR’s Computational and Information Systems Laboratory (CISL) is a leader in supercomputing and data services necessary for the advancement of atmospheric and geospace science. CISL’s mission is to remain a leader at the forefront of ensuring that research universities, NCAR, and the larger atmospheric, oceanographic, and related research communities have access to the computational resources they need for their research. To fulfill the need for a stronger workforce at the intersection of High Performance Computing (HPC) and geoscience problems, CISL engages in education and outreach activities to inspire and attract a diverse future workforce.What You Will Do:
A successful candidate will have experience with software engineering industry best practices, including revision control, testing, requirements analysis, software design, prototyping, integration, deployment, and documentation.
You will be part of the the Software Applications and Gateway Engineering (SAGE) group in the Computational and Information Systems Laboratory (CISL).
This position supports the NCAR Geoscience Data Exchange (GDEX) and related scientific data management projects. The GDEX is a production-level scientific data system providing an archival repository for internal UCAR and external National Science Foundation (NSF) funded data providers, including observations of the Earth’s atmosphere produced by NSF-funded Community Instruments and Facilities (CIF).
The GDEX roadmap includes an expansion of scope to include: ability to handle larger and more complex datasets, ability to ingest heterogeneous data from external sources, format conversion or metadata creation to enable interoperability, and the ability to perform basic visualization of datasets. Depending on other funding sources and the skills of the incumbent, the position may also involve publishing datasets in the Amazon Web Services (AWS) Cloud along with Python-based analysis capabilities.
The Software Engineer collaborates as a member of an Agile software delivery team on the design, implementation, and support of scientific data systems. The position interacts with the GDEX team and other project stakeholders, including NCAR management, NSF grants and awards, and data providers from data management facilities, to identify functional requirements, design appropriate solutions, and implement them in software. Position contributes to the full software product lifecycle including: integrates technology within data information systems; works in multi-organizational collaborations; and interacts with users, scientists, and data providers to build user-centered products.Responsibilities:
What You Need:
- Software engineering: Works on the full-lifecycle development of Java based software systems for geoscience data ingest, management, discovery, access, and metadata. Contributes as a member of an Agile team to specify and implement system design, manage and document multi-component software codebases, and evaluate and identify technologies. Collaborates with team members, end users, and project stakeholders to design and develop solutions to complex problems. The team as a whole is responsible for prioritizing, developing, testing, presenting and delivering software components.
- Deployment and Operations: Executes a variety of tasks as needed in support of operating in-development and production-level systems (scientific data management portals, workflows and services). Tasks may include application configuration, applications deployment within on-site and public cloud environments, and management of system configuration and resources. Participates in running, debugging and monitoring software processes and systems. Seeks innovative solutions to seemingly routine tasks, develops processes, programs and scripts to automate operational procedures. Examines and evaluates current capabilities with a critical mind, in order to suggest new system design and workflows, streamline operations, and increase system performance and reliability.
- User support: Interacts with end users and technical experts to identify software requirements, priorities and technical direction. Supports technical and non-technical staff on the use of heterogeneous data systems and services. Interacts with the user community to solve problems, augment system functionality, and improve the user experience. Participates in writing documentation and training material for both internal and external audiences. Contributes to user-focused meetings and workshops.
Education and Years of Experience:
- Level II: Bachelor's degree in computer-related field and progressive relevant experience, which is typically gained by four to eight years of experience; or equivalent combination of education and experience.
- Level III: Bachelor's degree in computer-related field, extensive, and progressive relevant experience, which is typically gained by eight to twelve years of experience; or equivalent combination of education and experience.
Knowledge, Skills, and Abilities:
Required For Level II & III
Required In Addition For Level III
- Proficiency in the Java programming language.
- Experience developing dynamic, web based, software applications.
- Ability to work collaboratively as part of an agile team.
- Experience with software development processes including source code control, testing, prototyping, integration, deployment, and documentation.
- Knowledge of Object Oriented Design.
Desired, but not required:
- Expert skill in applying software analysis, design, and development methodologies.
- Experience developing software for more than one application domain.
- Ability to evaluate, interpret, and apply new technical knowledge.
- Knowledge of techniques for writing secure, resilient software.
- Ability to lead collaborative efforts with small to medium groups.
- Ability to represent the organization as an expert technical contact on software and related projects.
Additional Applicant Notes:
- Knowledge of the Java Spring Framework (including Hibernate, Spring Integration & Security)
- Knowledge of web front end toolkits such as Bootstrap and JQuery.
- Knowledge of deployment technologies (e.g. Virtual Machine, Cloud/Amazon AWS, Docker).
- Knowledge of computer system security (e.g. SSL, X.509 certificates).
- Knowledge of database and storage concepts and technologies (e.g. RDB, SQL, No-SQL, Solr)
- Knowledge of cloud computing applications, services, concepts, tools and technologies.
- The position requires some occasional travel to remote conferences and project meetings.