paper_teaching-learning-RSE icon indicating copy to clipboard operation
paper_teaching-learning-RSE copied to clipboard

Suggested title change

Open annalenalamprecht opened this issue 1 year ago • 4 comments

In the discussions at Dagstuhl it also turned out that several people are having issues with the "foundational" qualification of the competencies in the title.

Suggested change: "Identifying Competencies and Responsibilities of a Research Software Engineer".

This version just does not qualify if the competencies in the paper are foundational, basic, complete, whatsover (as people really cannot agree on this), and also emphasizes that this is an ongoing discussion.

annalenalamprecht avatar Apr 19 '24 06:04 annalenalamprecht

In my mind we are aiming at providing exactly that: Foundational aka basic competencies. "Complete" is something different. This paper is presenting competencies that we have identified. It's not about "identifying".

If the problem is that "foundational" is perceived as implying "complete", we could use for example "basic"? Also, we could strengthen the notion that this isn't intended as an exhaustive enumeration and we don't mention a lot of skills from the domain of traditional software engineering that are, indeed, foundational.

hvwaldow avatar Apr 19 '24 08:04 hvwaldow

How about "Identified Competencies and Responsibilities of a Research Software Engineer" then?

annalenalamprecht avatar Apr 26 '24 06:04 annalenalamprecht

Another option would be "Core Competencies and Responsibilities of a Research Software Engineer"

BeastyBlacksmith avatar Apr 26 '24 08:04 BeastyBlacksmith

#276 has now qualified a bit of what we mean. Do you feel it is resolved?

CaptainSifff avatar May 06 '24 16:05 CaptainSifff

There was a good suggestion to distinguish between "Research Softare Engineers" and "Scientists Who Code".

My argument would be that the paper is very good for scientists who code, but it ignores all the competencies that a software engineer (and thus an automotive software engineer, an avionik software engineer or a research software engineer) should have.

Suggested change: "Identifying Foundations Competencies and Responsibilities of a Scientist who Codes". and clarifying this term in the paper as well. (or adding all the competencies that a software engineer should have to the paper).

rumpe avatar Jun 03 '24 13:06 rumpe

I don't think we should change the term "Research Software Engineer". It was difficult to come up with a succinct name that reflects the scope of the role. It is starting to become well established and organisations are starting to recognise it. RSEs find themselves somewhere on the spectrum between researcher at one end and software engineer at the other. In the paper we describe a number of roles that fall on different parts of this spectrum. I fully agree that some of these roles will need the full set of competencies of a SE. I would also expect a curriculum for a RSE master degree would include these.

mhagdorn avatar Jun 04 '24 09:06 mhagdorn

I propose to solve this with adding a subtitle to the paper (maybe after a "--"): "From scientists who code to full-time software engineers"

My rationale: I agree with both @mhagdorn and @rumpe. On the one hand some of the competencies we list for an RSE are more on the scientist-who-codes side of the spectrum, thus also diluting the term SE a bit. As Bernhard mentioned this might also make the bridge building between the two communities that we currently work on more difficult, as our paper with its current title also makes a potential funding politics statement/claim. On the other hand I also see that we need to promote the term RSE and show that it actually has the same breadth as (enterprise) software developers, who also work on codes from small prototypes to large enterprise/infrastructure software. At the same time the "research" part of RSE also adds a dimension that is not (always) present in the more traditional SE.

juckel avatar Jun 04 '24 09:06 juckel

There was a good suggestion to distinguish between "Research Softare Engineers" and "Scientists Who Code".

My argument would be that the paper is very good for scientists who code, but it ignores all the competencies that a software engineer (and thus an automotive software engineer, an avionik software engineer or a research software engineer) should have.

Suggested change: "Identifying Foundations Competencies and Responsibilities of a Scientist who Codes". and clarifying this term in the paper as well. (or adding all the competencies that a software engineer should have to the paper).

@rumpe , this paper is to delineate competencies to create a breed of specialists with skills that "Scientists Who Code" have and which "Software Engineers" have. Think of "Econometrics" or "Mechatronic Engineering". In other words, the use of "Research Software Engineer" is meant to churn out specialists which are with one foot in each of the two boats.

Given this, is it so that you would prefer the entire community to be instead named "Scientists who code well" or something with that meaning ?

michelemartone avatar Jun 04 '24 10:06 michelemartone

I propose to solve this with adding a subtitle to the paper (maybe after a "--"): "From scientists who code to full-time software engineers"

Thank you for this suggestion, @juckel ! I think it's the best so far. ;) It would however mean that the paper would also (seriously) need to include software engineering skills and competencies, as @rumpe remarked earlier.

annalenalamprecht avatar Jun 04 '24 10:06 annalenalamprecht

The meaning of "RSE" doesn't have a clear, unambiguous, consensual definition yet. That is a symptom of the problem that RSE societies want to address. My understanding from what the community perceives as "RSE" is that not all "scientists who code" are RSEs, but a lot of RSEs are, in fact, scientists who code. "RSE" in the current context does not imply a certain skill-level or breadth of SE-related skills. Here we want to contribute to change that and I believe @rumpe is absolutely right to expect that core SE-skills are an essential part of an ideal RSE's skill-set.

I would like to read his comment as a hint that we did a not so good job at communicating that indeed,

The technical skills required by an RSE overlap to a large extent with the common fundamental software engineering skills (see, e.g., @Landwehr2017), ...

We do mention requirements engineering, design, implementation, testing & validation, documentation, maintenance. Not sure what essential SE-skills relevant for RSEs are missing here. But in any case, we could communicate the essential nature of general SE competencies more prominently and better reference standard SE textbooks, curricula, SWEBOK, ...

hvwaldow avatar Jun 04 '24 10:06 hvwaldow

It would however mean that the paper would also (seriously) need to include software engineering skills and competencies, as @rumpe remarked earlier.

Your are right, @annalenalamprecht. Maybe this can be solved by wealth of SE material, just like @hvwaldow also just suggested. We could extend the intro into section 4.1 to better explain the distinction and also refer to the SE textbooks etc. (maybe also to the ongoing processes of working better together).

In the EVERSE project I worked hard to replace "best practice" with "good enough practice". I also believe that this is the case for this paper. We don't expect an RSE to be outstanding in all competencies we list, but rather be aware that all these make up the breadth of what an RSE can do. And then, as needed, one advances his/her/their skill set using our paper as one potential guideline.

juckel avatar Jun 04 '24 10:06 juckel

In the EVERSE project I worked hard to replace "best practice" with "good enough practice". I also believe that this is the case for this paper. We don't expect an RSE to be outstanding in all competencies we list, but rather be aware that all these make up the breadth of what an RSE can do. And then, as needed, one advances his/her/their skill set using our paper as one potential guideline.

Very much reminds me of Wilson et al.'a "Best Practices in Scientific Computing" (2014, https://doi.org/10.1371/journal.pbio.1001745) that was some years later replaced by "Good Enough Practices in Scientific Computing" (2017, https://doi.org/10.1371/journal.pcbi.1005510), arguably also realizing that the first was not a good fit for the target group.

The different interpretations of what an RSE is seem to add to the complication in our case, though.

annalenalamprecht avatar Jun 04 '24 10:06 annalenalamprecht

As for EVERSE, it's admittedly ironic if a project on "research software excellence" promotes "good enough" practices. ;)

annalenalamprecht avatar Jun 04 '24 10:06 annalenalamprecht

I also like the subtitle idea of @juckel. I am slightly concerned however, that it could be read as how to progress from scientist who codes to full-time SE rather than being inclusive.

mhagdorn avatar Jun 04 '24 11:06 mhagdorn

I propose to solve this with adding a subtitle to the paper (maybe after a "--"): "From scientists who code to full-time software engineers"

Thank you for this suggestion, @juckel ! I think it's the best so far. ;) It would however mean that the paper would also (seriously) need to include software engineering skills and competencies, as @rumpe remarked earlier.

Can you be more specific which software engineering skills and competencies you would like to see included?

BeastyBlacksmith avatar Jun 04 '24 14:06 BeastyBlacksmith

I also like the subtitle idea of @juckel. I am slightly concerned however, that it could be read as how to progress from scientist who codes to full-time SE rather than being inclusive.

I agree with @mhagdorn that this very subtitle could make the impression even worse. Because IMHO the paper does NOT address how to proceed towards more software engineering. However, I like the idea of @juckel to add a subtitle in general, too.

jlinx avatar Jun 04 '24 14:06 jlinx

Can you be more specific which software engineering skills and competencies you would like to see included?

@BeastyBlacksmith It's not that there are no SE skills and competencies included yet. But the reference to the SWEBOK and related works is at the moment something like a single sentence that is hard to overlook, and other "classical" SE skills are mixed with the RSE skills identified and presented in the paper. Somehow the paper needs to acknowledge more visibly/prominently that there IS already a large set of established SE practices that of course also matter here. Perhaps by not only mentioning SWEBOK, but devoting a section to it to describe what it includes. Other ideas welcome!

annalenalamprecht avatar Jun 04 '24 15:06 annalenalamprecht

Then maybe a variation for the subtitle:

About scientists who code and software engineers in research

fer-rum avatar Jun 05 '24 10:06 fer-rum

what about

Foundational Competencies and Responsibilities of a Research Software Engineer - for both scientists who code and software engineers in research

although we don't want to restrict the readership to just RSEs

mhagdorn avatar Jun 05 '24 11:06 mhagdorn

what about

Foundational Competencies and Responsibilities of a Research Software Engineer - for both scientists who code and software engineers in research

although we don't want to restrict the readership to just RSEs

Foundational Competencies and Responsibilities of a Research Software Engineer - for both scientists who develop software and software engineers supporting scientists

hvwaldow avatar Jun 05 '24 15:06 hvwaldow

Foundational Competencies and Responsibilities of a Research Software Engineer - for both scientists who develop software and software engineers supporting scientists

cool, I like that. This seems to be an iterative process

mhagdorn avatar Jun 05 '24 17:06 mhagdorn

May I potentially add the following issue: I find the wikipedia definition of RSE (https://en.wikipedia.org/wiki/Research_software_engineering) quite agreeable and very intuitive:

"Research software engineering is the use of software engineering practices, methods and techniques for research software, ...."

As a software engineer, I have to say that: When I look at that paper, the paper does NOT talk about the core competencies of a software engineer at all. So I find the paper title as it is does not fit to the paper content.

BTW: TU Munich is placing a bust for the German founders of software engineering, F.L. Bauer, on Montay 10th at the TU Munich, because he would have 100th birthday. (While the software engineering field is only ~60 years old.)

rumpe avatar Jun 05 '24 20:06 rumpe

May I potentially add the following issue: I find the wikipedia definition of RSE (https://en.wikipedia.org/wiki/Research_software_engineering) quite agreeable and very intuitive:

"Research software engineering is the use of software engineering practices, methods and techniques for research software, ...."

As a software engineer, I have to say that: When I look at that paper, the paper does NOT talk about the core competencies of a software engineer at all. So I find the paper title as it is does not fit to the paper content.

BTW: TU Munich is placing a bust for the German founders of software engineering, F.L. Bauer, on Montay 10th at the TU Munich, because he would have 100th birthday. (While the software engineering field is only ~60 years old.)

rumpe avatar Jun 05 '24 20:06 rumpe

And this is why I would suggest you either change the title or add the core competencies of a software engineer to the body of the paper.

At least I would not be confronted with a paper that tells me that the list of core compentencies of a research software engineer does roughly not contain any content of the software engineering field (except version control).

rumpe avatar Jun 05 '24 20:06 rumpe

How about something like that?

https://github.com/the-teachingRSE-project/competencies/blob/1cba3c793cd8d682215a507efe0995ddbc6e2825/competencies.md?plain=1#L473-L496

hvwaldow avatar Jun 07 '24 14:06 hvwaldow

I had a loook at the core principles that a software engineer should know. Actually the Software Engineering Body of Knowledge, the FAIR principles are not included there.

I would also like to add that some of the misunderstandings we have here come from the view that something like "traditional software development life cycle " still exists. (that was in the 70ties and 80ties). Since then SE has slightly enhanced its body of core competencies.

rumpe avatar Jun 07 '24 19:06 rumpe

These are to my belief correctly core competencies: "Proper requirement elicitation, analysis and specification are of the essence for any successful development project. " But only mentioning them makes the paper somehow ill balanced compared to other competencies. However, it comes iinto the right directions ...

rumpe avatar Jun 07 '24 19:06 rumpe

One thing at least I'd like to rememember from today's discussion is that currently ~60% of the content of our paper is not mentioned in our title....

CaptainSifff avatar Jun 13 '24 03:06 CaptainSifff

a new idea: Foundational Competencies and Responsibilities of a (Research Software) Engineer?

CaptainSifff avatar Jun 17 '24 08:06 CaptainSifff

Looking at the whole discussion a bit late (I was offline over the past two weeks), maybe some of these (summarizing) points help:

I think the unique skills of an RSE is that they have knowledge both of Research and of Software Engineering. The additional complexity comes from this two-dimensional field (@CaptainSifff @knarrff @mhagdorn). As "mechatronics" is a specialization that requires both Mechanical Engineering and Electronics knowledge, so is RSE a hybrid specialization (@jpthiele).

For this reason (and to emphasize the relevance to the RSE-related literature), I think we should keep the Research Software Engineer in the title.

The braces in the title would add more confusion, in my view. But we can introduce this distinction in one of the sections.

I find the discussion very interesting and useful, and I understand that we need to add a section about the "usual" Software Engineering skills that an RSE should also know. This would also improve the structure and bring symmetry with Research, as we already have the Ability to do Research (previously: Curiosity) as a skill.

More specifically, I suggest:

  • Section 4. Foundational RSE competencies
  • 4.1 Software/Technical skills
  • 4.1.1 (Ability to do all the technical aspects of Software Engineering, according to the seniority level)
    • One paragraph relating to the Software Engineering literature
    • Choose a better, more consistent heading
  • 4.1.2 Adapting to the software life cycle
  • ...
  • 4.2 Research skills
  • 4.2.1 Conducting and leading research
  • 4.2.2 Understanding the research cycle
  • ...
  • 4.3 Communication skills

MakisH avatar Jun 17 '24 08:06 MakisH