Assistant Research Scientist

The Advanced Research Computing at Hopkins group (ARCH) is a state of the art High Performance Computing (HPC) facility that provides resources (HPC, storage and analytics) for researchers at Johns Hopkins University. ARCH is seeking an assistant research scientist (also known as Research Computing Facilitator) to provide direct support to all researchers on the effective utilization of resources, workflow design, research reproducibility, code development, debugging, optimization, installation and maintenance of open source scientific applications. The incumbent will enable faculty to advance research-computing agendas by providing direct technical solutions and support, adopting new technologies, creating and maintaining training modules on HPC topics to the research community.  In addition, there will be opportunities to establish scientific collaborations and partnerships with research groups.

Duties and Responsibilities

40% – Application Support

  • Maintain job scheduling and storage allocation systems and policies to ensure fair allocation of shared resources.
  • Install and maintain scientific applications
  • Provide basic support and guidance on application utilization
  • Clearly document steps followed on application installation

30% –  General HPC support

  • Extensively document processes so that users can easily find useful information and other IT staff can perform routine tasks and provide backup.
  • Ensure solutions released to the community are stable and usable.
  • Ensure resources meet the community’s needs and are highly available to the group with limited interruption.
  • Provide required facility activity data for University and government reports.

30% – Training/Education

  • Provides regular workshops on HPC related topics to ensure the effective utilization of resources
  • Develops materials and workshop content on different HPC topics.
  • Attend department and University-sponsored training to increase knowledge, improve skills, and learn new skills. May substitute University training for supervisor approved commercial job related course offerings.

Special Knowledge, Skills & Abilities

  • Proficient in scientific programming languages, C, C++, or Fortran
  • Experience in parallel programming, MPI and/or OpenMP
  • In-depth knowledge in the design, organization of cutting-edge technology in HPC environments.
  • Advanced knowledge of Linux, PHP/Python/Perl technology/toolkits.
  • Familiarity with HPC Cluster management software.
  • Experience with large high performance parallel storage and methodologies.
  • Understand, implement, troubleshoot, and support batch and workload management systems, including diagnosis of failed jobs, implementation of policies, and investigations of new features and services.
  • Install and configure infrastructure applications by following industry best practices to deliver effective solutions.
  • Proficiency on scientific applications like Matlab, R, others per discipline.
  • In-depth understanding of data management best practices
  • Understanding of data architecture
  • Must have the ability to multi-task and prioritize.
  • Must be adaptable and able to meet conflicting deadlines.
  • Exceptional organizational skills.
  • Excellent oral and written interpersonal skills in terms of customer service, training, and evangelism of new technologies, negotiation, and persuasion.
  • Produce effective and thorough technical documentation.
  • Provide outstanding direct and indirect user support.
  • Research, recommend, and implement new technologies based on the value to the research facility.
  • GPU and Cuda programming would be a plus
  • Familiarity with visualization packages, Visit, Paraview, would be a plus
  • Experience building containers to facilitate workflows and software pipelines, would be a plus
  • Experience with SLURM configuration settings would be a plus
  • Experience with research computing frameworks, pipelines and their application to problems in different scientific domains. [Bioinformatics and genomics are a plus]

Qualifications

Education:

PhD degree required. Equivalent experience may be substituted for education. Ph.D. Formal training in computational science or engineering a big plus.

Equivalence Formula: 30 undergraduate degree credits or 18 graduate degree credits = 1 year of experience. For jobs where equivalence is permitted, up to two years of non-related college course-work may be applied towards the total minimum education/experience required for the respective job.

Related work experience: 

  • Minimum 3 years’ experience providing user support on an HPC environment
  • Familiarity with configuration of the HPC software stack, including MPI, OpenMP, Intel, and GNU compilers, Math libraries.
  • Experience with scientific application management packages like pymodules, Environment modules 
  • Experience with queuing systems like SLURM, PBS, Torque
  • Excellent scripting skills, python, perl, shell
  • Knowledge of scientific software applications in academic supercomputing environments is desired.
  • Ability to maintain confidentiality
  • Excellent customer service skills
  • Excellent communication skills
  • Must demonstrate strong critical thinking and analytical reasoning

 

To apply, please submit a CV, Application letter and three (3) letters of recommendation to