HPC Software Engineer 3- Research Computing
Role details
Job location
Tech stack
Job description
Research Computing advances scientific discovery by providing researchers computational tools to accelerate their research outcomes. We support computationally enabled science by providing researchers access to computational building blocks (e.g., HPC, Machine Learning environments, Data Management Tools etc.). We also provide services, expertise, and support to researchers to optimize their use of our capabilities (e.g., HPC & Machine Learning Consulting, and machine Learning workflow management, etc.), all while fostering a culture of computing through interdisciplinary collaboration and access to computational resources.
We are seeking an HPC Software engineer to join project teams building HPC and AI/ML solutions to support a broad variety of scientific domains.
The scope of work will be diverse and will include joining existing project teams across the research directorates, engaging and understanding their domain and project needs. Then designing, building, and implementing applications and pipelines to support their various needs.
The work will also include implementing broadly applicable operational solutions to support ranges of projects and domains. This may include pipelines, automation, containerization, and various technologies and platforms.
An element of the work will also be joining existing research efforts and developing software and algorithms to support the project research focus. Additionally, this will include helping domain scientists leverage various ML techniques.
You must understand and have experience in a mix of technologies such as, Python, C, PyTorch, and OpenMPI. Experience with HPC system engineering is required. For aspects of the work, experience and interest in Machine Learning workflows, and large language models will be an advantage. In addition, it would be advantageous to have experience in other scientific or engineering domains and mathematics.
Initially, you will join existing project teams, and as such, you will be expected to operate within specific guidelines and coding standards. As a level 3, you will be increasingly responsible for building your own opportunities within PNNL, leading other team members in developing technical solutions, and developing opportunities for other staff to follow. Additionally, you are expected to mentor others and lead tasks on projects.
Requirements
- PhD and 1 year of Software Engineering experience -OR-
- MS/MA and 3 years of Software Engineering experience -OR-
- BS/BA and 5 years of Software Engineering experience -OR
- AA and 14 years of Software Engineering experience in designing, architecting, programming, deploying, and automating software solutions in support of scientific research or consumer digital product development -OR-
- HS/GED and 16 years of Software Engineering experience in designing, architecting, programming, deploying, and automating software solutions in support of scientific research or consumer digital product development, * Experience with HPC software builders, such as Spack.
- Knowledge of and experience supporting Slurm.
- Experience participating in working with scientists and engineers of various scientific domains and being able to bridge between the various domains and computer and data science.
- Experience working with project teams, especially including domain scientists, understanding scientific realms, and applying computer science and mathematical principles in support of the scientific mission of the project.
- Experience with building large language models to support research.
Hazardous Working Conditions/Environment
Benefits & conditions
PNNL lists the full pay range for the position in the job posting. Starting pay is calculated from the minimum of the pay range and actual placement in the range is determined based on an individual's relevant job-related skills, qualifications, and experience. This approach is applicable to all positions, with the exception of positions governed by collective bargaining agreements and certain limited-term positions which have specific pay rules.
As part of our commitment to fair compensation practices, we do not ask for or consider current or past salaries in making compensation offers at hire. Instead, our compensation offers are determined by the specific requirements of the position, prevailing market trends, applicable collective bargaining agreements, pay equity for the position type, and individual qualifications and skills relevant to the performance of the position.
Minimum Salary
USD $133,100.00/Yr.
Maximum Salary
USD $210,400.00/Yr.