The Software Engineer shall be responsible for performing characterization and performance tuning of various software solutions for multiple HPC node types. The Software Engineer shall collaborate with HPC SMEs, mission customers, and other stakeholders to understand their computational needs and develop efficient software solutions to meet those requirements. This position involves working with parallel computing frameworks, optimizing algorithms for parallel execution, and ensuring scalability and performance of software applications on HPC clusters.
Requirements
- Experience using the Linux CLI
- Proficiency in scripting (Bash/Python) to automate tasks and processes
- General HPC technical knowledge regarding compute, network, memory, and storage components
- Experience developing software applications and libraries with programming languages such as C, C++, and Python in a Linux environment
- Has experience with modern build system frameworks, such as CMake
- Experience optimizing code performance through parallelization, vectorization, and other optimization techniques
- Experience with containerization technologies such as Docker, PodMan, containerd
Responsibilities
- performing characterization and performance tuning of various software solutions for multiple HPC node types
- collaborate with HPC SMEs, mission customers, and other stakeholders to understand their computational needs and develop efficient software solutions to meet those requirements
- working with parallel computing frameworks
- optimizing algorithms for parallel execution
- ensuring scalability and performance of software applications on HPC clusters
- Experience documenting software design, implementation, and performance optimizations
- Experience troubleshooting and debugging performance issues in HPC applications
Other
- Master’s degree in computer science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
- Bachelor’s degree in computer science or related discipline from an accredited college or university, plus seven (7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity
- Nine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
- Active TS/SCI with an appropriate polygraph is required to be considered for this role
- Familiar with Agile software development principles, methodologies, and best practices