Linux Software Engineer
Role details
Job location
Tech stack
Job description
- Support HPC user workflows for modeling, simulation, and GUI-driven environments
- Develop, debug, and enhance scientific and technical software in Linux environments
- Assist users with modeling/simulation applications across heterogeneous, multi-platform systems
- Troubleshoot Linux system issues and resolve end-user technical problems in an R&D lab environment
- Maintain and improve existing code bases, ensuring performance, scalability, and reliability
- Apply software development best practices, including coding standards, unit testing, and configuration management
- Support distributed, scalable applications running within HPC environments
- Mentor junior engineers and provide technical guidance
- Develop and deliver training workshops, onboarding sessions, and tutorials for HPC users
- Collaborate closely with scientists, engineers, and system staff to improve HPC user experience and workflow efficiency
Requirements
-
Bachelor's degree in a STEM discipline
-
Minimum 10 years of professional engineering or software development experience
-
Approximately 5 years of experience with modeling and simulation software in heterogeneous, multi-platform environments
-
Experience supporting HPC workflows and users in R&D environments
-
Proficiency with Fortran, C, and/or C++
-
Strong scripting skills with BASH and Korn
-
Linux OS proficiency, including troubleshooting and resolving end-user or system-level issues
-
Experience with software engineering standards, unit testing, and configuration management tools
-
Background in requirements analysis, design, documentation, and testing of Linux-based distributed applications
-
Ability to analyze, debug, and maintain complex code bases
-
Experience mentoring junior engineers or scientists
-
Experience designing or teaching technical training for HPC users
-
Strong communication skills, teamwork, and problem-solving ability Preferred Qualifications:
-
Experience supporting HPC in government, DoD, or national laboratory environments
-
Experience with performance optimization of scientific applications
-
Familiarity with large-scale modeling and simulation ecosystems
-
Experience working directly with researchers or scientific end-users