Research Software Engineers

Software development has long been a requirement in scientific research groups with this work being carried out by the researchers themselves, or by domain developers who have a background in and knowledge of the scientific field in question. While such individuals are frequently highly competent developers who produce top quality scientific code, they also need to balance their effort spent on software development with addressing their core scientific aims in order to support their research career by publishing and obtaining research funding.

While building core scientific algorithms and methods is still an important requirement, creating the supporting environment to enable these codes to run efficiently on modern infrastructure is often a step too far for researchers. The steep learning curve required to work with such infrastructure and the increasingly large codebases and development teams that require software management processes make it impractical or even impossible for scientific researchers to further their scientific career while focusing on software development. 

The wide technical skill-set required to undertake and manage modern High Performance Computing (HPC) software development has led to the emergence of individuals who focus on these capabilities and have the knowledge to build and deploy code to complex infrastructure while supporting the effective long-term sustainability and maintenance of software through the use of industry standard software management approaches. These individuals are Research Software Engineers (RSEs). RSEs may have strong domain knowledge and their RSE role is, at present, often not officially recognised. 

With the complexity of computing infrastructure increasing and new paradigms such as Infrastructure-as-a-Service clouds, massively multi-core CPUs and GPGPUs become widely used, managing software development and research can be very challenging. It’s clear that there will be an increasing need for such individuals and they will become more common in the research environment. Individuals are increasingly making a choice to focus on either domain research or on computational software development. RSEs can be people whose long-term aim is to have an academic position, or people who wish to focus on software development. Whatever their long-term aims, RSEs frequently form an important and valued element of a research group or team.

Funded projects supporting RSEs

The RSE community has been successful in winning grants to support RSE development at Imperial. These grants include:

STEP-UP

STEP-UP - A Strategic TEchnical Platform for University Technical Professionals. Supporting "digital Research Technical Professionals" (dRTPs) and researchers working with research software, research data and research computing infrastructure, in the London region and beyond. Funding from EPSRC, 2024-7. Go to the STEP-UP platform website

The STEP-UP platform is currently running a champions programme for PhD students with an interest in software, data or infrastructure - find out more here

UNIVERSE-HPC 

Understanding and Nurturing an Integrated Vision for Education in RSE and HPC. Funding from ExCALIBUR, 2022-5. Go to the UNIVERSE-HPC project website