Reflexive Concepts is seeking a skilled Software Engineer III!
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.
Qualifications:
- Active TS/SCI + FS Polygraph
- 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 OR
- 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 OR
- Nine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
Required Skills + Experience:
- 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 documenting software design, implementation, and performance optimizations
- Experience troubleshooting and debugging performance issues in HPC applications
- Experience performing HPC benchmarking testing
- Experience with containerization technologies such as Docker, PodMan, containerd
- Experience with automation frameworks including Ansible for orchestrating deployment
- Experience with CI/CD principles, methodologies, and tools such as GitLab CI and Jenkins
- Experience with Git Source Control System
Desired Skills + Experience:
- Experience with HPC open source parallel computing frameworks such as OpenSHMEM, pthreads, OpenMP, MPI, and UPC
- Experience with CUDA and/or OpenCL frameworks to develop software for GPUs
- Experience with the Atlassian Tool Suite (JIRA, Confluence)
- Familiar with Agile software development principles, methodologies, and best practices