Share this Job
Job Req ID:  15231

Sr. Software Engineer

 

General Summary/Purpose:

The Maryland Advanced Research Computing Center (MARCC) is a state of the art High Performance Computing (HPC) facility that provides resources (HPC, storage and analytics) for researchers at Johns Hopkins University, The University of Maryland at College Park and eventually to all other schools in the state of Maryland. The software Sr. Software Engineer will serve as technical resource to all users on highly complex code development, architecture, debugging, profiling, optimization, documentation, installation and maintenance of open source scientific applications; data mining and best practices to utilize HPC resources. The incumbent will enable faculty to advance research-computing agendas by interacting directly with researchers, providing feedback on how to improve application performance, and actively participating in application development.  There will be also many opportunities to establish scientific collaborations and partnerships with research groups. This position will serve as lead on moderate to large IT architecture and applications development projects. The position will be expected to influence research groups towards innovative solutions and provide oversight to lower level staff.  As a project lead, the incumbent is expected to interact with various departments and external constituents outside of JHU.

 

Specific Duties & Responsibilities:

Application support

  • Identify and debug problems with scientific applications.
  • Install and maintain scientific applications.
  • Establish collaborations with research groups.
  • Collaborate with research groups in application development, optimization.
  • Develop common tools that benefit application optimization and performance.
  • Provide software architecture expertise to procure external funding.
  • 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.
  • Perform thorough and complex programming including designing architectural protocols to address research needs of faculty and students in a comprehensive manner.

 

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.
  • Conduct extensive research to resolve HPC challenges.
  • Perform highly complex data analysis, data mining and visualization of results.
  • Work closely with the facility’s director and oversight groups to successfully implement policies and procedures.
  • Continuously evaluate new tools and technologies for use in existing and future clusters.
  • Recommend solutions and new technologies.
  • Provide required facility activity data for University and government reports.

 

Training/Education

  • Provides regular workshops on HPC related topics to ensure the effective utilization of resources.
  • Develops materials and workshops describing best practices on application development.
  • 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.

 

Minimum Qualifications (mandatory):

  • Bachelor's degree. 
  • Six years related experience.
  • Additional education may substitute for required experience and additional related experience may substitute for required education, to the extent permitted by the JHU equivalency formula.

 

JHU 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.

Preferred qualifications:

  • Master’s or Ph.D. degree preferred. Formal training in computational science or engineering a big plus.
  • Six years demonstrated experience in developing scientific applications.
  • Experience leading software development projects.
  • Experience building containers for HPC environments.

 

Special Knowledge, Skills, and Abilities:

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 Lua modules, Environment modules.
  • Experience with queuing systems like SLURM, PBS, Torque.
  • Experience in database programming (mysql, Mariadb).
  • 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.
  • 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.
  • In-depth understanding of HPC Cluster management software.
  • Understanding of massive 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.
  • Must have the ability to multi-task and prioritize. 
  • Must be adaptable and able to meet conflicting deadlines.
  • Exceptional organizational skills.
  • The ability to interact with peer institutions to support HPC directives effectively; furthering the goals of the MARCC facility.
  • 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.
  • Object oriented design experience.
  • Experience with industry standard software development tools (e.g., subversion, eclipse).
  • Understanding of software lifecycle, design, implementation, testing.

 

Preferred Additional Knowledge, Skills, and Abilities:

  •  Extensive experience in parallel programming, MPI and/or OpenMP.
  • In-depth understanding of data management best practices.
  • Experience building containers to facilitate workflows and software pipelines.
  • Experience with SLURM configuration settings.
  • Experience designing, developing, debugging and optimizing scientific applications.
  • GPU and Cuda programming.
  • Familiarity with visualization packages, Visit, Paraview.
  • Understanding of data architecture.
  • Database programming.

 

Classified Title: Sr. Software Engineer  ​​​​​
Role/Level/Range: ATP/04/PF 
Starting Salary Range: Commensurate with Experience
Employee group: Full Time 
Schedule: M-F, 8:30 am - 5:00 pm 
Exempt Status: Exempt  
Location: 01-MD:Homewood Campus 
Department name: 10001373-Physics and Astronomy 
Personnel area: School of Arts & Sciences

 

The successful candidate(s) for this position will be subject to a pre-employment background check.

 

If you are interested in applying for employment with The Johns Hopkins University and require special assistance or accommodation during any part of the pre-employment process, please contact the HR Business Services Office at jhurecruitment@jhu.edu. For TTY users, call via Maryland Relay or dial 711.

 

The following additional provisions may apply depending on which campus you will work.  Your recruiter will advise accordingly.

 

During the Influenza ("the flu") season, as a condition of employment, The Johns Hopkins Institutions require all employees who provide ongoing services to patients or work in patient care or clinical care areas to have an annual influenza vaccination or possess an approved medical or religious exception. Failure to meet this requirement may result in termination of employment.

 

The pre-employment physical for positions in clinical areas, laboratories, working with research subjects, or involving community contact requires documentation of immune status against Rubella (German measles), Rubeola (Measles), Mumps, Varicella (chickenpox), Hepatitis B and documentation of having received the Tdap (Tetanus, diphtheria, pertussis) vaccination. This may include documentation of having two (2) MMR vaccines; two (2) Varicella vaccines; or antibody status to these diseases from laboratory testing. Blood tests for immunities to these diseases are ordinarily included in the pre-employment physical exam except for those employees who provide results of blood tests or immunization documentation from their own health care providers. Any vaccinations required for these diseases will be given at no cost in our Occupational Health office.

 

Equal Opportunity Employer
Note: Job Postings are updated daily and remain online until filled. 

 

EEO is the Law
Learn more:
https://www1.eeoc.gov/employers/upload/eeoc_self_print_poster.pdf
Important legal information
http://hrnt.jhu.edu/legal.cfm

 

Homewood Campus