Design, develop, and maintain high-performance parallel and distributed software systems
Optimize applications for performance across CPU, GPU, memory, storage, and network layers
Implement scalable algorithms for large-scale HPC environments
Develop automation scripts to streamline system operations and development workflows
Install, configure, and support COTS, GOTS, and FOSS software packages and libraries in Linux environments
Analyze and optimize application performance using advanced HPC techniques
Provide technical leadership and mentorship on parallel computing strategies and HPC best practices
Communicate complex HPC concepts and solutions to both technical and non-technical stakeholders
Requirements
Active TS/SCI w/ Polygraph
Master’s degree in Computer Science or related field + 5 years of relevant experience or Bachelor’s degree in Computer Science or related field + 7 years of relevant experience
9 years of relevant Software Engineering experience
Experience working with Linux CLI and Linux-based tools
Experience developing Bash scripts to automate processes
Recent software development experience with 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 optimization
Experience implementing and maintaining parallel and distributed algorithms optimized for performance and scalability
Subject matter expertise in parallel computing strategies and statistical modeling
Experience installing, configuring, optimizing, and supporting COTS/GOTS/FOSS software and libraries in Linux environments
Strong problem-solving, collaboration, and communication skills