Application Deadline: This position will be posted until April 23, 2021.Term: This is a two year term position with the possibility of extension.Relocation: Relocation assistance is available for this position.Work Authorization: UCAR/NCAR will sponsor a work visa to fill this position.Hiring Salary Range: $72,935 – $91,170Full Salary Range: $72,935 – $118,520Benefits: UCAR affirms its continuing commitment to developing, providing, and administering its employee benefit programs with due consideration for equal employment opportunity and diversity guidelines. 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.What You Will Do:The incumbent will be involved in the development, maintenance, testing, documentation, and enhancement of the new-generation community data assimilation systems. Work will focus on applying modern software engineering techniques such as Object-Oriented Programming and agile approach to the design and development of the new community data assimilation software for numerical weather prediction with the Model for Prediction Across Scales (MPAS) and the Joint Effort for Data assimilation Integration (JEDI). Responsibilities:Contribute to development and testing of a modular, new generation data assimilation system, focusing on MPAS applications. This may include profiling and improving the computational efficiency through the use of appropriate parallelization techniques, enhancing cmake-based build and test mechanism of data assimilation software, and contributing to the development of the workflow control suite in support of scientific research activities.Manage and maintain data assimilation software repositories in a distributed and collaborative code development environment, and interface the MPAS model to the JEDI framework in collaboration with other team members.Present work in national and international conferences and workshops. Contribute to community service efforts. May contribute to peer-reviewed publications as appropriate.What You Need:Education and Years of ExperienceBachelor’s degree in computer science, mathematics, engineering, or a field of physical science, plus four to eight years relevant experience; Or equivalent combination of education and experience.Knowledge, Skills, and AbilitiesThis position requires competency in fundamental concepts of physics, mathematics, and computer science. This position works closely with various members of a development group comprised of scientific and software engineering staff.Knowledge through previous experience or education – required:Knowledge of state-of-the-art software techniques related to the Object-Oriented Programming.Knowledge of software development methodologies: version control, testing, gathering and analysis of requirements, design, prototyping, integration, and documentation.Skills and Abilities – required:Skill in programming using at least one of C++, Fortran and pythonFamiliar with Unix/Linux operating systems, shell scripting, HPC job scheduler, and use of graphical softwareExperience in using different compilers (gnu, intel, pgi, and/or clang) and associated debugging and optimization toolsExcellent English oral and written communication skillsAbility to work well within a diverse and multidisciplinary teamDesire to actively promote good software development practicesBackground using physical science and mathematics to solve numerical problemsSkills and Abilities – desired:Knowledge on build and test mechanism (e.g., make, cmake, ctest)Experience in using or developing data assimilation softwareKnowledge and experience in parallel programing and using performance profiling toolsApplicant Notes: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.