Reflexive Concepts is seeking a skilled HPC Software Engineer III to join our growing team!
Specifically, we are looking for a Software Engineer with deep expertise in parallel programming, performance optimization, Linux systems, and large-scale HPC architecture. The HPC Software Engineer will serve as a technical leader, driving innovation and architectural decisions while mentoring engineers in advanced HPC methodologies.
Qualifications:
- Master's degree in Mathematics, Computer Engineering, Computer Science, or a related discipline from an accredited college or university, plus five (5) years of experience as an HPC Software Engineer in programs and contracts of similar scope, type, and complexity
- Bachelor's degree in Mathematics, Computer Engineering, Computer Science, or a related discipline from an accredited college or university, plus seven (7) years of experience as an HPC Software Engineer in programs and contracts of similar scope, type, and complexity
- Nine (9) years of experience as an HPC Software Engineer in programs and contracts of similar scope, type, and complexity may be substituted for a degree
Key Responsibilities:
- Design, develop, and optimize scalable parallel and distributed systems for high-performance computing environments
- Implement and maintain parallel and distributed algorithms optimized for scalability and performance across HPC components including CPU, GPU, memory, storage, and network layers
- Serve as subject matter expert for parallel computing strategies and statistical modeling
- Drive architectural decisions and mentor engineers in advanced HPC methodologies
- Install, configure, optimize, and support COTS/GOTS/FOSS software, libraries, and packages in a Linux environment
- Clearly communicate complex HPC concepts and architectural designs to non-specialist stakeholders and leadership
Required Skills:
- Strong Linux experience, including proficiency with the Linux CLI and Linux-based tooling
- Experience developing Bash scripts to automate manual processes
- Recent software development experience using C/C++ and Python
- Strong experience with parallel programming models such as MPI, OpenMP, and CUDA
- Deep understanding of multi-threading and concurrency, memory hierarchy and cache optimization, NUMA architectures, vectorization, and SIMD
- Experience with Git source control
Desired Skills:
- Experience with SQL technologies such as MySQL, MariaDB, and PostgreSQL
- Experience with distributed big data processing engines such as Apache Spark
- Experience with HPC schedulers such as Slurm
- Experience with containerization technologies such as Docker, containerd, and Podman
- Experience with the Atlassian Tool Suite (JIRA, Confluence)