Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial draft of blog post for competencies paper #362

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions competencies-blog-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Identifying the Foundational Competencies of a Research Software Engineer

_Jeremy Cohen, Florian Goth, et al._ (author list to sort out - if we need one at all?)

Only a little over a decade ago, the term Research Software Engineer (RSE) didn't exist.
Now we find ourselves in a position where the term is increasingly widely accepted and research institutions are hiring RSEs to provide the vitally important skills that they need to support and undertake modern research.
The landscape is, however, not uniform - in some countries there are now academic institutions with large groups of central, or distributed, RSEs working to support their research.
In others, the term is only just becoming known.
Nonetheless, the space is developing rapidly and we see a strong future for RSEs and the wider developing community of technical professionals in research.

**What defines an RSE?**

So what, or who, exactly is an RSE?
Ask three people for a definition of RSE, and aside from the common words “software” and “research”, you're likely to get three different answers!
This is because the space in which RSEs work, and the work that they might do, is not always straightforward to define.
RSEs inhabit a previously “hidden space” - the wide gap between the work of researchers in an academic institution and the work of professional service staff whose roles can include everything from finance and student administration to managers of enterprise computing infrastructure.
While the work of an RSE, of course, includes software development, RSEs at one end of the scale representing this hidden space will have roles that look very much like that of a researcher or academic.
knarrff marked this conversation as resolved.
Show resolved Hide resolved
At the other end of the scale, the role of an RSE will look very much like that of a professional software engineer working in an industry environment.
CaptainSifff marked this conversation as resolved.
Show resolved Hide resolved
While an RSE undoubtedly writes software, their role is defined by a much wider range of skills, competencies and experience.

Generic definitions of an RSE can be helpful - a common such definition generally highlights that “an RSE is someone who applies specialist software development skills to support and undertake research tasks”.
Nonetheless, while not incorrect, this definition masks a vast amount of complexity that we look into in great detail.

**The foundational competencies of an RSE**

Given this complicated and rapidly developing space, we set out to better understand and to identify the foundational competencies of a Research Software Engineer.

In work initiated by Heidi Seibold and Florian Goth, a small team of co-organisers ran a workshop session, “Teaching and Learning Research Software Engineering”, at the German RSE conference in Paderborn, Germany in February 2023 ([deRSE23](https://de-rse23.sciencesconf.org/)) which initiated the discussions to understand what exactly the competencies of an RSE are.
knarrff marked this conversation as resolved.
Show resolved Hide resolved
This led to a lengthy process of detailed discussions over the course of around two years, with further workshops organised at the 2023 de-RSE Unconference in Jena, Germany ([un-deRSE23](https://un-derse23.sciencesconf.org/index)) and then at [deRSE24](https://go.uniwue.de/derse24) in Würzburg, Germany.
Copy link
Collaborator

@knarrff knarrff Sep 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While surely interesting to some, I believe this and the sentence before do not really fit as nicely into this blog post. I believe they do provide too much historic insight, distracting from the main message “read the paper!”. I suggest to drop them (but not necessarily the next one, since this explains the scope of the paper, giving hints to the prospective reader to the question “is this relevant to me?”.

Copy link
Collaborator

@CaptainSifff CaptainSifff Sep 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shorten to: We integrated the community early on through multiple workshops(deRSE23, undeRSE23, deRSE24), and we would like to thank everybody who participated.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also link to more specific information if we shorten.
However, for deRSE23 and un-deRSE23 sciencesconf only has a table for each date and a popup for specific workshops.
The links would be
https://de-rse23.sciencesconf.org/program/graphic/date/2023-02-22
https://un-derse23.sciencesconf.org/program/graphic/date/2023-09-26
https://events.hifis.net/event/994/contributions/7914/

While largely based around a core group of members of the German RSE community - [de-RSE](https://de-rse.org/en) - the group also had international input to ensure representation of the wider international perspective in resulting outputs.

knarrff marked this conversation as resolved.
Show resolved Hide resolved
The length of time spent on this work and the very wide range of inputs and perspectives provided serves to highlight the inherent complexity in identifying the foundational competencies and responsibilities of a Research Software Engineer.

**The paper**

“Foundational Competencies and Responsibilities of a Research Software Engineer” works through the process of understanding what makes up the role of an RSE.
It starts with some general background and terminology before highlighting what we see as the key values of an RSE - what they're trying to achieve in their role and the values that underpin that work.
We then look at the competencies themselves, identified through extensive discussion and debate about what RSEs do and how they do it.
These skills are grouped into those that relate directly to software, those that are more research related and those that are communication focused.
We see these three areas as the core of what an RSE provides - specialist, high-quality software engineering knowledge, an understanding of the research environment (potentially working as a direct contributor to research itself), and the ability to communicate well and work highly effectively with researchers who may not have a computational background.
CaptainSifff marked this conversation as resolved.
Show resolved Hide resolved

knarrff marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Somewhere here, we could include a screenshot of the table of contents, to get a sneak peak into the actual competencies, without overbloating the text:

Screenshot from 2024-10-08 09-28-45

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

brings up the artistry discussion in #138

After defining the core competencies, we look at career levels - what should RSEs be expected to know and at what level of detail at different career stages?
A series of tables look at the previously defined competencies in the context of a set of career levels, defining the expected skills and level of knowledge for each.
knarrff marked this conversation as resolved.
Show resolved Hide resolved
We also recognise that researchers and academics increasingly expect to be able to apply some technical skills themselves so we look at the RSE skills that researchers and academics might want to learn to support this.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'this' is a little unclear to me here. Is 'them applying technical skills' what the 'this' refers to? Also: we might want to mention that this is essentially their first step to become an RSE (at one end of the spectrum).


Finally, focusing on the fact that RSEs can have a range of very different roles, we look at RSE specialisations, highlighting a number of different roles that RSEs might hold that involve the application of specialist knowledge in related areas.
This includes domain-specific RSEs, who have, and use, specialist research domain knowledge, in addition to technical skills.
We also describe a number of other technical specialisations including data, infrastructure, High Performance Computing and Machine Learning-focused RSEs.

**Find out more, join the discussion**

A pre-print of our paper, which you can find on [arXiv](https://arxiv.org/abs/2311.11457) has been adopted as an official position paper of [de-RSE](https://de-rse.org/en).
CaptainSifff marked this conversation as resolved.
Show resolved Hide resolved
As part of our aim to further develop the discussion on this work, take our findings to a wider audience and develop further research in this area, we are also exploring journal publication options for the final version of the paper.
If you'd like to join our group and participate in the discussions and future work, get in touch with ....
Loading