Johns Hopkins University

HPC Scientific Software Engineer (IT@JH Research Computing)

Johns Hopkins University$85K — $149K *
Baltimore, MD 21215Remote in Baltimore, MD
Information Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • Master's Degree in computer science or a closely related quantitative discipline.
  • 5 years of experience in HPC user support, software deployment, and performance optimization in an academic or research environment.
  • Hands-on experience with SLURM for job scheduling.
  • Proficient in Python, Perl, C/C++, and Shell scripting for automation and management.
  • Advanced knowledge of Linux systems and scripting languages like Python, Perl, and Shell.
  • Familiarity with tools for scientific application management including Containerization and CMake.

Responsibilities

  • Develop and implement strategies for software deployment on HPC and AI systems.
  • Design computational workflows, optimizing software configurations and using automation tools.
  • Analyze and optimize performance for AI models and HPC applications focused on GPU computing.
  • Collaborate with system teams and vendors to maintain and enhance software tools and frameworks.
  • Support the deployment of scientific software across HPC, cloud, and colocation facilities.
  • Mentor junior engineers and work across interdisciplinary research teams to solve HPC/AI challenges.
  • Provide troubleshooting support and training workshops for users on HPC systems.

Benefits

  • Comprehensive training workshops for career growth and continuous learning.
  • Opportunity to work on cutting-edge HPC and AI research.
  • Collaboration with diverse interdisciplinary research teams.
  • Access to advanced computing resources and technologies.
  • Remote work flexibility to maintain work-life balance.
Full Job Description
HPC Scientific Software Engineer to support faculty, researchers, and students engaged in high-performance and AI-driven research across Johns Hopkins University. The position is responsible for deploying, optimizing, and maintaining scientific software and computational workflows on advanced HPC Systems and related infrastructure. Working primarily within Linux-based environments, the engineer manages and troubleshoots complex software stacks, containerized applications, and GPU-accelerated workloads using tools such as SLURM, Easy build, Spack, etc. The role combines ticket-based user support with long-term project work, collaborating closely with interdisciplinary research groups to enhance system performance, streamline data-intensive workflows, and integrate cutting-edge technologies. The position operates with significant independence while coordinating regularly with systems engineers and research computing leadership to ensure reliable, high-efficiency computing resources that advance the university's scientific mission.

Specific Duties & Responsibilities

Software Deployment and Design (15%)
  • Develop and refine deployment strategies for scientific software on HPC and AI systems.
  • Design computational workflows, selecting optimal software configurations, and utilizing tools like Ansible for automation.
  • Assist teams in implementing, tuning, and optimizing AI models and gateway applications (e.g., XDMoD, Coldfront, Open OnDemand, CryoSPARC Live, SBGrid, AI Agents).


Performance Optimization (20%)
  • Analyze and optimize the performance of AI models and HPC applications, focusing on GPU-enabled computing.
  • Implement parallel processing, distributed computing, and resource management techniques for efficient job execution.


Integration and Optimization (15%)
  • Develop, debug, and maintain software tools, libraries, and frameworks supporting HPC and AI workloads.
  • Collaborate with the system team and software vendors (e.g., NVIDIA, Intel, Matlab) to optimize systems for maximum performance.
  • Utilize CUDA, DNN, TensorRT, and Intel Compilers to enhance system performance.


HPC Scientific Software Support (30%)
  • Manage and support scientific software deployment across HPC, cloud-based, and colocation facilities.
  • Oversee installation, configuration, and maintenance of HPC packages with tools like CMake, Make, EasyBuild, Spack, and Lua module files.


Collaboration and Mentorship (5%)
  • Work closely with cross-functional teams, including researchers, data scientists, and software developers, to address complex HPC/AI challenges.
  • Mentor junior engineers and foster a culture of continuous learning.
  • Technical Support and Training Workshops and Troubleshooting (15%)
  • Resolve complex technical issues and perform root cause analysis for HPC/AI software challenges.
  • Implement effective solutions to prevent recurrence and improve system reliability
  • Provide training workshops for researchers and students, focusing on troubleshooting, optimizing workflows, and effectively using HPC systems.


Learning and Development (5%)
  • Stay current with advances in HPC and AI technologies and methodologies.
  • Incorporate new research findings into existing systems to improve performance and capabilities.


Container Orchestration (5%)
  • Develop and manage container orchestration strategies to ensure scalability, reliability, and security of applications.
  • Oversee the container lifecycle from creation and deployment to scaling and removal.


Documentation and Compliance (5%)
  • Create comprehensive documentation for system designs, performance metrics, and project status.
  • Ensure compliance with security and regulatory standards for all HPC and AI systems.


Other duties as assigned.

Minimum Qualifications
  • Master's Degree in computer science or a closely related quantitative discipline.
  • Five years of experience in HPC user support, software deployment, and performance optimization within an academic or research environment.
  • Experience in scientific computing environments and applications.
  • Hands-on experience with SLURM, for job scheduling.
  • Proficiency in Python, Perl, C/C++, and Shell scripting for automation and system management.
  • Advanced knowledge of Linux systems and proficiency in scripting languages such as Python, Perl, and Shell.
  • Familiarity with scientific application management tools such as Containerization, LUA modules, CMake, Spack, and EasyBuild.
  • Training Workshops, Performance Optimization and Troubleshooting
  • Additional education may substitute for required experience, and additional related experience may substitute for required education beyond a high school diploma/graduation equivalent, to the extent permitted by the JHU equivalency formula.


Preferred Qualifications
  • PhD in a quantitative discipline, such as Computer Science Engineering, Physics, Bioinformatics, or related fields, with advanced training in scientific computing.


Classified Title: HPC Scientific Software Engineer
Job Posting Title (Working Title): HPC Scientific Software Engineer (IT@JH Research Computing)
Role/Level/Range: ATP/04/PF
Starting Salary Range: $85,500 - $149,800 Annually (Commensurate w/exp.)
Employee group: Full Time
Schedule: Mon-Fri, 8:30am-5pm
FLSA Status: Exempt
Location: Remote
Department name: IT@JH Research Computing
Personnel area: University Administration

About Johns Hopkins University

Johns Hopkins University is a private research university that was founded in 1876. The university offers undergraduate, graduate, and doctoral programs in various fields, including arts and sciences, engineering, business, education, medicine, nursing, and public health. Johns Hopkins University is known for its research in the areas of medicine, public health, and engineering. The university has a strong commitment to community service and social justice, and it has been ranked as one of the top universities in the United States.
Learn more about Johns Hopkins University
Size
51,000 employees
Industry
Founded
1876

Similar Jobs

More Jobs at Johns Hopkins University

More Information Technology Jobs

Find similar HPC Scientific Software Engineer (IT@JH Research Computing) jobs: