HPC Linux Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking an experienced Software Engineer to support a classified High-Performance Computing (HPC) research program focused on advanced modeling and simulation initiatives. This individual will work directly with technical users, scientists, engineers, and site personnel to support mission-critical software applications and computational workflows in a secure Linux-based environment. The selected candidate will contribute to the development, maintenance, troubleshooting, and optimization of scientific and simulation software operating across distributed and multi-platform compute architectures. Responsibilities include assisting end users with HPC workflows, improving application performance, resolving software/system issues, and supporting graphical user interfaces tied to simulation activities. This role also involves close collaboration with research personnel and technical leadership to ensure operational success within a fast-paced R&D setting. Primary Responsibilities
- Support and enhance modeling and simulation applications within an HPC infrastructure
- Analyze, debug, and maintain complex existing software solutions
- Develop and modify code using languages such as Fortran, C, and/or C++
- Create and maintain automation and support scripts using Linux shell scripting tools
- Assist researchers and technical users with execution, troubleshooting, and optimization of simulation workloads
- Participate in full software lifecycle activities including design, implementation, testing, documentation, and configuration management
- Work with scalable and distributed software systems in Linux environments
- Provide mentorship and technical guidance to junior engineering staff
- Conduct knowledge-sharing sessions, user training, and onboarding support for HPC users
- Collaborate closely with technical leadership, customers, and operational staff in a classified environment
Requirements
-
Bachelor's degree in a STEM-related discipline
-
Approximately 10+ years of professional software engineering experience
-
Several years supporting modeling/simulation software in complex computing environments
-
Hands-on experience with High Performance Computing systems and Linux platforms
-
Strong programming ability in Fortran, C, and/or C++
-
Experience with shell scripting, including Bash and Korn shell
-
Strong troubleshooting and debugging capabilities within large codebases
-
Familiarity with software engineering best practices including testing, coding standards, and version/configuration management
-
Experience supporting distributed or scalable applications
-
Ability to work independently while supporting users in a lab or research setting
-
Excellent communication, organization, and collaboration skills
-
Demonstrated ability to prioritize tasks and solve technical problems efficiently Preferred Traits
-
Experience supporting scientific computing or defense-related research programs
-
Ability to communicate effectively with both technical and non-technical users
-
Strong attention to detail and commitment to software reliability
-
Comfortable mentoring team members and reviewing technical work products