Authors
Affiliations

Gesellschaft für Informatik

deRSE

Gesellschaft für Informatik

deRSE

Florian Goth

Jan Phillip Thiele

Anna-Lena Lambrecht

WORK IN PROGRESS THIS IS NOT THE OFFICIAL STATEMENT OF THE COMMUNTIY BUT THE CURRENT VERSION

Why a RSE Curriculum?

The term Research Software Engineer, or RSE, emerged a little over 10 years ago as a way to represent individuals working in the research community but focusing on software development. The term has been widely adopted and there are a number of high-level definitions of what an RSE is. However, the roles of RSEs vary depending on the institutional context they work in. At one end of the spectrum, RSE roles may look similar to a traditional research role. At the other extreme, they resemble that of a software engineer in industry. Most RSE roles inhabit the space between these two extremes.

For the purpose of creating an RSE-Master Programm we identify the RSE as a person who creates or improves research software and/or the structures that the software interacts with in the computational environment of a research domain. In this spectrum we see skilled team member who may also choose to conduct own research as part of their role. But on the other end we also see paths for an RSE to specifically focus on a technical role as an alternative to a traditional research role because they enjoy and wish to focus on the development of research software.

For this task, to support research with/in the creation of digital tools, we structure this sample curriculum along three pillars (Goth et al. 2024):

  • research skills: these are competencies that enable an RSE to effectively participate in the research domain.
  • technical skills: these are competencies, that enable an RSE to create effective tools for research
  • communication skills: these are skills that enable an RSE to effectively work and communicate with its peers and stakeholders across multiple domains.

Research skills

TODO add text here

Research skills are implemented in the following components:

  • mnt_project (TODO work/elaborate on naming, add cross-reference)
  • mnt_wildcard
  • rse_thesis

Technical skills are implemented in:

  • gen_datascience
  • gen_programming
  • gen_softwareengineering
  • rse_softwareengineering
  • rse_programming

(TODO check if technical training assumes too big a role)

communication skills are implemented in:

  • rse_management
  • mnt_project
  • rse_theory

References

Goth, F, R Alves, M Braun, LJ Castro, G Chourdakis, S Christ, J Cohen, et al. 2024. “Foundational Competencies and Responsibilities of a Research Software Engineer [Version 1; Peer Review: Awaiting Peer Review].” F1000Research 13 (1429). https://doi.org/10.12688/f1000research.157778.1.