Jobs and Careers
MO

Research Software Engineer

Morgridge Institute for Research
United Statesfull_timeVerifiedPosted 31 Jul 2024
💰 $2,147,483,647/yr

About the role

Description

Job Purpose

  

The Research Software Engineer (RSE) will work to bring modern software engineering techniques and approaches to research projects at the institute as part of long-running engagements and collaborations between scientists. At Morgridge, the RSE will sit at the nexus of exciting research, large-scale computing, and national cyberinfrastructure projects. Whether it’s bringing a codebase up to production quality, designing programmatic interfaces, automating the movement of millions of objects a day, or making workloads run more effectively across thousands of cores, the RSE will have a diversity of challenges and help advance Morgridge’s goals of Fearless Science. Potential projects will be diverse, including facilitating machine learning projects, developing tools for global distributed data management, and enabling large-scale protein simulation; projects will be tailored based on the candidate.


The position will work in the Morgridge Research Computing theme and with the Center for High Throughput Computing (CHTC) at the UW-Madison; these groups are led by PIs who lead distributed cyberinfrastructure projects such as the Partnership to Advance Throughput Computing (PATh) and Pelican, major NSF investments in the vision that high throughput computing can make an outsized impact on science. Combined, the teams have about 30 staff members, run a million scientific jobs a day, and operate 25,000 computing cores and over 300 GPUs – giving the RSE opportunities to work at a unique scale in academia.


Primary Responsibilities

  • Interact with scientific group leaders and the Research Computing leads to identify pressing software engineering challenges and scoping / architecting / implementing a program of work to solve them.
  • Develop on research codes (typically, Go, C++, or Python) to make them more robust or sustainable.
  • Integrate or optimize computing workloads on the identified projects with the HTCondor-, Kubernetes-, or SLURM-based      services operated by CHTC and Research Computing.
  • Develop distributed storage software, such as Pelican, and deliver it to a national community.
  • As aligned with experience, lead student software engineering interns on specific semester-long projects.
  • Provide consulting to Morgridge research teams to help improve the competitiveness of external grant proposals.
  • Provide assistance with other projects, as necessary to support the overall mission and goals of Morgridge Institute for Research 

Requirements

To perform this job successfully, an individual must be able to perform each primary duty satisfactorily. Some of the duties can be learned through on-the-job training. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the primary duties.

Education and Experience:

  • A Bachelor’s degree in Computer Science, Mathematics, Physics, or biological sciences; Master’s degree preferred.
  • 2+ years of working on software engineering, preferably in a research environment (academic activities count toward the experience).
  • Programming experience in either C/C++ , Go, or Python.
  • Experience in utilizing large-scale computing environments such as batch or cloud is preferred.

Knowledge, Skills and Abilities Required:

  • Strong systems design and programming skills.
  • Ability to keep projects organized in a project management / issuer tracker system such as JIRA.
  • Familiarity of software development environments like GitHub and modern CI/CD tooling such as GitHub Actions or Jenkins.
  • Knowledge of working with the following technologies and environments is desired: HTCondor, Containers/Kubernetes, Flask, or Dask.
  • Demonstrated writing ability to contribute to proposals, technical blog, or academic papers is preferred.

Working Conditions and Physical Effort:

  • Work is normally performed in a typical office environment.
  • Day-to-day, no or very limited physical effort is required.
  • No or very limited exposure to physical risk.


Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Morgridge Institute for Research

View company profile →