HPC Software Engineer/Programmer II
HPC Software Engineer
The HPC Software Engineer will be an integral member of multiple research teams focused on cutting-edge computational astrophysics research. The HPC Software Engineer will work with researchers associated with the Department of Astrophysical Sciences to provide domain-centric computational expertise in algorithm development and selection, code development, and optimization to create efficient and scalable research code.
The ideal candidate will have a strong background in scientific programming, high performance computing, academic research, and an interest in computational Astrophysics.
This HPC Software Engineer will be one of a team of high performance computing software engineers, which will collectively provide computational research expertise to multiple divisions within the University.
The position requires one to work closely with colleagues in the Office of Information Technology (OIT) as well as with faculty, student/postdoctoral researchers, and technical staff in the Astrophysical Sciences department to enable and accelerate high performance computing efforts.
Port and tune existing research computing codes to new and emerging hardware.
Lead and co-lead the design and construction of increasingly complex research software systems.
Provide technical expertise and guidance for improving the performance and quality of existing astrophysics code bases.
Understand and address software engineering questions that arise in research planning.
Maintain knowledge of current and future software development tools and techniques, programming languages, and high-performance computing hardware.
Co-author scientific publications.
5 years of programming experience, particularly in the languages used in high-performance computing applications: C/C++, FORTRAN, and Python.
Parallel programming expertise with MPI and OpenMP on computational clusters and supercomputer platforms.
Experience tuning and optimizing scientific software
Demonstrated successes contributing to a collaborative research team
Ability to work independently.
Ability to learn new systems beyond area of core knowledge.
Ability to communicate effectively with a diverse user base having varied levels of technical proficiencies.
Academic research experience.
Experience with structured-mesh codes for CFD and/or particle-in-cell methods.
Experience programming and optimizing for many-core CPUs and GPUs.
Background in astrophysics, engineering, physics, or related field.
Bachelor’s degree, or equivalent experience in a related field. A Ph.D. in astrophysics, engineering, physics, or related field is preferred.