From f9fe357a4ce8440d7d0f5c5c5f6fa2c2b3965da3 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Fri, 10 Nov 2023 17:13:29 +0100 Subject: [PATCH 001/108] Fix a typo in CRSP --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 419f4ce0..76993303 100644 --- a/competencies.md +++ b/competencies.md @@ -1247,7 +1247,7 @@ from an institutionalised centre of RSE education. The certificate confirms her track record of valuable software contributions and of teaching and mentoring people, as well as her capability to enable, foster and contribute to high-quality research in a leading position. -It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a Principal Investigator for RSE-focused grant applications. It is also recognised by man prestigious universities and opens many career options that are also typical for PhDs. +It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a Principal Investigator for RSE-focused grant applications. It is also recognised by many prestigious universities and opens many career options that are also typical for PhDs. Kay can now write her own grant proposals to effectively fund work of moving research software projects from prototypes to infrastructure. ## Existing Frameworks From 6e5699eef7a3b6454e85efe57520a44c659cb370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Fri, 10 Nov 2023 17:17:50 +0100 Subject: [PATCH 002/108] Fix issues in the bibliography --- bibliography.bib | 29 +++++++++++++++-------------- competencies.md | 4 ++-- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index d3418ec2..b05012b8 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -143,15 +143,14 @@ @Book{Anderson2001 lccn = {00063423}, } -@Article{Anzt2020, -AUTHOR = { Anzt, H and Bach, F and Druskat, S and Löffler, F and Loewe, A and Renard, BY and Seemann, G and Struck, A and Achhammer, E and Aggarwal, P and Appel, F and Bader, M and Brusch, L and Busse, C and Chourdakis, G and Dabrowski, PW and Ebert, P and Flemisch, B and Friedl, S and Fritzsch, B and Funk, MD and Gast, V and Goth, F and Grad, JN and Hegewald, J and Hermann, S and Hohmann, F and Janosch, S and Kutra, D and Linxweiler, J and Muth, T and Peters-Kottig, W and Rack, F and Raters, FHC and Rave, S and Reina, G and Reißig, M and Ropinski, T and Schaarschmidt, J and Seibold, H and Thiele, JP and Uekermann, B and Unger, S and Weeber, R}, -TITLE = {An environment for sustainable research software in Germany and beyond: current state, open challenges, and call for action [version 2; peer review: 2 approved] -}, -JOURNAL = {F1000Research}, -VOLUME = {9}, -YEAR = {2021}, -NUMBER = {295}, -DOI = {10.12688/f1000research.23224.2} +@Article{Anzt2021, + author = {Anzt, Hartwig and Bach, Felix and Druskat, Stephan and L\"{o}ffler, Frank and Loewe, Axel and Renard, Bernhard Y. and Seemann, Gunnar and Struck, Alexander and Achhammer, Elke and Aggarwal, Piush and Appel, Franziska and Bader, Michael and Brusch, Lutz and Busse, Christian and Chourdakis, Gerasimos and Dabrowski, Piotr Wojciech and Ebert, Peter and Flemisch, Bernd and Friedl, Sven and Fritzsch, Bernadette and Funk, Maximilian D. and Gast, Volker and Goth, Florian and Grad, Jean-No\"{e}l and Hegewald, Jan and Hermann, Sibylle and Hohmann, Florian and Janosch, Stephan and Kutra, Dominik and Linxweiler, Jan and Muth, Thilo and Peters-Kottig, Wolfgang and Rack, Fabian and Raters, Fabian H.C. and Rave, Stephan and Reina, Guido and Rei\ss{}ig, Malte and Ropinski, Timo and Schaarschmidt, Joerg and Seibold, Heidi and Thiele, Jan P. and Uekermann, Benjamin and Unger, Stefan and Weeber, Rudolf}, + title = {An environment for sustainable research software in {G}ermany and beyond: current state, open challenges, and call for action [version 2; peer review: 2 approved]}, + journal = {F1000Research}, + year = {2021}, + volume = {9}, + number = {295}, + doi = {10.12688/f1000research.23224.2}, } @TechReport{Appel2021, @@ -5150,12 +5149,14 @@ @Article{Welch2016 publisher = {Public Library of Science ({PLoS})}, } -@article{WhatResearchSoftware, - title = {What Is a {{Research Software Engineer}}? {{A}} Definition by the {{Netherlands eScience Center}}}, - shorttitle = {What Is a {{Research Software Engineer}}?}, +@TechReport{WhatResearchSoftware, + author = {{Netherlands eScience Center}}, + title = {What Is a {{Research Software Engineer}}?}, + subtitle = {A Definition by the {Netherlands eScience Center}}, doi = {10.5281/zenodo.7994286}, - urldate = {2023-10-27}, - abstract = {This document contains a description (in English and Dutch) of what a Research Software Engineer is, according to the Netherlands eScience Center. In short, the term Research Software Engineer (RSE) refers to a professional who combines expertise in software development and methodology with deep knowledge of one or more~research fields. RSEs focus on developing and/or maintaining research software, with the aim to answer research questions and solve problems within their research disciplines.}, + year = {2023}, + month = jun, + number = {Version 1.0}, langid = {english}, } diff --git a/competencies.md b/competencies.md index 76993303..e7933346 100644 --- a/competencies.md +++ b/competencies.md @@ -274,7 +274,7 @@ We highlight that professional conduct requires these creations to be reliable a In particular, the way that personal data is handled can have far reaching implications for society. Independent from the encoding into the respective national law in an RSE's jurisdiction, the right to information privacy is internationally recognised as a fundamental human right, -e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988], [@Hirvela2022]. +e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance and deal with tensions that might arise with researchers' desire for trouble-free sharing of data. Handling personal data also has ramifications for information security considerations during the software development process. @@ -1182,7 +1182,7 @@ This setup ensures that we are grading the effectiveness of applying RSE skills ## An example of a possible career path {#subsec:examplecareer} #### Setting the stage -Meet Kay, Kim's younger sister [@Anzt2020] who currently studies researchology in a bachelor's programme in the established domain of researchonomy at University of Orithena (UofO). +Meet Kay, Kim's younger sister [@Anzt2021] who currently studies researchology in a bachelor's programme in the established domain of researchonomy at University of Orithena (UofO). We will follow Kay’s fictional career to illustrate how education, job-experience and a career in academic institutions could lead to become a successful RSE. In Kay’s world, some of the measures proposed in this paper have already been implemented. From 150880fd79034c4ca9adfe40160c31bebb00aba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Fri, 10 Nov 2023 17:19:29 +0100 Subject: [PATCH 003/108] Update .gitignore --- .gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2b3e44c3..906c9b67 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ call_to_action.pdf competencies.pdf -institutionalized_education.pdf +institutionalised_education.pdf intro.pdf survey.pdf build/ - -# Generated automatically by template.py -template.tex From 3dee3a6c1d94c235c45a381685407fde0fc11c94 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 10 Nov 2023 17:48:05 +0100 Subject: [PATCH 004/108] try one icon --- competencies.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/competencies.md b/competencies.md index e7933346..fb8e1b76 100644 --- a/competencies.md +++ b/competencies.md @@ -29,6 +29,7 @@ header-includes: - \usepackage{multirow} - \usepackage{array} - \usepackage{longtable} + - \usepackage{fontawesome} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} xnos-cleveref: True @@ -391,7 +392,7 @@ and make sure that they do not negatively impact the integrity of their institut ## The research skills -### Curiosity (NEW) +### Curiosity (\faPersonRays NEW) RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -521,7 +522,7 @@ what they would like to have learnt. Among the top five things mentioned were: - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of RC, USERS, and also NEW, in order to effectively interact with + knowledge of RC, USERS, and also \faPersonRays NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other @@ -569,7 +570,7 @@ A story-like example of an individual through the hierarchies can be found in @s | MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | | SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | | SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | -| NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | +| \faPersonRays NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | | RC | Awareness about the RC | should know the position of the project in the RC | Should know what is necessary for the project to fit into its position in the RC | | SRU | Should be aware about tools for SRU | Should be able to find sth. with SRU tools | Should be able to effectively find sth. with SRU tools and be able to evaluate and perform the integration of a library into the project. | | SP | Should be aware that SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | @@ -616,7 +617,7 @@ Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). -At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, NEW). +At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, \faPersonRays NEW). They should have an awareness of software licenses and whom to ask if they have any questions (SP). They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). During practicals, they will have an opportunity for peer learning (TEACH). @@ -638,7 +639,7 @@ They should be able to use the tools (LIBS) and identify and report bugs (MOD). They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). They might produce new software (MOD, SRU) in which case they need to understand how to license their code for publication (SP). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (NEW) they must be able to evaluate research software (SWLC). +In order to be able to explore new tools (\faPersonRays NEW) they must be able to evaluate research software (SWLC). They need to be able to interact with services (RC) and domain specific repositories (DOMREP). They should be able to supervise a student (TEACH). @@ -770,7 +771,7 @@ We first summarise the meaning of each of the columns in the table: will improve overall turnaround times. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - NEW& + \faPersonRays NEW& An individual's curiosity has now to be shared between the research goal and the software project, therefore learning new methods and skills may be challenging and is often not the core aim.& @@ -1174,7 +1175,7 @@ data stewardship, AI models/statistics, and community management/training. The programme is finalised with a master's thesis which should be dual-supervised by an RSE supervisor from an actual project, and a domain supervisor. -The thesis should answer a relevant research question (strengthening (NEW)) from the domain using computational methods. +The thesis should answer a relevant research question (strengthening (\faPersonRays NEW)) from the domain using computational methods. Software development is required, and the code is part of the gradable deliverables. The RSE supervisor ensures and grades the software craftsmanship aspects of the project. This setup ensures that we are grading the effectiveness of applying RSE skills in an actual research environment. @@ -1242,7 +1243,7 @@ Her work so far has already been heavy on (TEAM) skills, but now also the leader #### RSE-focused Principal Investigator -The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CRSP) +The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CRSP) from an institutionalised centre of RSE education. The certificate confirms her track record of valuable software contributions and of teaching and mentoring people, From f7b0aa1645824203ac44cedaa35c982400280cbe Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 10 Nov 2023 17:51:36 +0100 Subject: [PATCH 005/108] install latex package --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index da85ddc6..13753612 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -21,7 +21,7 @@ jobs: mkdir -p "${HOME}/texmf" tlmgr init-usertree tlmgr option repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2021/tlnet-final/ - tlmgr install academicons + tlmgr install academicons fontawesome - name: pandoc compile working-directory: ${{ env.DIR }} run: make all From 18f8ee475ffa6e041950f99b7635d283bf17ca87 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 10 Nov 2023 17:57:51 +0100 Subject: [PATCH 006/108] install font apt --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 13753612..040af441 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -12,7 +12,7 @@ jobs: run: | sudo apt-get update && sudo apt-get install -y --no-install-recommends \ texlive pandoc texlive-bibtex-extra texlive-fonts-recommended \ - texlive-xetex lmodern biber latexmk python3 python3-yaml \ + texlive-xetex texlive-fonts-extra lmodern biber latexmk python3 python3-yaml \ xz-utils make gpg-agent python3 -m pip install -r ${{ env.DIR }}/requirements.txt - name: Configure LaTeX environment From 4e7f23a5400281678ec7bf1c4b7b7b9231e0c5d0 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Fri, 10 Nov 2023 18:30:43 +0100 Subject: [PATCH 007/108] make it less likely that people think the intro is the paper. --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 24047719..6936ea12 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,15 @@ Output of the de-RSE 2023 Conference Workshop on "Teaching and Learning Research Since the original idea grew in size and scope we had to split the paper in different subpapers highlighting different aspects Get the latest version of the respective PDF files here: -* "Teaching and Learning Research Software Engineering" ([intro.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/intro.pdf)) + * "Foundational competencies and responsibilities of an RSE" ([competencies.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/competencies.pdf)) * "Institutionalized Organisation of RSE Education" ([institutionalised_education.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/institutionalised_education.pdf)) * "A Survey of Initiatives Providing Educative Material in the RSE Space" ([survey.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/survey.pdf)) * "Educating RSEs in Germany - What Needs to Be Done" ([call_to_action.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/call_to_action.pdf)) +Older: +* "Teaching and Learning Research Software Engineering" ([intro.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/intro.pdf)) + ## How to contribute - Some of our rules This paper is intended as a collaborative effort and we are looking for input from you. From a5c2a56f23ffa82f9bb027f3a54f930d1f3326a2 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Fri, 10 Nov 2023 18:31:23 +0100 Subject: [PATCH 008/108] the existance of this file tricked some people --- example_career_path.md | 76 ------------------------------------------ 1 file changed, 76 deletions(-) delete mode 100644 example_career_path.md diff --git a/example_career_path.md b/example_career_path.md deleted file mode 100644 index d620bacc..00000000 --- a/example_career_path.md +++ /dev/null @@ -1,76 +0,0 @@ -# Example Career path for an RSE - -+ For now this is developed in a separate file, since we don't know where it is going to end up (e.g. section in current paper, appendix of current paper, new paper) -+ based on [notes from un-deRSE23](https://pad.gwdg.de/BrHmFT7QQHKJmq4i3hn-Fg#) -+ Taking hints (aka plagiarism) from [this F1000 article](https://f1000research.com/articles/9-295/v2) - - -## Intro - -Meet Kay, who currently studies researchology in a Bachelor programme in the established domain of researchonomy at University of Orithena (UofO). -We will follow Kay’s fictional career to illustrate how education, job-experience and a career in academic institutions could lead to become a successful RSE. -In Kay’s world, some of the measures proposed in this paper have already been implemented. - -## Bachelor - -Through a program like DaLiJe or The Missing Semester [@Athalye2023], -Kay learns about using computational tools to support the sophisticated statistical analysis typical for researchology. -She uses those tools to create and automate some of the steps processing data and producing outcomes for her bachelor thesis (generating plots with matplotlib, maybe even CI for automatic building) -and takes pride in a fully open and reproducible bachelor thesis enabling her to graduate with honours from the faculty of researchonomy. - -## Master - -Kay ponders whether to continue with computational researchology, which her Bachelor supervisor is responsible for, or enrol in a domain-agnostic RSE Master programme. -Researchers in computational researchology need to acquire a large part of the general RSE know-how presented -in this paper and specialise in Quantum-Accelerated Bayesian Optimisation methods. -However, Kay decides to go for the more generic route of a dedicated RSE programme because she wants to continue in academia, -but does not like the idea of becoming stuck with one research topic. -She also experienced the immediate satisfaction gained by helping colleagues from her research group with tricky technical -problems, which makes her happier than the subdued sense of achievement from having a research paper accepted long after she had written it. -However, for her, coding and sharing knowledge in the form of software is of similar importance to writing a paper focused mostly on the obtained results. - -The domain-agnostic RSE Master programme consists of a core of RSE topics with various electives for specialisation, some of them domain-specific (e.g., chemistry) or topic-specific (e.g., cloud computing for reserach). -Kay chooses digital archaeology and develops a pipeline for reconstructing 3D models from ground penetrating radar data, simplifying the process for archaeologists (Reproducibility, Big Data, Machine Learning). -The project management skills that are being taught as part of the core RSE curriculum really help her not to get lost in this project. -Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department who help her with the pipelines. -She also has to liaise with the central IT department to organise storage for the large data sets. -Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (SWLC, RC) in action that so far have been abstract in her master degree. -The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish -her software project under an OSI-approved license and write an accompanying article in the open source journal JOSS[@JOSS]. -Kay has now completed the RSE programme and has reached Junior RSE level. - -## Junior RSE - -Kay finds a position in the central RSE department at her university with a competitive IT salary. -Although the contract is temporary, there is a good chance that it will lead to a permanent position. -Kay completes the Software Carpentry Instructor training and teaches basic research computing, -while advising fellow students of her department on better programming (DOCBB and MOD skill) -She also runs a seminar in the RSE Master programme. She publishes a condensed version of that in JOSE[@JOSE]. -During her teaching duties, she becomes aware of a new project in her department that requires an RSE community manager, -and she gladly signs up to focus more on her communication skills. -After two years, she takes an exciting opportunity to work in another university. - -## Senior RSE - -The new position involves taking responsibility for the RSE related aspects of a large inter-organisational project involving different organisations. -With her new responsibilities comes a shift in the importance of various aspects of her work. -Having this position in an inter-organisational project places far more emphasis on communication skills. -She is spending time teaching people (TEACH skill) to onboard them into the project. -There is a lot of interaction with different stakeholders to the project like funders and user groups (USERS skill). -And to keep track of where the project is going and how to distribute her time, she leverages Kanban boards (PM skills). -Her work so far has already been heavy on (TEAM) skills, but now also the leadership aspect comes into play. - -## RSE-focused Principal Investigator - -The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the "Science Enabling Doctor" from an -institutionalised centre of RSE education, recognising her track record of valuable software contributions, and her specialised experience in -leading and mentoring people. Some personal choices in her career made the traditional route of doing a Dr.-Ing. inconvenient. -These doctoral degrees are of course recognised by various funding agencies, such as the DFG, and hence enables RSEs that have chosen not to follow a research focused -career path to act as a Principal Investigator for RSE-focused grant applications. -Kay can now write her own grant proposals to effectively fund work of moving research software projects from prototypes to infrastructure. - -[Discussed in [#139](https://github.com/CaptainSifff/paper_teaching-learning-RSE/issues/139)] - - - - From 858a0ea2c5ad3cfff09f0c081ad864f2b37813fa Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Fri, 10 Nov 2023 18:47:44 +0100 Subject: [PATCH 009/108] work a bit on the comparison with BioExcel such that at the very least, we have a teaser (#173) * work a bit on the comparison such that at the very least, we have a teaser Co-authored-by: Florian Goth Co-authored-by: Gerasimos Chourdakis Co-authored-by: Florian Goth --- competencies.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/competencies.md b/competencies.md index e7933346..fc97339a 100644 --- a/competencies.md +++ b/competencies.md @@ -1304,3 +1304,13 @@ Biology (ISCB) curates a database of degrees and certificates in bioinformatics [@BioinformaticsCertification; @Mulder2018]. The database includes bachelor's and master's degree programs and specialisations, PhD programs, and certificates from graduate schools. + +BioExcel has research competencies that combine some of our research competencies and some notions from the communication skills. +Their computing competencies roughly map to our software skills. +Here, we find competencies such as "Package and distribute Software", which maps to our (LIBS) competencies, +and "comply with licensing policy", which would in our framework be part of (SP) in the research competencies. +In addition, they have a dedicated parallel computing competency section, +thereby shifting the emphasis of the knowledge of their computational tools towards the HPC-RSE specialisation in our framework. +Career profiles, such as the computational chemist, bring additional domain specific knowledge; +we would classify those as a mixture of DOMAIN-RSE and HPC-RSE. +It is noteworthy, however, that the BioExcel framework puts very little emphasis on communication skills, which are often involved in RSE-related tasks. From 79ba7d024a6fac6b1f009aaa552f41250fdc13a4 Mon Sep 17 00:00:00 2001 From: Harald von Waldow Date: Fri, 10 Nov 2023 18:56:03 +0100 Subject: [PATCH 010/108] removed local file pushed by accident --- openproject-ref | 1 - 1 file changed, 1 deletion(-) delete mode 100644 openproject-ref diff --git a/openproject-ref b/openproject-ref deleted file mode 100644 index b0f7f112..00000000 --- a/openproject-ref +++ /dev/null @@ -1 +0,0 @@ -https://openproject.thuenen.de/work_packages/1381 From f78afd7967653741c7d6c02c89ccde95a0d70d9e Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Fri, 10 Nov 2023 20:59:36 +0100 Subject: [PATCH 011/108] Relate to skills defined by HPCC (#178) * Relate to skills defined by HPCC --- competencies.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/competencies.md b/competencies.md index fc97339a..de3704a4 100644 --- a/competencies.md +++ b/competencies.md @@ -1263,6 +1263,17 @@ how they are related in the context of a skill tree [@Kunkel2020a; @Kunkel2020b] This competence standard is currently being built upon by the CASTIEL 2 [@CASTIEL2] project in collaboration with initiatives funded by the European High Performance Computing Joint Undertaking (EuroHPC JU) to create a framework for HPC certification [@EuroHPCJU2023]. +While this framework focuses mostly on skills specific to HPC, there are a couple of similarities +to the framework proposed in this paper. The "SD: Software Development" skill set +is very similar to the Software Engineering skills discussed in @sec:required-generic-skills, +describing a wide range of such skills. +This skill set contains +Programming Best Practices (SD2), Software Configuration Management (SD3), Software Quality (SD5), +Software Design and Software Architecture (SD6), and explicit mention of documentation (SD7, see our DOCBB). +Besides the Software Concepts for HPC (SD1), which mainly concerns HPC-focused RSEs, +most of the skills contained in the SD2-SD7 categories apply to all RSEs. +A significant difference compared to the framework proposed in this paper is +the absence of skills related to research or communication. Also looking at pathways and how different skills are related, the UNIVERSE-HPC project [@UNIVERSEHPC], funded under the UK's ExCALIBUR From 47ea399f0260a78b6b0160b070dd2f0f63a19c13 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Fri, 10 Nov 2023 21:10:21 +0100 Subject: [PATCH 012/108] appreciate their LoD. --- competencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/competencies.md b/competencies.md index de3704a4..be7793d5 100644 --- a/competencies.md +++ b/competencies.md @@ -1274,6 +1274,7 @@ Besides the Software Concepts for HPC (SD1), which mainly concerns HPC-focused R most of the skills contained in the SD2-SD7 categories apply to all RSEs. A significant difference compared to the framework proposed in this paper is the absence of skills related to research or communication. +Noteworthy is already now the level of detail in their skill tree which is more similar to @subsec:examplemaster. Also looking at pathways and how different skills are related, the UNIVERSE-HPC project [@UNIVERSEHPC], funded under the UK's ExCALIBUR From b1cdbdf112e165f96364763fe9ec042b2678edd2 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Sat, 11 Nov 2023 01:17:45 +0100 Subject: [PATCH 013/108] 169 values mixed with challenges (#181) * add gsp to refs * add gsp to text and redirect the challenges * use values in the challenges * use the values in two more places * section headings * Update competencies.md Co-authored-by: Gerasimos Chourdakis * Update competencies.md Co-authored-by: Gerasimos Chourdakis * Update competencies.md Co-authored-by: Gerasimos Chourdakis * integrate ref differently. * lets replace it by a more recent ref. * Update competencies.md Co-authored-by: Gerasimos Chourdakis * typo Co-authored-by: Gerasimos Chourdakis * aother title --------- Co-authored-by: Florian Goth Co-authored-by: Florian Goth Co-authored-by: Gerasimos Chourdakis --- bibliography.bib | 26 +++++++++++++++++++++++++ competencies.md | 49 +++++++++++++++++++++++++++++------------------- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index b05012b8..b8dd1844 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -1388,6 +1388,17 @@ @Misc{DFGResearchSoftwareCall2022 urldate = {2023-08-11}, } +@misc{dfg_gsp, + author = {Deutsche Forschungsgemeinschaft}, + title = {{Guidelines for Safeguarding Good Research + Practice. Code of Conduct}}, + month = apr, + year = 2022, + publisher = {Deutsche Forschungsgemeinschaft}, + doi = {10.5281/zenodo.6472827}, + url = {https://doi.org/10.5281/zenodo.6472827} +} + @InCollection{Diamond2016, author = {Diamond, James and Gonzalez, Pilar Carmina}, title = {Digital Badges for Professional Development: Teachers' Perceptions of the Value of a New Credentialing Currency}, @@ -4713,6 +4724,21 @@ @Article{SURESOFT2022 doi = {10.24355/dbbs.084-202210121528-0}, } +@article{Henriksen2016, +title = {Re-identification attacks:”A systematic literature review}, +journal = {International Journal of Information Management}, +volume = {36}, +number = {6, Part B}, +pages = {1184-1192}, +year = {2016}, +issn = {0268-4012}, +doi = {https://doi.org/10.1016/j.ijinfomgt.2016.08.002}, +url = {https://www.sciencedirect.com/science/article/pii/S0268401215301262}, +author = {Jane Henriksen-Bulmer and Sheridan Jeary}, +keywords = {Re-identification, Anonymisation, Anonymization, Systematic literature review}, +abstract = {The publication of increasing amounts of anonymised open source data has resulted in a worryingly rising number of successful re-identification attacks. This has a number of privacy and security implications both on an individual and corporate level. This paper uses a systematic literature review to investigate the depth and extent of this problem as reported in peer reviewed literature. Using a detailed protocol,seven research portals were explored, 10,873 database entries were searched, from which a subset of 220 papers were selected for further review. From this total, 55 papers were selected as being within scope and to be included in the final review. The main review findings are that 72.7% of all successful re-identification attacks have taken place since 2009. Most attacks use multiple datasets. The majority of them have taken place on global datasets such as social networking data, and have been conducted by US based researchers. Furthermore, the number of datasets can be used as an attribute. Because privacy breaches have security, policy and legal implications (e.g. data protection, Safe Harbor etc.), the work highlights the need for new and improved anonymisation techniques or indeed, a fresh approach to open source publishing.} +} + @online{SURESOFTLink, organization = {TU Braunschweig, FAU Erlangen-N{\"u}rnberg}, title = {SureSoft}, diff --git a/competencies.md b/competencies.md index be7793d5..9bd197c5 100644 --- a/competencies.md +++ b/competencies.md @@ -250,11 +250,14 @@ the Helmholtz Federated IT Services platform (HIFIS) [@HIFIS], and the already m # Values {#sec:values} The activities of an RSE are guided by ethical values. -A general list of applicable values is given in the Software Engineering Code of Ethics [@Gotterbarn1999]. +In addition to the values for good scientific practice [@dfg_gsp], RSEs also adhere to +the Software Engineering Code of Ethics [@Gotterbarn1999]. Central to that code is the RSE's obligation to commit to the health, safety and welfare of the public and act in the interest of society, their employer and their clients. Further values loosely based on that code include the obligations ++ to commit to objectivity and fact-based, honest research conclusions, ++ to promote openness and accountability in the research process, + to take great care to develop software that adheres to current best practices, + to judge independently and maintain professional integrity, + to treat colleagues and collaborators with respect and work towards a fair and inclusive environment, and @@ -265,9 +268,11 @@ They work with a varying and diverse set of colleagues that might include other support unit staff and academics of different fields and all career stages. This situation yields a specific set of challenges RSEs should be aware of to consciously make ethically sound judgement calls. -We list some example areas that could be addressed in RSE courses or workshops. +We list some example areas that highlight present-day challenges. -## Handling of data and personal data +## Current Challenges + +### Handling of data and personal data A lot of RSE work involves the manipulation or creation of data processing devices. We highlight that professional conduct requires these creations to be reliable and to maintain data integrity. @@ -276,39 +281,40 @@ Independent from the encoding into the respective national law in an RSE's juris the right to information privacy is internationally recognised as a fundamental human right, e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance -and deal with tensions that might arise with researchers' desire for trouble-free sharing of data. +and deal with tensions that might arise with researchers' desire for trouble-free sharing of data, thereby expecting openness about the research process, +versus the integrity expectations of the society towards IT systems. Handling personal data also has ramifications for information security considerations during the software development process. -Data protection is a difficult subject and RSEs should notice when they need to consult external expertise for example when dealing with -special topics such as cryptography or re-identification attacks (e.g. [@Sweeney2002]). +Data protection is a difficult subject, so RSEs should notice when they need to consult external expertise, for example when dealing with +special topics such as cryptography or re-identification attacks [@Henriksen2016]. + -## Mentoring and diversity +### Mentoring and diversity RSEs are often experienced professionals who instruct and work closely with early career researchers. Similarly to academic supervisors, they bear a certain responsibility to guide and advise younger colleagues with respect to career development and the achievement of academic goals. According to the UNESCO Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). This imbalance is even more pronounced in software engineering with a majority of developers identifying as white male [@StackOverflow2022]. -In their work RSEs might frequently find themselves in a position -to encourage, mentor and empower people who gravitate towards software-related occupations. -In this capacity, they should be aware of the diversity problem and help to mediate it -whenever they have the chance to do so. +Thereby, to promote their values of an honest, open, and inclusive research space, they should be aware of +the diversity problem and help to mediate it whenever they have the chance to do so. -## The scientific community +### Shaping Digital Science Through writing research software, RSEs have a pivotal position in the process of scientific production. Their choices might determine whether the respective research is reproducible or not, whether the results can be re-used, whether future research can build on existing tools or has to start from scratch. -Builders of larger research-infrastructure projects determine to some extent -the possibilities and limitations of future research -and therefore need to be aware of concepts such as Open Science, path dependence and vendor lock-in. +Builders of larger research-infrastructure projects determine to some extent the possibilities and limitations of future research +and therefore need to be able to make a value-based judgement on topics +such as Open Science, path dependence, and vendor lock-in. -## Emerging challenges +### Emerging challenges RSEs often operate at the cutting edge of technological development and therefore might have to deal with technologies of which the dangers and drawbacks are still poorly understood. A current example is the rush for the application of Large Language Models (LLMs), where RSEs working in these fields should stay up-to-date and be able to help researchers assess topics -such as training-data bias, LLM "hallucinations" or malicious use. +such as training-data bias, LLM "hallucinations" or malicious use, with the greater goal of +making these powerful tools work for the welfare of society. # Required Generic RSE skills {#sec:required-generic-skills} @@ -320,6 +326,8 @@ Therefore, we categorise the competencies into software engineering skills, research skills, and team skills with a particular focus on the software and research cycle and the scientific process. The generic skills are relevant in a broad setting and form the foundation for specific specialisations. +These competencies have been chosen in order to make RSEs contribute to an open and inclusive research +environment, with tools that respect their professional values. These skills and competencies come into play in various forms: first of all the RSEs themselves need to acquire and develop them as their career progresses @@ -336,7 +344,8 @@ There are many software engineering curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example highlighting some aspects in more detail than here is [@Landwehr2017]. The software skills outlined here are required to make research software adhere -to the FAIR principles. [@ChueHong2014] defines different levels of research +to the FAIR principles, which are aspects of good scientific practice. +[@ChueHong2014] defines different levels of research software reusability and the extent to which the software engineering skills need to be applied to reach them. @@ -553,7 +562,7 @@ At different career levels, differing skills are required. We have set this up a - Junior RSE: These are persons who have just started, but generally speaking they should have the skills to contribute to software projects. - Senior RSE: They have gained experience and can set the standards in a software project. -- Principal RSE: Their actual job description varies a lot. These may be RSE team leaders based in a professional services type role, or they may be professors or research group leaders based in a more academic-focused role. They are often the people responsible for bringing in the funding that supports new projects and sustains existing projects. Generally speaking, they do not need to be actively involved in the day-to-day technical tasks but they should be able to guide projects from both a technical and a research perspective. +- Principal RSE: Their actual job description varies a lot. These may be RSE team leaders based in a professional services type role, or they may be professors or research group leaders based in a more academic-focused role. They are often the people responsible for bringing in the funding that supports new projects and sustains existing projects. Generally speaking, they do not need to be actively involved in the day-to-day technical tasks but they should be able to guide projects from both a technical and a research perspective while providing an inclusive working space. The following table elaborates on the required facets of the competencies in different roles. A story-like example of an individual through the hierarchies can be found in @subsec:examplecareer . @@ -1055,6 +1064,8 @@ is of utmost importance we envision compulsory events introducing that to young Qualification badges are another option for RSEs to find people with the same technical interests. Structuring and institutionalising the education and structures for the add-on courses that are also open to others in academia, will be topics of a follow-up paper. +These networks are a lifelong manifestation where RSEs work to provide an inclusive environment +for their peers and provide opportunities for life-long learning. # Future Work {#sec:future-work} From 297eaf247943e21d026d1b4d0da07428ba61882c Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sat, 11 Nov 2023 14:18:40 +0100 Subject: [PATCH 014/108] attempt to fix compilation --- bibliography.bib | 1 - 1 file changed, 1 deletion(-) diff --git a/bibliography.bib b/bibliography.bib index b8dd1844..edde8dff 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -4736,7 +4736,6 @@ @article{Henriksen2016 url = {https://www.sciencedirect.com/science/article/pii/S0268401215301262}, author = {Jane Henriksen-Bulmer and Sheridan Jeary}, keywords = {Re-identification, Anonymisation, Anonymization, Systematic literature review}, -abstract = {The publication of increasing amounts of anonymised open source data has resulted in a worryingly rising number of successful re-identification attacks. This has a number of privacy and security implications both on an individual and corporate level. This paper uses a systematic literature review to investigate the depth and extent of this problem as reported in peer reviewed literature. Using a detailed protocol,seven research portals were explored, 10,873 database entries were searched, from which a subset of 220 papers were selected for further review. From this total, 55 papers were selected as being within scope and to be included in the final review. The main review findings are that 72.7% of all successful re-identification attacks have taken place since 2009. Most attacks use multiple datasets. The majority of them have taken place on global datasets such as social networking data, and have been conducted by US based researchers. Furthermore, the number of datasets can be used as an attribute. Because privacy breaches have security, policy and legal implications (e.g. data protection, Safe Harbor etc.), the work highlights the need for new and improved anonymisation techniques or indeed, a fresh approach to open source publishing.} } @online{SURESOFTLink, From 52f13f534a21c0c22e617b625332ecd6dab3bfe8 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Sun, 12 Nov 2023 18:19:34 +0100 Subject: [PATCH 015/108] Proofreading: Minor language issues (#182) * Proofreading: Minor language issues * Fix Fortran capitalization See https://en.wikipedia.org/wiki/Fortran --------- Co-authored-by: CaptainSifff --- .github/spellignore.txt | 2 +- competencies.md | 95 +++++++++++++++++++++-------------------- 2 files changed, 49 insertions(+), 48 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 07a2b4a0..cc8cbfa8 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -62,7 +62,7 @@ findability findable FIXME Forschung -FORTRAN +Fortran franca funders FutureUniversity diff --git a/competencies.md b/competencies.md index 9bd197c5..b188ffa6 100644 --- a/competencies.md +++ b/competencies.md @@ -304,8 +304,9 @@ Through writing research software, RSEs have a pivotal position in the process o Their choices might determine whether the respective research is reproducible or not, whether the results can be re-used, whether future research can build on existing tools or has to start from scratch. Builders of larger research-infrastructure projects determine to some extent the possibilities and limitations of future research -and therefore need to be able to make a value-based judgement on topics -such as Open Science, path dependence, and vendor lock-in. +and therefore need to be able to make a value-based judgement on topicshttps://hpc.fau.de/systems-services/documentation-instructions/nhr-application-rules/ +such as open science, path dependence, and vendor lock-in. + ### Emerging challenges @@ -322,8 +323,8 @@ The role of an RSE lies somewhere on the spectrum between that of a researcher (the "R") and a software engineer (the "SE") and, therefore, requires competencies in both fields. RSEs typically apply their knowledge and experience in larger teams which allows them to cultivate this hybrid nature. -Therefore, we categorise the competencies into software engineering skills, -research skills, and team skills with a particular focus on the software and +Therefore, we categorise the competencies into three categories: *software engineering skills*, +*research skills*, and *communication skills*, with a particular focus on the software and research cycle and the scientific process. The generic skills are relevant in a broad setting and form the foundation for specific specialisations. These competencies have been chosen in order to make RSEs contribute to an open and inclusive research @@ -333,7 +334,7 @@ These skills and competencies come into play in various forms: first of all the RSEs themselves need to acquire and develop them as their career progresses (**Career level**). However, some knowledge of software and data processing is required at all academic levels and for all positions -(**Academic Progression/better title**). The relative importance of the skills +(**Academic Progression**). The relative importance of the skills and competencies also depends on the size of the RSE team (**Project team size**). Finally, different sets of skills are emphasised in the different RSE specialisations (**RSE specialisations**). @@ -384,7 +385,7 @@ and be able to predict and cater to the changing needs of software as it moves t ### Use repositories (SWREPOS) -The RSE should be able to use public platforms (so-called software repositories or repos) to share the artefacts they have +The RSE should be able to identify and use fitting public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. ### Software Behaviour Awareness and Analysis (MOD) @@ -415,7 +416,7 @@ One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, despite friendly competition, shares the common goal of gaining knowledge for its own sake and not just for personal or commercial gain. -Thereby they know, that they are part of a bigger cycle that involves many other parties in and outside of +Thereby they know that they are part of a bigger cycle that involves many other parties in and outside of their domain, and also that their software can be utilised at different stages of the research cycle by different people. Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of @@ -452,7 +453,7 @@ domain-specific data repositories. RSEs do not work in isolation. They are embedded in a research group or work within a team of RSEs supporting particular research projects. RSEs often need to interact with and facilitate communication among colleagues, clients and contractors -with a very broad spectrum of background-knowledge, specialisation, expectations and experience. +with a very broad spectrum of background-knowledge, specialisation, expectations, and experience. Communication skills are therefore crucially important. Team skills are also mentioned in common guides for software engineering such as the Software Engineering Body of Knowledge [@swebok_2014]. However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting @@ -481,7 +482,7 @@ Code review also includes aspects of the teaching skill. ### Project Management (PM) The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, -but it is useful, if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. +but it is useful if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. Project management in research software engineering poses specific challenges (see [USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. @@ -613,7 +614,7 @@ Instead, it summarises the discussions with and between workshop participants at While individuals already work at implementing some of these changes and teaching these skills, it has not yet reached a systemic level. The text is organised along the academic progression path (bachelor's degree, master's degree, PhD, Postdoc, PI/Professor). -Since each level is based on the previous levels we presume that the skills and competencies at each level also encompass those of the previous levels. +Since each level is based on the previous levels, we presume that the skills and competencies at each level also encompass those of the previous levels. Due to the broad need throughout academic specialisations, the described levels serve as a baseline and certain fields will require higher SE skill levels @@ -621,12 +622,12 @@ as development is a large part of their actual research. #### Bachelor's Level -Students at undergraduate level mostly consume science/knowledge. +Students at the undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). -At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, NEW). -They should have an awareness of software licenses and whom to ask if they have any questions (SP). +At this level, it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, NEW). +They should have an awareness of software licenses and whom to ask regarding licensing issues (SP). They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). During practicals, they will have an opportunity for peer learning (TEACH). @@ -645,7 +646,7 @@ They need to know relevant tools and structures. They should know where to find information about tools and where to find help using them (DOCBB, SWREPOS). They should be able to use the tools (LIBS) and identify and report bugs (MOD). They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). -They might produce new software (MOD, SRU) in which case they need to understand how to license their code for publication (SP). +They might produce new software (MOD, SRU), in which case they need to understand how to license their code for publication (SP). PhD students need to be curious to be able to conduct their research. In order to be able to explore new tools (NEW) they must be able to evaluate research software (SWLC). They need to be able to interact with services (RC) and domain specific repositories (DOMREP). @@ -654,7 +655,7 @@ They should be able to supervise a student (TEACH). #### Postdoc Postdocs are independent researchers. -Their role is similar to that of a PhD student with a deepened focus on their research career. +Their role is similar to that of a PhD student, with a deepened focus on their research career. However, they are proficient users of all relevant tools, which makes them active contributors to their domain of research. They need to be aware of more advanced topics regarding intellectual property rights, such as patents (SP). @@ -678,7 +679,7 @@ We extend this to consider how things differ when a developer or a group of developers is based locally within a research team or department, or when they are based in a dedicated RSE team. We also look at organisational aspects in the context of each of the considered -competencies since there are a variety of ways that organisations can contribute +competencies, since there are a variety of ways that organisations can contribute to and support them. Some of them are brought to life in the example career path of the appendix. We first summarise the meaning of each of the columns in the table: @@ -687,7 +688,8 @@ We first summarise the meaning of each of the columns in the table: - **Individual developer (Locally-based):** A single person working on some research software - often a researcher with RSE skills. - **Individual developer (RSE team-based):** A single person working on research - software - generally a professional RSE supporting another team's software on its own. + software - generally a professional RSE supporting another team's software on its own, + who however is connected to an RSE team. - **Group of developers (Locally-based):** A group of RSEs/researchers within a research group or team, working together on developing software to support or undertake a single research goal/project. @@ -907,8 +909,8 @@ as is a range of different roles from King's Digital Lab at King's College Londo What we have defined above are intended to be base skills that an RSE irrespective of domain, place, and time should know about. But not all RSEs are created equal, they specialise in different areas, some of which we want to present below. Many of the specialisations may overlap, -so the same RSE might for example work on data management and Open Science. -We categorise them into those, that can be viewed as a specialisation within RSE-specific topics, +so the same RSE might for example work on data management and open science. +We categorise them into those that can be viewed as a specialisation within RSE-specific topics, while other RSEs might expand their skill set and profession to areas, that are not typical for an RSE. @@ -917,7 +919,7 @@ while other RSEs might expand their skill set and profession to areas, that are #### OpenScience RSE Open Science and FAIRness of Data and Software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence an Open Science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). +Hence, an Open Science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -953,8 +955,8 @@ Research focused specialisations --> #### ${DOMAIN}-RSE -While software is the lingua franca of all RSEs there will be RSEs that have specialised in the intricacies of one particular research domain, -such as medical RSEs, digital humanities RSEs or physics RSEs. +While software is the lingua franca of all RSEs, there will be RSEs that have specialised in the intricacies of one particular research domain, +such as medical RSEs, digital humanities RSEs, or physics RSEs. This can often serve as a base domain for RSE specialisation as in @subsec:examplemaster #### Data-focused RSE @@ -964,7 +966,7 @@ in setting up their analysis pipeline and/or research data management (RDM) solu When the field requires research on sensitive data or information, e.g. patient information in medicine, this RSE should have knowledge about secure transfer methods and/or ways to anonymise the data. As part of RDM, this RSE profile is able to support all stages of the research data life-cycle [@Nieva2020], with synchronous data management processes. -Those processes implement established best practices for planning and documenting of data acquisition in a data management plan (DMP) as well as for management, +Those processes implement established best practices for planning and documenting of data acquisition in a data management plan (DMP), as well as for management, storage, and preservation of data, and publication and sharing of data in repositories according to the FAIR principles [@FAIR]. @@ -984,8 +986,7 @@ The constantly evolving software environment can hinder or prevent reproducibili In this changing environment, a significant amount of effort in (research) software development needs to be spent on maintenance to ensure that software remains useful or even installable. With regard to which additional competency is required, -these are people having experience with ancient software stacks that are not part of the general curricula any more (think of COBOL and FORTRAN). -Another skill-set required is (automated) testing. +these are people having experience with software stacks that are not part of the general curricula any more (e.g., COBOL or Fortran). #### High Performance Computing (HPC) - RSE @@ -1028,10 +1029,10 @@ This RSE is skilled in web applications, front- and/or backend, and/or building and using APIs, for example for research data portals or big research projects. Ideally, this RSE should also have knowledge about (web) accessibility to allow a broad range of researchers or even the public to use the resulting applications. -Therefore a deep knowledge of web skills is a required additional skill for this RSE. +Therefore, a deep knowledge of web development skills is a required additional skill for this RSE. #### Legal-RSE -All RSEs are a go-to person for questions about licensing, mixing and matching of software. +All RSEs are a go-to person for questions about licensing, in particular when mixing software components with different licenses. But with the rising requirements from legislation, we foresee the need for RSEs that still have a background in RSE but extend it with a knowledge of legal processes, that cover corner cases and go beyond applying Best Practice guides. @@ -1039,7 +1040,7 @@ These requirements may arise in the area of publication of research software, as this also requires knowledge about particular laws or regulatory frameworks concerning data protection, like the GDPR within the EU [@GDPR]. Another area are legal aspects of cybersecurity and export control in science and research (see [@ExportControl] for Germany). -Legal-RSEs focus on facilitating the achievement of technically feasible solutions while adhering to regulatory mandates. +Legal-RSEs focus on facilitating the achievement of technically feasible solutions, while adhering to regulatory mandates. They are able to communicate and collaborate with lawyers. -# Reaching out to potential RSEs {#sec:reachout} - -Many current RSEs have found their way to being an RSE during their doctoral studies. -This transition usually happens slowly. -A typical RSE development path starts off with a PhD student programming a tool that others notice and find useful. -Soon the proto RSE is known to have programming skills and is sought after to join other projects. -The researcher is now well on the way to becoming an RSE. -If they enjoy this role and would like to take it further they need to know that there is an RSE career path as well as that specialised training materials exist. -Beyond that, for an RSE it is important to be a part of a network with other RSEs, irrespective of the career level. -A perfect first step for forming this network is topic-related conferences, workshops or meet-ups. -Beyond that, there is the broader RSE community organised at the local and regional level with chapters or local/regional communities, at the national level with societies and the international RSE society. -Each of them offers possibilities for connecting within or beyond an individual institution and is a great way to find like-minded people to grow a wider network and thereby facilitate the sharing of information on interesting events or help each other out. -This available layered network can greatly benefit the RSE in finding help with issues outside of their own comfort zone -and provides a welcoming, social safety net providing a home for the RSE. Since we feel providing aspiring RSEs with this net -is of utmost importance we envision compulsory events introducing that to junior RSEs. -Qualification badges are another option for RSEs to find people with the same technical interests. -Structuring and institutionalising the education and structures for the add-on courses that are also open to others in academia, -will be topics of a follow-up paper. -These networks are a lifelong manifestation where RSEs work to provide an inclusive environment -for their peers and provide opportunities for life-long learning. - # Future Work {#sec:future-work} Having the competencies is a first step to finding common ground around which to structure @@ -1084,14 +1065,17 @@ In that publication, we will detail how we organise our institutions and what qu need to have in order to effectively communicate our values. We will put forward ideas on how to build up bachelor's and master's programmes, of which a glimpse can already be found in this paper's appendix. -We will show how we intend to provide the necessary continuous education for RSEs after graduation. +We will show how we intend to provide the necessary continuous education for RSEs after graduation +and we will connect that with the integration of RSEs into a mesh of community networks aimed at supporting research, +while providing them with an inclusive social network that further facilitates life-long learning. That publication will again intentionally be free of regional specifics, to also serve as a blueprint that other national RSE societies can build upon. + Another important building block is to provide people with online resources for use in their courses. This is the intention of the so-called "survey-publication". That survey of existing resources will not be carried out as a traditional publication, but -it will be made available as a -continuously-evolving online resource. +it will be made available as a continuously-evolving online resource. + And finally, we will formulate the call to action - building on the previous publication on the necessary institutions, to lay down what is required to best support the continuous need From ed36c7ce330d42bb9e9ab60ce563e1026afc019a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Tue, 14 Nov 2023 16:59:17 +0100 Subject: [PATCH 026/108] Improve citation format and keywords selection (#185) * Use more specific keywords * Use autocite where appropriate * Ignore citation key during spellcheck --- .github/spellignore.txt | 1 + .github/workflows/spellcheck.yml | 1 + call_to_action.md | 3 ++- competencies.md | 16 +++++++++------- institutionalised_education.md | 8 +++++--- intro.md | 9 +++++---- survey.md | 2 ++ 7 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index cc8cbfa8..b9144447 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -62,6 +62,7 @@ findability findable FIXME Forschung +ReproHack Fortran franca funders diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index c8002b72..7a56b1a5 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -18,6 +18,7 @@ jobs: # strip citations and references sed -ri 's/\[@[A-Za-z0-9_ ;@-]+\]//g' $file sed -ri 's/[^#\[][@#][A-Za-z0-9_ ;@-]+:[A-Za-z0-9_ ;@-]+}*//g' $file + sed -ri 's/@[A-Za-z0-9_]+//g' $file # strip words that escape the spellchecker allowlist sed -i 's/Dr.-Ing.//g; s/Ph.D.//g; s/M.Sc.//g; s/B.Sc.//g; s/Fortran//g;' $file # latex commands diff --git a/call_to_action.md b/call_to_action.md index eb6e401f..0973792c 100644 --- a/call_to_action.md +++ b/call_to_action.md @@ -26,6 +26,7 @@ output: bibliography: bibliography.bib keywords: - research software engineering + - education policy - training - learning - competencies @@ -79,7 +80,7 @@ funding programs [@Godoy2022; @DFGResearchSoftwareCall2022; @EdinburghRSECollabo or by establishing RSE departments. For the sake of completeness, we also would like to mention challenges that relate to the topic covered but are out of scope and would be subject of separate more in-depth considerations. -As outlined in [@UniStgtRS], the lack of long-term funding options and centralised agencies complicate the sustainable development and delivery of research software. +As outlined in @UniStgtRS, the lack of long-term funding options and centralised agencies complicate the sustainable development and delivery of research software. Where applicable, it is important to raise awareness of the need for institutional support. The creation of a curriculum for the continuing education of RSEs must go hand in hand with the creation of new permanent positions for RSEs at research institutions. For one thing, attractive working conditions are indispensable in order to employ RSE teachers, e.g. to attract qualified and experienced software engineers from the industry to the field of research software. diff --git a/competencies.md b/competencies.md index d60c4de3..b18d72a8 100644 --- a/competencies.md +++ b/competencies.md @@ -36,9 +36,11 @@ xnos-cleveref: True xnos-capitalise: True keywords: - research software engineering + - curriculum design - training - learning - competencies + - certification abstract: " The term Research Software Engineer, or RSE, emerged a little over 10 years ago as a way to represent @@ -168,8 +170,8 @@ that are necessary to understand its purpose. **Research Software**: Foundational algorithms, the software itself, as well as scripts and computational workflows that were created during the research process or for a research purpose, across all domains of research. -This definition is broader than in [@FAIR4RS] and is the outcome of a recent -discussion in [@Gruenpeter2021]. +This definition is broader than in @FAIR4RS and is the outcome of a recent +discussion in @Gruenpeter2021. **Research Software Engineers**: People who create or improve research software and/or the structures that the software interacts with @@ -344,10 +346,10 @@ the different RSE specialisations (**RSE specialisations**). There are many software engineering curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example -highlighting some aspects in more detail than here is [@Landwehr2017]. +highlighting some aspects in more detail than here is @Landwehr2017. The software skills outlined here are required to make research software adhere to the FAIR principles, which are aspects of good scientific practice. -[@ChueHong2014] defines different levels of research +@ChueHong2014 defines different levels of research software reusability and the extent to which the software engineering skills need to be applied to reach them. @@ -549,9 +551,9 @@ Beyond that, we feel that today other important tasks of RSEs are Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. To formalise the process of giving good advice a classification of software is commonly used [@Wang2012; @Schlauch2018b] where research software can move from one class to another during its life-cycle. - [@Schlauch2018b] classify applications based on their scope and criticality and provide software engineering recommendations. + @Schlauch2018b classify applications based on their scope and criticality and provide software engineering recommendations. The RSE needs to be able to identify the application class they are dealing with and apply the respective RSE practices. -- Enforcing reproducibility. Projects like [@ReproHack] can greatly help in fostering that competency. +- Enforcing reproducibility. Projects like ReproHack [@ReproHack] can greatly help in fostering that competency. # How much do different people need to know? {#sec:how-much-to-know} @@ -1040,7 +1042,7 @@ that cover corner cases and go beyond applying Best Practice guides. These requirements may arise in the area of publication of research software, as this also requires knowledge about particular laws or regulatory frameworks concerning data protection, like the GDPR within the EU [@GDPR]. -Another area are legal aspects of cybersecurity and export control in science and research (see [@ExportControl] for Germany). +Another area are legal aspects of cybersecurity and export control in science and research (see @ExportControl for Germany). Legal-RSEs focus on facilitating the achievement of technically feasible solutions, while adhering to regulatory mandates. They are able to communicate and collaborate with lawyers. diff --git a/institutionalised_education.md b/institutionalised_education.md index 2ea55038..b01c422c 100644 --- a/institutionalised_education.md +++ b/institutionalised_education.md @@ -25,9 +25,11 @@ output: bibliography: bibliography.bib keywords: - research software engineering - - training - - learning - - competencies + - curriculum design + - education policy + - lifelong learning + - digital competence + - open educational resources abstract: " Previous publications have defined the core competencies of an RSE and surveyed the state of existing RSE-related resources. diff --git a/intro.md b/intro.md index 13ea5332..f3bdd7cd 100644 --- a/intro.md +++ b/intro.md @@ -25,6 +25,7 @@ output: bibliography: bibliography.bib keywords: - research software engineering + - education policy - training - learning - competencies @@ -158,8 +159,8 @@ but we limit our considerations to the views of public research. This enables us to define Research Software in this paper to include source code files, algorithms, scripts, computational workflows and executables that were created during the research process or for a research purpose. -This definition is broader than in [@FAIR4RS] and is the outcome of a recent -discussion in [@Gruenpeter2021]. +This definition is broader than in @FAIR4RS and is the outcome of a recent +discussion in @Gruenpeter2021. Using this, Research Software Engineers are now people who create or improve research software and/or the structures that the software interacts with @@ -219,12 +220,12 @@ We list some example areas that could be addressed in RSE courses or workshops. Independent from the encoding into the respective national law in an RSE's jurisdiction, the right to information privacy is internationally recognised as a fundamental human right, -e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988], [@Hirvela2022]. +e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance and deal with tensions that might arise with researchers' desire for trouble-free sharing of data. Handling personal data also has ramifications for information security considerations during the software development process. Data protection is a difficult subject and RSEs should notice when they need to consult external expertise for example when dealing with -special topics such as cryptography or re-identification attacks (e.g. [@Sweeney2002]). +special topics such as cryptography or re-identification attacks (e.g. @Sweeney2002). ### Mentoring and diversity diff --git a/survey.md b/survey.md index 94c6d9b0..77d83434 100644 --- a/survey.md +++ b/survey.md @@ -28,6 +28,8 @@ keywords: - training - learning - open educational resources + - lifelong learning + - digital competence abstract: " In this publication we survey the existing RSE-training related resources and initiatives. " From 069eb03e9cc6afec51c8ff97cb421e0809b3ade9 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 01:47:15 +0100 Subject: [PATCH 027/108] Feedback on tables (#184) * Format and polish Career level table Also add some content, mainly for the communication skills. * Make spell-checker happy * Consistent column titles * Reword SE teams structures table * Split tables * Reword MOD in team structures table * Add captions * Add table references in the text * Rework research skills team structure table * Rework communication skills team structure * Clarify team structure roles and perspective * Mention recommendations in the introduction * Refer to Katerbow2008 in team structures * Add proper reference to the appendix in team structures * Hint recommendations in the abstract * Mention recommendations in the conclusion --------- Co-authored-by: Jeremy Cohen --- .github/spellignore.txt | 5 + competencies.md | 321 ++++++++++++++++++++++------------------ 2 files changed, 179 insertions(+), 147 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index b9144447..3732b887 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -22,6 +22,7 @@ Center CHAOSS codebase CodeRefinery +comp-lvls-se Coursera CRSP CSE @@ -46,12 +47,14 @@ EduTrain edX EMBL EMBL-EBI +eng ENCCS EOR Erlangen-Nürnberg ERuDIte EuroCC EuroHPC +examplemaster exascale ExCALIBUR EXCELERATE @@ -144,7 +147,9 @@ swrepo swrepos SWREPOS SysOps +tbl TeSS +teams-se TrainingMaterial UofO un-deRSE diff --git a/competencies.md b/competencies.md index b18d72a8..63bfd173 100644 --- a/competencies.md +++ b/competencies.md @@ -55,7 +55,7 @@ and what experience, skills and competencies are required to become one is chall In this paper we define the broad notion of what an RSE is, explore the different types of work they undertake, and define a list of fundamental competencies as well as values that define the general profile of an RSE. On this basis, we elaborate on the progression of these skills along different -dimensions, looking at specific types of RSE roles and giving examples of future specialisations. +dimensions, looking at specific types of RSE roles, proposing recommendations for organisations, and giving examples of future specialisations. An Appendix details how existing curricula fit into this framework. " --- @@ -149,6 +149,9 @@ to use all the skills highlighted to the same level of expertise. Therefore, @sec:how-much-to-know examines how much a person needs to know depending on their education or career level or on the type of projects they would like to be involved with. +In the same section, we provide an overview of what skills and limitations +an RSE in different team structures typically has, and we give +recommendations for organisations that need to support RSEs. @sec:rse-specialisations provides a list of RSE specialisations and discusses the level of skill needed to work in each of them, before we conclude the paper with details of future work in @sec:future-work @@ -564,35 +567,47 @@ depending on their circumstances. A strong beneficiary of specialised RSEs can a At different career levels, differing skills are required. We have set this up according to the following separation often applied within a single project: -- Junior RSE: These are persons who have just started, but generally speaking they should have the skills to contribute to software projects. +- Junior RSE: These are people who are in the earlier stages of their RSE career journey, but they should still have the skills to contribute reliable and well-structured code to software projects. - Senior RSE: They have gained experience and can set the standards in a software project. - Principal RSE: Their actual job description varies a lot. These may be RSE team leaders based in a professional services type role, or they may be professors or research group leaders based in a more academic-focused role. They are often the people responsible for bringing in the funding that supports new projects and sustains existing projects. Generally speaking, they do not need to be actively involved in the day-to-day technical tasks but they should be able to guide projects from both a technical and a research perspective while providing an inclusive working space. -The following table elaborates on the required facets of the competencies in different roles. +@tbl:comp-lvls-se, @tbl:comp-lvls-res, and @tbl:comp-lvls-comm elaborate on the required facets of the competencies in different roles. A story-like example of an individual through the hierarchies can be found in @subsec:examplecareer . \blandscape \small \renewcommand*{\arraystretch}{1.4} -| | Junior | Senior | Principal RSE(brings in funding) | -| ------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point their staff to the right resources. | -| LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | -| MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | -| SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | -| SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | -| NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | -| RC | Awareness about the RC | should know the position of the project in the RC | Should know what is necessary for the project to fit into its position in the RC | -| SRU | Should be aware about tools for SRU | Should be able to find sth. with SRU tools | Should be able to effectively find sth. with SRU tools and be able to evaluate and perform the integration of a library into the project. | -| SP | Should be aware that SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | -| DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | -| USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | -| TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | -| PM | Awareness about the employed project management method | Should be able to use the employed PM method | Should be able to design and adapt the employed PM method. | -| TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | - -Table: Levels of competency expected for different RSE career stages. {#tbl:comp-lvls} +| Competency | Junior RSE | Senior RSE | Principal RSE | +| --- | ---------- | ---------- | ---------- | +| DOCBB | Should be able to write reusable building blocks. | Same as junior, but the quality should set the standard for the project, while following current best practices. | Should know the current best practices and point their staff to the right resources. | +| LIBS | Should be able to use package distribution platforms. | Same as junior, but should also be familiar with current best practices for building and deploying packages. | Should ensure that their project is available via an up-to-date and secure distribution platform. | +| SWLC | Should be aware of the software life-cycle. | Should know where in the life-cycle their project is and which decisions are likely to lead to technical debt. | Should know how to manage and steer development/project resources accordingly. Should also have an understanding of the potential consequences of key project management decisions. | +| SWREPOS | Should seamlessly interact with the repository of their project. | Should be well-versed in the intricacies of a repository, and probably interact with repositories of multiple projects. | Should promote the use of repositories and be able to convey best practices to junior and senior RSEs. | +| MOD | Should have a basic grasp of their piece of the software in order to use basic tools such as a debugger. | Should understand the characteristics of large parts of the codebase considering a variety of the metrics. | Should understand the big idea of the software project in order to define the task that the software solves. | + +Table: Levels of software eng. skills expected per RSE career stage. {#tbl:comp-lvls-se} + +\newpage + +| Competency | Junior RSE | Senior RSE | Principal RSE | +| --- | ---------- | ---------- | ---------- | +| NEW | Should have some curiosity to fit into research teams. | Same as junior, but a curiosity to enhance the code base is required. | Should have curiosity to know in which direction to steer the project. | +| RC | Should be aware of the research life-cycle. | Should know the position of the project in the research life-cycle. | Should know what is necessary for the project to fit into its position in the research life-cycle. | +| SRU | Should be aware of software reusability tools. | Should be able to search with software reusability tools. | Should be able to effectively search with SRU tools and to evaluate and perform the integration of a library into the project. | +| SP | Should be aware that software publication needs to consider issues of intellectual property. | Should be able to correctly publish software in simple cases and to identify cases where professional legal advice is needed. | Same as senior, plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects. | +| DOMREP | The RSE should be able to interact with the domain repository. | Same as junior RSE. | Same as junior, and should know about how it fits into workflows surrounding these domain repositories. | + +Table: Levels of research skills expected per RSE career stage. {#tbl:comp-lvls-res} + +| Competency | Junior RSE | Senior RSE | Principal RSE | +| --- | ---------- | ---------- | ---------- | +| TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks. | Should be able to lead the team and set the respective direction. | +| TEACH | Should be able to perform simple peer-to-peer on-boarding tasks. | Should be able to explain logical components and the general architecture to other RSEs. | Should be able to effectively communicate about all high-level parts of the project. | +| PM | Should be aware of the employed project management method. | Should be able to use and adapt the employed PM method. | Should be able to design and adapt the employed PM method. | +| USERS | Should be able to communicate with non-SE users of the project. | Same as junior RSE, and be able to interpret the feedback. | Same as senior, and should also be able to effectively take feedback into account when steering the project. | + +Table: Levels of communication skills expected per RSE career stage. {#tbl:comp-lvls-comm} \elandscape @@ -675,163 +690,167 @@ They need to manage and lead their research group (PM, TEAM). ## Project team structures -In this table, we look at individual or team competencies and approaches to them, +In @tbl:teams-se, @tbl:teams-res, and @tbl:teams-comm, we look at individual or team competencies and approaches to them, considering how these differ depending on whether an RSE or researcher is working alone on a software project, or whether they are working as part of a team of research software developers. We extend this to consider how things differ when a developer or a group of developers is based locally within a research team or department, -or when they are based in a dedicated RSE team. +or when they are based in a dedicated, centralised RSE team. We also look at organisational aspects in the context of each of the considered competencies, since there are a variety of ways that organisations can contribute -to and support them. Some of them are brought to life in the example career path of the appendix. -We first summarise the meaning of each of the columns in the table: +to and support them, complementing those proposed by @Katerbow2018. Some of them are brought to life in the example career path of @subsec:examplemaster in the appendix. +We first summarise the meaning of each of the columns in the tables: -- **Competency:** The code assigned to the competency being considered. - See the list in @tbl:comp-lvls. +- **Competency:** The code assigned to the competency being considered, as defined in @sec:required-generic-skills. - **Individual developer (Locally-based):** A single person working on some - research software - often a researcher with RSE skills. + research software - often a researcher with RSE skills. Often time-constrained, + may be self-taught. - **Individual developer (RSE team-based):** A single person working on research - software - generally a professional RSE supporting another team's software on its own, + software - generally a professional RSE assigned to support another team's software on their own, who however is connected to an RSE team. - **Group of developers (Locally-based):** A group of RSEs/researchers within a research group or team, working together on developing software to support or undertake a single research goal/project. + Similarly to the individual RSE, they are often researchers with RSE skills, + often self-taught. - **Group of developers (RSE team-based):** A group of members of the RSE team working together on a research software project for a research group. - **Organisation-level support:** How the defined competencies are recognised - and represented at an organisational level. + and represented at an organisational level and what the organisation can + do to support the RSEs in the context of the different team structures. + These can be read as policy/action recommendations. + +These tables take the perspective of the expected skill set of each developer or team +of developers, similarly to personas in a user experience analysis. +The current situation may differ. \blandscape \small \renewcommand*{\arraystretch}{1.4} \begin{longtable}{|p{1.8cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{4.5cm}|} + \caption{Levels of software eng. skills expected per team structure.}\label{tbl:teams-se}\\ \hline \multirow{2}{*}{Competency} & \multicolumn{2}{c|}{Working as an individual developer} & \multicolumn{2}{c|}{Working with a group of developers} & \multirow{2}{*}{Organisation-level support} \\ \cline{2-5} - & locally-based & RSE-Team based & locally-based & RSE-Team based &\\\hline + & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DOCBB & - Focus on getting outputs to support research. Often time-constrained, - may be self-taught, less awareness/familiarity with code quality and - structure. Simple Best Practice documents can be sufficient& - Likely greater focus on reusability, documentation, and knowledge of best practices - but potential lack of domain scientist support.& - More opportunity to discuss and share ideas but team members may be - self-taught and less aware of key practices. & - Stronger ingrained focus on team-based project management and development - methodologies resulting in higher quality, more reusable code.& - Will offer training and other resources in core topics to support self-taught/embedded developers. + Focuses on getting outputs to support research. Is not very familiar with code quality and + structure. Follows basic best practice guides.& + Puts greater focus on reusability, documentation, and knowledge of best practices, + but potentially lacks domain knowledge.& + Has more opportunities to discuss and share ideas, but team members may be + less aware of key practices. & + Has stronger ingrained focus on team-based PM and development + methodologies, resulting in higher quality, more reusable code.& + Should offer training and other resources in core topics to support individual developers. Should have research software guidance/policies that provide advice.\\ \hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LIBS& - Reusability and sharing/distribution of code often not a focus or considered relevant. & - Greater trained focus on reusability/sharing but likely not part of the project aims.& - May be looking to develop reusable shareable outputs but likely case-by-case basis. Need easy resources.& - Focus on quality and practices, reusability/packaging driven by project needs and spec.& - Should provide policies on sharing and reuse of software. May be driven by requirements/policies of the funding agency. + Does not emphasise code reusability and sharing/distribution. & + Puts greater focus on reusability/sharing, but likely not as part of the project aims.& + May want to develop reusable shareable outputs for a specific case. Needs clear guidelines.& + Focuses on quality and best practices. Reusability/packaging driven by project needs and spec.& + Should provide policies on reusability/sharing. May be driven by requirements/policies of the funding agency. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SWLC& - It's down to you to manage the complete life-cycle, if you move on, - what will happen to the code?& - More support with a team but do they have awareness/expertise - of managing the life-cycle? What is the "bus factor"?& - Even when working alone, team infrastructure and tooling can be vital - in supporting the life-cycle and supporting sustainability.& - As previous but with a large codebase, how many people know about each part? + Manages the complete life-cycle, bus factor equal to 1.& + The team supports parts of the software life-cycle, but with low bus factor.& + The team infrastructure and tooling supports the life-cycle and sustainability.& + The bus factor may still be low in parts of the code. Need to think about coherent life-cycle management across the team - generally - a key part of RSE team expertise.& - Support for training important. Organisation may also provide site - licences for e.g. management tools. + a key area of expertise for an RSE team.& + Should support with training. Organisation may also provide site + licences for, e.g. management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SWREPOS& - Where open source, use of repositories important for code management - and demonstrating outputs - e.g. supporting academic credit. - May not have awareness/skills if self-taught.& - As previous but professional RSEs generally very experienced + Uses repositories for code management and demonstrating outputs, + e.g. for supporting academic credit, but may be missing skills.& + As locally-based, but professional RSEs are generally very experienced with use of repositories and their many features.& - Repos are a vital aspect of modern team-based development. - Short courses can facilitate effective use.& - Repos used extensively by RSE teams - often the base for project + Uses repositories to collaborate inside the team. + Can benefit from short courses on effective use.& + Uses repositories extensively for project management, issue tracking, etc. in addition to code itself. May train others.& - Organisations can offer enterprise repository set ups, + Should offer enterprise repository set ups, site licences etc. Also fund either internal or external training for this vital research software development tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MOD& - Needs full awareness of entire codebase to support extension/maintenance. - May not need/get additional experience or support. - If project taken on from another individual developer, - there may be challenges in transferring this mental model of the software.& - As local but greater awareness of need for future transition to other - developer(s), likely provide e.g. docs/issues/project board and other + Needs full awareness of entire codebase to extend/maintain. + If project taken on from another developer, + there may be challenges in transferring the mental model.& + As local, but more aware of need for future transition to other + developer(s), likely provides docs, issues, and other support from central services to support this. May only need to know - part of code.& - Internal team training important to ensure ability to build necessary - mental model of codebase and to document it via text or tools to support + parts of the code.& + Internal team training ensures ability to build necessary + mental model of codebase and to document it via text or tools for sustainability.& - As local team but likely stronger awareness of tooling and practices - in place within RSE team to support this. Distributing work makes it only necessary + As local team, but likely more aware of tooling and practices + in place within RSE team. Distributing work makes it only necessary for each developer to understand code related to their assigned tasks.& - Training and experience are key here and organisations can help - to coordinate and provide support for training and mentoring/community activities. + Should provide training and retain experience via + coordinating and provide support for mentoring/community activities. Establishing RSE departments with specialists for certain aspects of software will improve overall turnaround times. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\end{longtable} + +\begin{longtable}{|p{1.8cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{4.5cm}|} + \caption{Levels of research skills expected per team structure.}\label{tbl:teams-res}\\ + \hline + \multirow{2}{*}{Competency} & \multicolumn{2}{c|}{Working as an individual developer} + & \multicolumn{2}{c|}{Working with a group of developers} & \multirow{2}{*}{Organisation-level support} \\ + \cline{2-5} + & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NEW& - An individual's curiosity has now to be shared between the research - goal and the software project, therefore learning new methods and - skills may be challenging and is often not the core aim.& - RSE teams should support their team members, especially when working - individually on a project, to explore new tools and approaches, - make relevant contacts and learn more about the research in the project domain.& - Likely to be an area of interest for an embedded development team - but if they are researchers, they definitely have curiosity in their domain. - A curiosity for tools would be appreciated.& + Struggles to learn new methods and skills due to split curiosity + between research goal and software project.& + Gets support from the RSE team to explore new methods and skills, + make relevant contacts and learn more about the domain.& + Has increased interest in learning new methods and skills, + but still prioritises domain research.& As per Individual (RSE team).& - Organisations should reach out to relevant groups locally to help share - information on new technical processes and tooling, and facilitate training. + Should reach out to relevant local groups to facilitate training + and sharing of know-how on new technical processes and tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RC& - This is likely to be familiar to individuals, who are often researchers, - especially if they are embedded within a research team.& - Many RSEs will have familiarity with the research life-cycle, - although they may not have domain knowledge. This can be alleviated by interacting with a group& - Likely to be familiar to software teams (often researchers) working - in a research group. Can share knowledge among themselves or reach - out to colleagues.& - Teams of RSEs from an RSE group are likely to include one or more - team members with strong awareness of the research life-cycle.& - Research organisations have extensive infrastructure to manage - the research life-cycle, this can support researchers/RSEs. + Is familiar with the research life-cycle in their domain, + especially when embedded in a research team.& + Is familiar with the RC, + although they may not have domain knowledge, which a group can provide.& + Is familiar with the RC and can share knowledge within the team.& + One or more members of the team are strongly aware of the + RC.& + Should provide extensive infrastructure to manage + the research life-cycle, supporting researchers/RSEs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SRU& - Need to know how to find other work to build awareness of existing - solutions. Researchers sometimes like to do things themselves. - Working individually means there may not be someone to highlight this.& - RSE team members will generally be familiar with software sharing - and discovery tools and platforms.& - As per individual (Local) but being part of a team can help to address this.& + Has limited awareness of existing solutions and limited support in this regard.& + Is familiar with software sharing and can discover tools and platforms.& + As per individual (local), but being part of a team can help to address this.& As per individual (RSE Team).& - Can choose to run local environments to host software or catalogue software, - they can also provide institution-level access to platforms that support this. + Should run local environments to host software, catalogue software, + and/or provide institution-level access to platforms that support this. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SP& - Responsibility may be with an individual but they may not have necessary knowledge/skills.& - This is a core area that RSE teams need to be aware of. - An RSE team might have established practices, workflows and policies at hand to routinely publish software.& - As with individual (local) developer.& - As with individual (RSE Team).& - The organisation should raise awareness about software as publishable scientific output, provide recommendations and checklists to support software-publications and have legal experts in place to deal with complex cases. + Has limited knowledge and motivation regarding software publication.& + Applies practices, workflows, and policies established in the RSE team.& + As per individual (local) developer.& + As per individual (RSE Team).& + Should raise awareness about software as a publishable scientific output, provide recommendations and checklists to support software publications, and have legal experts in place to offer advice on complex cases. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DOMREP& @@ -839,57 +858,64 @@ We first summarise the meaning of each of the columns in the table: with the domain-specific solutions.& RSEs may need guidance from domain researchers around domain-specific repositories if they have a background in a different domain.& - As per individual (Local).& - As per individual (RSE Team)& - May host domain-specific repositories for areas that they work - extensively in but this is likely to be handled at a research group level. + As per individual (local).& + As per individual (RSE Team).& + Should host domain-specific repositories for areas that the organisation works + extensively in, but this is likely to be handled at a research group level. \\\hline + \end{longtable} + +\newpage + +\begin{longtable}{|p{1.8cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{4.5cm}|} + \caption{Levels of communication skills expected per team structure.}\label{tbl:teams-comm}\\ + \hline + \multirow{2}{*}{Competency} & \multicolumn{2}{c|}{Working as an individual developer} + & \multicolumn{2}{c|}{Working with a group of developers} & \multirow{2}{*}{Organisation-level support} \\ + \cline{2-5} + & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% USERS& - Is the software developed to support external users? - If so, additional technical skills may be required, - especially if future sustainability is an aim.& - Is there a plan for external use? RSEs generally have the skills - to support this or can access assistance via team colleagues.& - If a team of embedded researchers/developers are involved in a larger - project, there's more chance that there's a case for external use. - Do they have the skills and resources to support this?& - A team of RSEs can generally better prepare code for external users - (e.g. by applying development best practices) and provide infrastructure - or specialised RSEs for dealing with user support. & + May have additional skills to safeguard potential future development + and maintenance of the software for external users. Resourcing for future maintenance may be a challenge.& + Has additional skills or can access support to safeguard potential + future development and maintenance of the software for external users.& + Needs to safeguard future development and maintenance of the software for + external users, but may not have the skills or resources to support this.& + Applies best practices to prepare the code for external users, + while the team provides infrastructure and/or specialised RSEs for user support. & Should have institutions that are able to offer support with outreach and publicising outputs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TEACH& May be independently involved in training activities.& May be able to support researchers with core technical skills.& - Sharing knowledge and skills within their group - peer support.& - Often support teaching more widely, either through organised courses - or ad hoc activities such as "code clinics".& - Should have programs for a diverse range of teaching/training activities. + Shares knowledge and skills within the group (peer support).& + Supports teaching more widely, either through organised courses + or ad hoc activities such as ``code clinics''.& + Should have programs for a diverse range of teaching/training activities, + such as an RSE curriculum, as described in~\autoref{subsec:examplemaster}. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PM& - Limited requirement beyond being well organised - can be important - if someone else might take over codebase.& - Limited requirement but team will likely have standard PM approaches - to be followed.& - Challenging for groups of local researchers/developers on larger projects. - May not have awareness/experience of key skills, but this can be alleviated with some low-key courses.& - Likely have well structured approaches and tooling to support this.& - Can offer training to support management of projects. + Is organised enough to be able to transfer the codebase to future developers.& + Follows the project management approach set by the team, or can suggest such PM approaches.& + Has additional PM challenges, but may not have awareness of or experience with key PM skills, + which can acquire with low-key courses.& + Team provides well-structured approaches and tooling to support management of projects.& + Should offer training to support management of projects. May offer organisation-level tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TEAM& N/A& - Will need to work effectively with their home RSE team, as well as, - potentially with researchers they are developing code for.& - Effective teamwork vital - do they have the skills and knowledge - to support team-based software development?& - Will need to be able to work and collaborate effectively in a team, + Must be able to work effectively with their home RSE team, as well as + with researchers they are potentially developing code for.& + Must have strong team skills and knowledge + to support team-based software development.& + Must be able to work and collaborate effectively in a team, use required tools and processes, infrastructure, etc.& - Can offer support with team work. Should support team-building initiatives + Should offer support with team work. Should facilitate team-building initiatives, also on a social level. \\\hline \end{longtable} @@ -1101,7 +1127,8 @@ abstractly without referencing any particular information-processing device. As expected, we draw equally upon notions from software engineering and research, but find that we likewise require teamwork capabilities. We continue with detailing these competencies in various dimensions and find that -a different amount is required in different positions and scientific domains. +a different amount is required in different positions and scientific domains, +while proposing recommendations for organisations to foster the development of these competencies. Nevertheless, they are required and hence the values and competencies form a common denominator that unifies RSEs and enables them to identify with this domain that will become critically important for many areas of science. From e54a63ea30b97a8dd698095c855eac9419f5f9b8 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 09:55:15 +0100 Subject: [PATCH 028/108] Consistently use sentence case in headings --- competencies.md | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/competencies.md b/competencies.md index 63bfd173..11e72b73 100644 --- a/competencies.md +++ b/competencies.md @@ -185,7 +185,7 @@ However, we also recognise that many RSEs have chosen specifically to focus on a role as an alternative to a traditional research role because they enjoy and wish to focus on the development of research software. -# Related Work {#sec:related-work} +# Related work {#sec:related-work} Various initiatives are working to support technical professionals develop their computational skills. Particularly related to this work are initiatives that aim to define sets of such skills @@ -276,7 +276,7 @@ This situation yields a specific set of challenges RSEs should be aware of to consciously make ethically sound judgement calls. We list some example areas that highlight present-day challenges. -## Current Challenges +## Current challenges ### Handling of data and personal data @@ -304,7 +304,7 @@ This imbalance is even more pronounced in software engineering with a majority o Thereby, to promote their values of an honest, open, and inclusive research space, they should be aware of the diversity problem and help to mediate it whenever they have the chance to do so. -### Shaping Digital Science +### Shaping digital science Through writing research software, RSEs have a pivotal position in the process of scientific production. Their choices might determine whether the respective research is reproducible or not, @@ -323,7 +323,7 @@ where RSEs working in these fields should stay up-to-date and be able to help re such as training-data bias, LLM "hallucinations" or malicious use, with the greater goal of making these powerful tools work for the welfare of society. -# Required Generic RSE skills {#sec:required-generic-skills} +# Required generic RSE skills {#sec:required-generic-skills} The role of an RSE lies somewhere on the spectrum between that of a researcher (the "R") and a software engineer (the "SE") and, therefore, requires @@ -345,7 +345,7 @@ and competencies also depends on the size of the RSE team (**Project team size**). Finally, different sets of skills are emphasised in the different RSE specialisations (**RSE specialisations**). -## Software Engineering Skills +## Software engineering skills There are many software engineering curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example @@ -394,7 +394,7 @@ and be able to predict and cater to the changing needs of software as it moves t The RSE should be able to identify and use fitting public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -### Software Behaviour Awareness and Analysis (MOD) +### Software behaviour awareness and analysis (MOD) We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -405,7 +405,7 @@ An important facet of this capability relates to information security. RSEs need to consider the safety and integrity of personal data and other sensitive information and make sure that they do not negatively impact the integrity of their institution's network. -## The research skills +## Research skills ### Curiosity (NEW) @@ -454,7 +454,7 @@ aware of any domain specific software repositories, data sets and catalogues. The RSE also needs to be aware of how their software can interact with the existing domain-specific data repositories. -## Communication Skills +## Communication skills RSEs do not work in isolation. They are embedded in a research group or work within a team of RSEs supporting particular research projects. @@ -483,7 +483,7 @@ for example from The Carpentries [@Carpentries], or entire lecture series. RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -### Project Management (PM) +### Project management (PM) The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, but it is useful if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. @@ -503,7 +503,7 @@ but at the same time to be able to convey their knowledge and experience to expe of other fields or persons at different hierarchy levels in a way they can understand more easily. These conditions pose specific challenges for requirements analysis, project management, training and support. -## RSE Tasks and Responsibilities +## RSE tasks and responsibilities These skills, while already numerous are also generic on purpose. They span a multidimensional space in which the day-to-day tasks and responsibilities of an @@ -563,7 +563,7 @@ Beyond that, we feel that today other important tasks of RSEs are Now that we have the different competencies, we can explore various dimensions of these competencies, depending on their circumstances. A strong beneficiary of specialised RSEs can also be newly formed RSE centres at research institutions. -## Career Level +## Career level At different career levels, differing skills are required. We have set this up according to the following separation often applied within a single project: @@ -638,7 +638,7 @@ the described levels serve as a baseline and certain fields will require higher SE skill levels as development is a large part of their actual research. -#### Bachelor's Level +#### Bachelor's level Students at the undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. @@ -649,7 +649,7 @@ They should have an awareness of software licenses and whom to ask regarding lic They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). During practicals, they will have an opportunity for peer learning (TEACH). -#### Master's Level +#### Master's level A student at a master's level can participate in science and should therefore be able to use "some" digital structures. A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (LIBS, SWREPOS, DOMREP). @@ -955,7 +955,7 @@ when practising Open Science, such as "How do I make my code presentable?", "How do I sustainably work with an (international) team on a large code base?". Like the Data-focused RSE, they have a deep understanding of research data management (RDM) topics. -#### Project/Community Manager RSEs +#### Project/community manager RSEs When research software projects become larger, they need someone who manages processes and people. This gap can be filled by people who invest in the (PM), (USERS), and (TEAM) skills, as exemplified in @subsec:examplecareer. @@ -970,7 +970,7 @@ They need to have a good understanding of all RSE competencies relevant to their additionally should have experience or training in the educational field. -#### User Interface/User Experience Designers for Research Software +#### User interface/user experience designers for research software Scientific software is a complex product that often needs to be refined in order to be usable even by other scientists. To facilitate this, there are people required that specialise in the (DOCBB) and probably the (LIBS) competency with a focus on making end-user facing software really reusable and hence FAIR. @@ -1003,7 +1003,7 @@ storage, and preservation of data, and publication and sharing of data in reposi New areas of expertise --> -#### Research Infrastructure RSE +#### Research infrastructure RSE This RSE is interested in SysOps and system administration and sets up IT infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and on the other hand knowledge about setup and configuration of particular server software, like @@ -1017,7 +1017,7 @@ needs to be spent on maintenance to ensure that software remains useful or even With regard to which additional competency is required, these are people having experience with software stacks that are not part of the general curricula any more (e.g., COBOL or Fortran). -#### High Performance Computing (HPC) - RSE +#### High performance computing (HPC) - RSE RSEs with a focus on High Performance Computing (HPC) have specialist knowledge about programming models that can be used to efficiently undertake large-scale @@ -1046,14 +1046,14 @@ and can assist domain scientists who have excellent command of scripting languag but only a cursory understanding of compiled languages get up to speed with compiled software.--> -#### Machine Learning(ML) - RSE +#### Machine learning (ML) - RSE The development of research software based on machine learning (ML) requires specialised theoretical background and experienced handling of appropriate software in order to produce meaningful results. This involves knowledge about data analysis and feature engineering, metrics that are involved in ML, ML algorithm selection and cross validation, and knowledge in mathematical optimisation methods and statistics. ML-RSEs analyse and check the suitability of an algorithm if it fulfils the needs of a certain task and they play a main role in deciding and selecting machine learning libraries for a given task. The increasing usage of ML in numerous scientific areas with social impact involves an emphasised awareness and consideration of possible manipulative or discriminatory influences. At the intersection of data science [@SSIDataScience] and Data-focused RSEs, the complex way of solving problems utilising machine learning calls for this separate specialisation. -#### Web-Development RSE +#### Web-development RSE This RSE is skilled in web applications, front- and/or backend, and/or building and using APIs, for example for research data portals or big research projects. Ideally, this RSE should also have knowledge about (web) accessibility to allow a broad @@ -1076,7 +1076,7 @@ They are able to communicate and collaborate with lawyers. social skill-set focused specialisations --> -# Future Work {#sec:future-work} +# Future work {#sec:future-work} Having the competencies is a first step to finding common ground around which to structure curricula, institutions, and teachers in this framework. @@ -1145,7 +1145,7 @@ that provide this education will be the topic of a follow-up paper. # Appendix {#sec:appendix} -## An Example Master's Programme for Research Software Engineering {#subsec:examplemaster} +## An example master's programme for research software engineering {#subsec:examplemaster} The target audience for such a master's programme would be students holding a bachelor's degree from a domain science, which we will call "home domain" in the following. There is explicitly @@ -1210,7 +1210,7 @@ Meet Kay, Kim's younger sister [@Anzt2021] who currently studies researchology i We will follow Kay’s fictional career to illustrate how education, job-experience and a career in academic institutions could lead to become a successful RSE. In Kay’s world, some of the measures proposed in this paper have already been implemented. -#### Bachelor's Degree +#### Bachelor's degree Through a program like Software Carpentry [@CarpentriesSoftware] or The Missing Semester [@Athalye2023], Kay learns about using computational tools to support the sophisticated statistical analysis typical for researchology. @@ -1218,7 +1218,7 @@ She uses those tools to create and automate the steps of processing data and pro (generating plots with matplotlib and even CI for automatic building) and takes pride in a fully open and reproducible bachelor's thesis enabling her to graduate with honours from the faculty of researchonomy. -#### Master's Degree +#### Master's degree Kay ponders whether to continue with computational researchology, which her bachelor's supervisor is responsible for, or enrol in a domain-agnostic RSE master's programme. @@ -1264,7 +1264,7 @@ There is a lot of interaction with different stakeholders in the project like fu To oversee the project, she uses an amalgamation of both agile and traditional project-management concepts and methods which she acquires on-the-job (PM skills). Her work so far has already been heavy on (TEAM) skills, but now also the leadership aspect comes into play. -#### RSE-focused Principal Investigator +#### RSE-focused principal investigator The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CRSP) from an institutionalised centre of RSE education. @@ -1274,7 +1274,7 @@ as well as her capability to enable, foster and contribute to high-quality resea It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a Principal Investigator for RSE-focused grant applications. It is also recognised by many prestigious universities and opens many career options that are also typical for PhDs. Kay can now write her own grant proposals to effectively fund work of moving research software projects from prototypes to infrastructure. -## Existing Frameworks +## Existing frameworks ### HPC skills and certification From bfd8940707d62d345e283bff64863b4b07f1d287 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 10:04:25 +0100 Subject: [PATCH 029/108] Fix affiliation --- contributors.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contributors.yml b/contributors.yml index 25e1a45e..f14b8058 100644 --- a/contributors.yml +++ b/contributors.yml @@ -82,7 +82,7 @@ authors: firstName: Fredo lastName: Erxleben affiliations: - - Helmholtz-Zentrum Dresden-Rossendorf + - Helmholtz-Zentrum Dresden-Rossendorf, Germany orcid: 0000-0001-7233-3005 email: f.erxleben@hzdr.de @@ -90,7 +90,7 @@ authors: firstName: Magnus lastName: Hagdorn affiliations: - - Charité Universitätsmedizin Berlin + - Charité Universitätsmedizin Berlin, Germany orcid: 0000-0002-5076-4864 email: magnus.hagdorn@charite.de @@ -135,7 +135,7 @@ authors: firstName: Simon lastName: Christ affiliations: - - Leibniz University Hannover, Department of Cell Biology and Biophysics, Computational Biology + - Leibniz University Hannover, Department of Cell Biology and Biophysics, Computational Biology, Germany orcid: 0000-0002-5866-1472 email: christ@cell.uni-hannover.de @@ -143,7 +143,7 @@ authors: firstName: Gerasimos lastName: Chourdakis affiliations: - - Technical University of Munich, School of Computation, Information and Technology + - School of Computation, Information and Technology, Technical University of Munich, Garching, Germany orcid: 0000-0002-3977-1385 email: gerasimos.chourdakis@tum.de From 44e830f9b4644f45c84fd06d8c681578638afd6f Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 10:31:37 +0100 Subject: [PATCH 030/108] fix the others --- contributors.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contributors.yml b/contributors.yml index f14b8058..20e9c9f1 100644 --- a/contributors.yml +++ b/contributors.yml @@ -4,7 +4,7 @@ authors: lastName: Seibold firstName: Heidi affiliations: - - IGDORE Munich + - IGDORE Munich, Germany orcid: 0000-0002-8960-9642 email: heidi@seibold.co @@ -23,7 +23,7 @@ authors: firstName: Jan lastName: Linxweiler affiliations: - - Technische Universität Braunschweig + - Technische Universität Braunschweig, Germany orcid: 0000-0002-2755-5087 email: j.linxweiler@tu-braunschweig.de @@ -50,7 +50,7 @@ authors: firstName: Renato lastName: Alves affiliations: - - European Molecular Biology Laboratory + - European Molecular Biology Laboratory, Heidelberg, Germany orcid: 0000-0002-7212-0234 email: renato.alves@embl.de From 3590d423e65fbaf41f36270429950edb77cffda8 Mon Sep 17 00:00:00 2001 From: Jeremy Cohen Date: Wed, 15 Nov 2023 12:45:40 +0000 Subject: [PATCH 031/108] Typo fixed in acknowledgements. --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 20e9c9f1..2c2248cb 100644 --- a/contributors.yml +++ b/contributors.yml @@ -44,7 +44,7 @@ authors: email: jeremy.cohen@imperial.ac.uk acknowledgements: | JC acknowledges support from the UK Engineering and Physical Sciences - Research Council (UKI-EPSRC) under grants EP/R025460/1 and EP/W035731/1. + Research Council (UKRI-EPSRC) under grants EP/R025460/1 and EP/W035731/1. - author: "Renato Alves" firstName: Renato From 68732cde0d6ec387fb9020ad4749a8f670029a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Wed, 15 Nov 2023 16:07:54 +0100 Subject: [PATCH 032/108] Improve build pipeline (#194) * Fix PDF/A pipeline when -shell-escape is disabled * Fix section numbering * Move acknowledgements before the appendix * Adapt wording of references to appendix sections * Make acknowledgements section unnumbered Co-authored-by: Gerasimos Chourdakis --------- Co-authored-by: Gerasimos Chourdakis --- Makefile | 5 ++-- call_to_action.md | 10 ++++---- competencies.md | 6 +++-- filter.py | 16 ++++++++---- institutionalised_education.md | 46 ++++++++++++++++++---------------- intro.md | 22 ++++++++-------- survey.md | 40 +++++++++++++++-------------- template.py | 8 +++--- 8 files changed, 82 insertions(+), 71 deletions(-) diff --git a/Makefile b/Makefile index 77a757e3..70fb2921 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,8 @@ MAKE_PDFA := true ifeq ($(MAKE_PDFA),true) - template_opts=--with-pdfx xelatex_opts=-shell-escape else - template_opts= xelatex_opts= endif @@ -28,6 +26,7 @@ all: $(objects) --biblatex \ --toc \ --template="build/template.tex" \ + -M pdfa-$(MAKE_PDFA)=1 \ -M date="`date "+%B %e, %Y"`" \ -M datexmp="`date "+%F"`" \ -V hyperrefoptions=pdfa \ @@ -44,7 +43,7 @@ all: $(objects) build/template.tex: template.py @mkdir -p build pandoc --print-default-template=latex > "${@}" - python3 "${<}" $(template_opts) "${@}" + python3 "${<}" "${@}" clean: rm -f $(objects) diff --git a/call_to_action.md b/call_to_action.md index 0973792c..77ed49d5 100644 --- a/call_to_action.md +++ b/call_to_action.md @@ -39,22 +39,22 @@ detail what needs to be done specifically in Germany. " --- -## Required Next steps -### Implementation Strategies +# Required Next steps +## Implementation Strategies - Ideally over time scientific software engineering becomes part of the curricula at universities. -#### Academic Considerations +### Academic Considerations - Awareness of existing teaching programs - "Branded" Add-on courses - External Institutions provide resources - fully recognised in the academic system. Students get ECTS points. - Bachelor/Master specialisations -#### Broader Considerations +### Broader Considerations - Instilling more respect for people that want to educate themselves for digital competencies - Outreach to people that now have the feeling that they require this training. -## Conclusion +# Conclusion We have identified the RSE as an individual that contributes to research teams with their knowledge about digital tools. Then we have defined generic core competencies from the pillars of Software Engineering, Research and Team processes. We fleshed them out with some possible specialisations of RSEs. diff --git a/competencies.md b/competencies.md index 11e72b73..c1ea750d 100644 --- a/competencies.md +++ b/competencies.md @@ -698,7 +698,7 @@ of developers is based locally within a research team or department, or when they are based in a dedicated, centralised RSE team. We also look at organisational aspects in the context of each of the considered competencies, since there are a variety of ways that organisations can contribute -to and support them, complementing those proposed by @Katerbow2018. Some of them are brought to life in the example career path of @subsec:examplemaster in the appendix. +to and support them, complementing those proposed by @Katerbow2018. Some of them are brought to life in the example career path of @subsec:examplemaster. We first summarise the meaning of each of the columns in the tables: - **Competency:** The code assigned to the competency being considered, as defined in @sec:required-generic-skills. @@ -1080,7 +1080,7 @@ social skill-set focused specialisations Having the competencies is a first step to finding common ground around which to structure curricula, institutions, and teachers in this framework. -Applications of them in an individual's career can be found in the appendix. +Applications of them in an individual's career can be found in @subsec:examplemaster. An omission that we found and that we would like to highlight in order to spark a community discussion is that RSEs that choose explicitly a science-supporting role outside of research will not be eligible for funding under the statutes of many funding organisations that require a PhD at minimum. @@ -1143,6 +1143,8 @@ a direction determined by new incentives created by scientific journals and libr How we update existing institutions and set up new ones that provide this education will be the topic of a follow-up paper. +\appendix + # Appendix {#sec:appendix} ## An example master's programme for research software engineering {#subsec:examplemaster} diff --git a/filter.py b/filter.py index 138134b4..ad6a12a0 100644 --- a/filter.py +++ b/filter.py @@ -39,7 +39,7 @@ def process_markdown(metadata, body, contributors): authors = [] authors_xmp = [] affiliations = {} - acknowledgements = [] + acknowledgements = ["# Acknowledgements {- #sec:acknowledgements}"] # parse metadata for key in metadata["author"]: author_metadata = contributors[key] @@ -62,10 +62,16 @@ def process_markdown(metadata, body, contributors): markdown.append("---") markdown.append(yaml.dump(metadata, allow_unicode=True)) markdown.append("---") - markdown.append(body) - markdown.append("## Acknowledgements") - markdown += acknowledgements - markdown += [f"{v}: {k}" for k, v in affiliations.items()] + token_appendix = "\n\\appendix\n" + if token_appendix in body: + body = body.replace(token_appendix, "\n\n" + "\n".join(acknowledgements) + "\n\n" + token_appendix, 1) + markdown.append(body) + else: + markdown.append(body) + markdown.append("") + markdown.extend(acknowledgements) + markdown.append("") + markdown.extend([f"{v}: {k}" for k, v in affiliations.items()]) return "\n".join(markdown) diff --git a/institutionalised_education.md b/institutionalised_education.md index b01c422c..464ec661 100644 --- a/institutionalised_education.md +++ b/institutionalised_education.md @@ -38,7 +38,7 @@ structures and which additional structures are required. " --- -## Organisational Infrastructures +# Organisational Infrastructures So we have defined our set of competencies that we feel every RSE should possess. Table 2 above nevertheless already hints at the fact that some RSE skills are required during the domain studies, while Table 1 tells us that we also need an ongoing qualification programme for people that want to become specialised RSEs. @@ -47,8 +47,8 @@ In order to set up a proper educational scheme we need to discuss two more items - Who are our teachers? - How is this teaching organised? -### The teachers -#### What issues are trainers facing today? +## The teachers +### What issues are trainers facing today? There are already some people teaching RSE-related topics, sometimes within university structures, but often outside of formal structures. Currently, they often teach in workshop-like formats at research institutions. The community discussion shed light on the issues our trainers are faced with nowadays: @@ -66,7 +66,7 @@ The community discussion shed light on the issues our trainers are faced with no - Lack of 'Train the Trainer' opportunities makes self-improvement difficult. - Get teaching effort attributed as further qualification that counts as a professional qualification. -#### What mindset makes up a good teacher +### What mindset makes up a good teacher Irrespective of where people come from they need to have the proper mindset to properly foster RSEs-to-be. The basis for our proposed mindset is the conviction that research software engineering (RSEing) is an important topic that supports good scientific practice and reproducible research as well as the motivation to share their experience and skills with prospective RSEs. In addition, we expect it is a fundamental part of a teacher's mindset to adopt a set of shared values, which we have detailed above in the [values](#values) section. @@ -81,7 +81,7 @@ Therefore, it is also inevitable that teachers have positive and high expectatio Inspired by the proverb "If you want to go fast, go alone; if you want to go far, go together?", teachers should actively engage with the RSE community and see the benefits of networking. Finally, teachers should be motivated to follow up and offer continued support to their students after the training has ended. -#### Where do we get our teachers from +### Where do we get our teachers from The community discussion brought to light the need for a mixture of people, therefore the education of aspiring RSEs will involve people from close domain sciences or experienced RSEs and people that have respective additional skills to teach RSE competencies to the new generation. @@ -102,9 +102,9 @@ Such a platform should allow to: - align a curriculum with the requirements of academic credit systems, like the European Credit Transfer and Accumulation System (ECTS) [@ECTS] (FIXME: DETAIL ME FURTHER!!!!) -### Organisation of teaching +## Organisation of teaching -#### Certificates +### Certificates With the ever-growing demand for RSEs in science it could be helpful for people to earn certificates for skills needed in certain RSE positions. @@ -137,7 +137,7 @@ A big demand for specialised RSEs will certainly come from the newly established And using the certificates, the demand can now be satisfied with people offering this skill. Some exemplary skills for which courses are already held are version control tools like git, HPC topics like multithreading, MPI and GPU computations, FAIR principles. -## Required Next Steps +# Required Next Steps We have identified the RSE as an individual who brings a unique set of skills for supporting and undertaking modern digital research into research groups and teams. We have elaborated on the basic competencies that RSEs may have, and we have @@ -161,8 +161,8 @@ environment but they may also exist fully or partially outside of the academic s also providing opportunities for education on digital skills into wider society or industry (see [@HPCAkademie] for an existing, HPC focused instance of this). -### First Professional Qualification -#### A possible graduation path within the classical university structures +## First Professional Qualification +### A possible graduation path within the classical university structures We have put forward the idea that familiarity with research is a prerequisite for an RSE in order to be able to work effectively in the research space and in collaboration with researchers. To generate the required number of skilled persons we propose to offer a classical Bachelor's and Master's curriculum at selected sites. In this particular example, we consider a path into RSE via a traditional university route involving Bachelor's and Master's degree studies that include a RSE element. @@ -203,7 +203,7 @@ should do a PhD that on one end combines knowledge of a research domain with sof such that both pillars are suitably covered and have been exposed to research, software development and team dynamics. Graduating from this PhD program, opens a future career path as a lead RSE in their domain to them. -#### Specialised Master's Programs +### Specialised Master's Programs On the other hand, when pursuing a PhD, scientists are increasingly required to do RSE-type work as part of their research as data and computation are becoming part of research tasks in a huge range of fields. @@ -218,11 +218,11 @@ Examples would be Computational Sciences in Engineering (CSE) or Bioinformatics (see Appendix: [Bioinformatics skills and certification]). Where appropriate similar programs should also be established in other domains. -#### Alternative first qualification paths +### Alternative first qualification paths For completeness we mention that vocational programs like the MATSE [@MATSE] can provide a more application oriented less research oriented profile for individuals. Since a certain amount of overlap with sciences is expected, it is expected that programs can be switched with minimal friction. -### Extra-academic institutions for continuous learning +## Extra-academic institutions for continuous learning As elaborated in the instruction the dynamic working place of an RSE requires continuous learning. Knowledge-based industries have long recognised the value of qualifying their employees and hence invest time and money into this. We propose institutionalised structures that offer graduates a venue for life-long learning, or to deepen their skills. @@ -236,7 +236,7 @@ The tasks of these centres is facilitated by reusing the work of initiatives lik Naturally, other existing structures outside of academia mentioned before like the Carpentries [@Carpentries] can be nicely integrated and offered to a broad audience on a regular basis. -## How do we reach people in different stages of their careers? +# How do we reach people in different stages of their careers? Many current RSEs have found their way to being an RSE during their doctoral studies. This transition usually happens slowly. You start programming a tool, and someone else likes it, it becomes known that you have programming skills and suddenly you are the RSE of the group that everyone would like to have in their projects. If you enjoy this role, you need to be aware that there is a RSE career path as well as that specialised training materials exist. One place to generate awareness of the career option and training is universities' doctoral on-boarding processes or right thereafter. @@ -327,13 +327,13 @@ Further ideas: - more inclusive RSE-Humanities teaching material [@Crymble2016; @Sichani2019] - related discussion in CSE [@Webb2017] -### Improve findability of open educational resources +## Improve findability of open educational resources Although multiple organisations have published open educational resources for RSEs, in particular for foundational skills, their findability can be significantly improved. The RSE community of lacks an agreed-upon standard of metadata with which to annotate RSE OER, which would help learners as well as teachers to find suitable resources to satisfy their concerns. Building on such annotations, a community agreed-upon registry for RSE OER would additionally improve the situation. -### Micro-accreditation +## Micro-accreditation With the existence of institutions for continuous learning after the first professional level of education the question of certification arises. We propose, digital certificates and @@ -389,13 +389,15 @@ remaining Plan: FIXME: The career path discussion. -## Appendix +\appendix -### An applied example curriculum -### An example of a possible career path +# Appendix + +## An applied example curriculum +## An example of a possible career path - We can follow Kim, who has been the protagonist of the original deRSE Paper. -### HPC skills and certification +## HPC skills and certification As an area that generally requires a range of advanced skills, High Performance Computing (HPC) is one field where there is ongoing work @@ -415,7 +417,7 @@ and exascale domains. The project is gathering open source training materials to develop curricula that support the training pathways that are underpinned by high-quality training materials. -### Bioinformatics skills and certification +## Bioinformatics skills and certification Bioinformatics is another field that actively works on developing skill trees. The Bioinformatics Core Competencies [@Mulder2018; @Welch2016; @Welch2014], @@ -448,7 +450,7 @@ in bioinformatics [@BioinformaticsCertification; @Mulder2018]. The database includes Bachelor and Master's degree programs and specialisations, PhD programs, and certificates from graduate schools. -### Digital competencies and certification +## Digital competencies and certification The European Commission Joint Research Center developed the "DigComp" framework to categorise general digital competencies in 8 levels of proficiency diff --git a/intro.md b/intro.md index f3bdd7cd..979f3b5d 100644 --- a/intro.md +++ b/intro.md @@ -45,7 +45,7 @@ The discussion in this paper is meant to be general. Therefore, we will discuss " --- -## Introduction +# Introduction - background - RSEs have been around for a long time but the name is new. - RSEs have a specialist skill set that brings together technical and research knowledge. @@ -139,7 +139,7 @@ the training of new RSEs. FIXME (finalisation): Exchange chapter titles by numbers? -### Some Definitions +## Some Definitions A few definitions are in order. First, as software, we define source code, documentation, tests and all other artefacts that are created by humans during the development process @@ -167,7 +167,7 @@ create or improve research software and/or the structures that the software inte in the computational ecosystem of a research domain. They are highly skilled team members who can also conduct their own research as part of their role. -### Intended Target Audience +## Intended Target Audience While this paper is based on discussions held during a workshop at the deRSE23 conference we believe that the competencies formulated here have a far-reaching impact beyond the domain of RSE into adjacent fields of science. The most @@ -188,7 +188,7 @@ valuable in order to observe how software development in academia will be institutionalised. Finally, the strong emphasis on team skills allows RSEs to be very employable in industrial workplaces. -### National Context +## National Context Having been developed at a workshop in Paderborn in Germany, naturally a part of the discussion in this paper focuses on the German academic landscape. @@ -197,7 +197,7 @@ we are nevertheless dealing with the education of humans to become RSEs - A topic that is of major relevance also in an international context. -## Values +# Values The activities of an RSE are guided by ethical values. A general list of applicable values is given in the Software Engineering Code of Ethics [@Gotterbarn1999]. @@ -216,7 +216,7 @@ This situation yields a specific set of challenges RSEs should be aware of to consciously make ethically sound judgement calls. We list some example areas that could be addressed in RSE courses or workshops. -### Personal data +## Personal data Independent from the encoding into the respective national law in an RSE's jurisdiction, the right to information privacy is internationally recognised as a fundamental human right, @@ -227,7 +227,7 @@ Handling personal data also has ramifications for information security considera Data protection is a difficult subject and RSEs should notice when they need to consult external expertise for example when dealing with special topics such as cryptography or re-identification attacks (e.g. @Sweeney2002). -### Mentoring and diversity +## Mentoring and diversity RSEs are often experienced professionals who instruct and work closely with early career researchers. Similarly to academic supervisors, they bear a certain responsibility to guide and advise younger colleagues @@ -238,7 +238,7 @@ to encourage, mentor and empower people who gravitate towards software-related o In this capacity, they should be aware of the diversity problem and help to mediate it whenever they have the chance to do so. -### The scientific community +## The scientific community Through writing research software, RSEs have a pivotal position in the process of scientific production. Their choices might determine whether the respective research is reproducible or not, @@ -247,7 +247,7 @@ Builders of larger research-infrastructure projects determine to some extent the possibilities and limitations of future research and therefore need to be aware of concepts such as Open Science, path dependence and vendor lock-in. -### Emerging challenges +## Emerging challenges RSEs often operate at the cutting edge of technological development and therefore might have to deal with technologies of which the dangers and drawbacks are still poorly understood. @@ -255,7 +255,7 @@ A current example is the rush for the application of Large Language Models (LLMs where RSEs working in these fields should stay up-to-date and be able to help researchers to assess topics such as training-data bias, LLM "hallucinations" or malicious use. -### Number of required RSE graduates +## Number of required RSE graduates In order to set up the argument for dedicated RSE education we need at least a ballpark estimate of the number of required graduates. We start from the number of researchers in Germany. The OECD Data [@OECD2023] reports a number of 667,394 researchers in 2019. In public research alone we have better numbers and 71,733 researchers were recorded in 2020. @@ -268,7 +268,7 @@ This calculation assumes that RSEs remain within the research community and do n While this calculation is only supposed to give a rough ballpark estimate, we note that Germany has 319 places of higher education [@destatis2023]. Having only three RSEs at each site already gives a requirement of 1000 persons. -## Identifying skills and pathways +# Identifying skills and pathways The development of a standardised list of RSE competencies could help develop metrics to measure an individual's progression in specific RSE skill sets, diff --git a/survey.md b/survey.md index 77d83434..72778ca2 100644 --- a/survey.md +++ b/survey.md @@ -35,7 +35,7 @@ In this publication we survey the existing RSE-training related resources and in " --- -## Related Work and Activities +# Related Work and Activities The challenges of understanding the current state of skills within the research software community and related areas, @@ -44,7 +44,7 @@ and providing training materials are areas that are being looked at and addressed by various groups and projects. In this section, we highlight some of these other projects and activities. -### RSE-related training resources +## RSE-related training resources The day-to-day work of many RSEs often includes teaching activities to improve the RSE-related skill-set of researchers, e.g. in university courses, workshops or one-on-one. @@ -60,7 +60,7 @@ and any change is automatically mirrored to their websites. The organisations and initiatives listed below provide support for teaching activities conducted by RSEs but are also helpful to fill gaps in the capabilities of professional RSEs. -#### The Carpentries +### The Carpentries The Carpentries [@Carpentries] is a non-profit entity that supports a range of open source training materials and international communities @@ -83,7 +83,7 @@ Carpentry instructors must be certified before organising a workshop. There is a selection process [@CarpentriesBecomingInstructor] as well as an instructor training course, upon which a certificate is delivered [@Wilson2013a]. -#### CodeRefinery +### CodeRefinery CodeRefinery [@CodeRefinery] is a project currently funded by the Nordic e-Infrastructure and thus active primarily in the Nordics with the goal @@ -100,7 +100,7 @@ seamlessly integrates with other initiatives. FIXME: elaborate on the integration part if it's relevant, else leave out. -#### PRACE +### PRACE The Partnership for Advanced Computing in Europe (PRACE) [@PRACE] offers training in the form of massive open online courses (MOOCs), online and on-site training @@ -111,7 +111,7 @@ tailored for HPC-RSE, several recurring courses about programming languages best practices, modern software design [@LRZModernCpp], project management and version control [@LRZIntroCpp]. -#### Helmholtz +### Helmholtz As part of its push towards a better RSE environment, the Helmholtz Association launched the Helmholtz Federated IT Services platform (HIFIS) [@HIFIS] @@ -130,7 +130,7 @@ Further RSE training offers within the Helmholtz context are provided by the Helmholtz-AI [@HAI] and Helmholtz-Imaging [@HImaging] platforms as well as the Helmholtz Metadata Collaboration platform [@HMC]. -#### ENCCS +### ENCCS The [National Competence Center Sweden (ENCCS)](https://enccs.se/) has created a collection of lessons for HPC-oriented RSEs [@ENCCSLessons] and @@ -139,7 +139,7 @@ to create their own instructor manual [@ENCCSInstructorTraining; @ENCCS2022]. The ENCCS lessons are targeted at individuals who already have general RSE skills and are seeking new skills relevant to HPC and software engineering. -#### German National Research Data Infrastructure (NFDI) +### German National Research Data Infrastructure (NFDI) EduTrain (Training & Education) [@EDUTRAIN] is a section of the NFDI [@NFDI]. Based on the slogan "data literacy from the beginning", @@ -164,7 +164,7 @@ One specific example is the lecture 'Sustainable Development of Simulation Softw that has been developed as master's course at the Institute for Modelling Hydraulic and Environmental Systems at the University of Stuttgart [@SDSSCOURSE; @SDSSMATERIAL]. -#### SureSoft +### SureSoft SureSoft [@SURESOFTLink] is a DFG funded project at TU Braunschweig and FAU Erlangen-Nürnberg fostering the sustainability of research software @@ -173,7 +173,7 @@ engineering community [@SURESOFT2022]. The project implements a twofold approach that combines tools and infrastructure with education in the form of workshops and training. -#### Programming Historian +### Programming Historian The [Programming Historian](https://programminghistorian.org/) is an open-source, peer-reviewed journal of digital humanities @@ -181,7 +181,7 @@ edited in English, Spanish, French, and Portuguese. It publishes hands-on tutorials on shell, Python, and software specialised for digital humanities. -### FAIRness of RSE-related (open) educational resources(OER) +## FAIRness of RSE-related (open) educational resources(OER) Due to the ever-evolving nature of skills and infrastructure in the RSE field, training materials are often open educational resources(OER) that are often version-controlled, so that trainers can update them @@ -231,12 +231,12 @@ ADDME: [@Pinto2017; @Pereira2021; @Oprescu2022; @Couto2020], teaching by SusTrainable [@SusTrainable; @Koopman2022] -## Challenges +# Challenges - Point out gaps - What is missing - domain application? -### A fundamental skills gap +## A fundamental skills gap A major challenge for the future of Research Software Engineering is the significant gap between the availability of basic training @@ -298,10 +298,12 @@ FIXME: - OER certification proposal in Austria [@Schon2023] - databases: see Appendix section [Directories of resources] -## Appendix -### Sources for RSE-related training material +\appendix -#### Books +# Appendix +## Sources for RSE-related training material + +### Books + "Producing Open Source Software" ([@Fogel2005; @Fogel2017]) describes a lot of aspects for running a free software project. @@ -310,7 +312,7 @@ FIXME: Python programming novices and introduces a set of essential tools next to the programming language itself. -#### Course material +### Course material + The Software Carpentries Lessons [@CarpentriesSoftware] provide extensive teaching material for basic research software skills geared towards researchers. @@ -318,7 +320,7 @@ FIXME: + The unofficial MIT course "The Missing Semester of Your CS Education" ([@Athalye2023]) covers a lot of basic computer skills typically taught by RSEs. -#### Train-the-trainers material +### Train-the-trainers material + "Teaching Tech Together" is a book that derives from and extends the Carpentries Instructor Training [@Brown2023], @@ -328,7 +330,7 @@ FIXME: developed from Carpentries and CodeRefinery material, as well as lessons for HPC-oriented RSEs [@ENCCSLessons]. -#### Directories of resources +### Directories of resources + Better Scientific Software [BSSW](https://bssw.io/) (Collection of resources for computational science and engineering) diff --git a/template.py b/template.py index 449daef8..7bc36c72 100644 --- a/template.py +++ b/template.py @@ -7,7 +7,6 @@ parser = argparse.ArgumentParser() parser.add_argument("file", type=str, help="pandoc template file") -parser.add_argument("--with-pdfx", action="store_true", help="use pdfx") args = parser.parse_args() def substitute(content, old_text, new_text): @@ -19,9 +18,9 @@ def substitute(content, old_text, new_text): content = f.read() # generate XMP data and make document PDF-A compliant -if args.with_pdfx: - content = re.sub("\n *pdfcreator=\{[^\{\}]+\},?", "\n", content) - content = substitute(content, r"\begin{document}", r""" +content = re.sub("\n *pdfcreator=\{[^\{\}]+\},?", "\n$if(pdfa-true)$\n$else$\g<0>\n$endif$\n", content) +content = substitute(content, r"\begin{document}", r""" +$if(pdfa-true)$ \begin{filecontents*}{\jobname.xmpdata} \Author{$for(authorxmp)$$authorxmp$$sep$\sep $endfor$} $if(title-meta)$ @@ -46,6 +45,7 @@ def substitute(content, old_text, new_text): % PDF/A compliance with pdfx, must be loaded last (loads hyperref and xcolor) \usepackage[a-3u]{pdfx} +$endif$ \begin{document}""") From 4cb569fe407369324b9b57127d2f7c06f1338fff Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 16:26:47 +0100 Subject: [PATCH 033/108] remove remaining old-style refs --- competencies.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/competencies.md b/competencies.md index c1ea750d..2723921d 100644 --- a/competencies.md +++ b/competencies.md @@ -156,9 +156,9 @@ recommendations for organisations that need to support RSEs. and discusses the level of skill needed to work in each of them, before we conclude the paper with details of future work in @sec:future-work and conclusions in @sec:conclusion. -Finally, the [appendix](#appendix) provides an [example curriculum](#an-example-master-s-programme-for-research-software-engineering), -an example [career path](#an-example-of-a-possible-career-path) for an RSE through the hierarchy, -and a list of existing skills and certifications in related fields, such as [bioinformatics](#bioinformatics-skills-and-certification). +Finally, @sec:appendix provides an example curriculum in @subsec:examplemaster, +a story like description of a fictional RSE career progression in @subsec:examplecareer, +and a list of existing skills and certifications in related fields, in @subsec:existingframeworks. ## Terminology @@ -1276,7 +1276,7 @@ as well as her capability to enable, foster and contribute to high-quality resea It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a Principal Investigator for RSE-focused grant applications. It is also recognised by many prestigious universities and opens many career options that are also typical for PhDs. Kay can now write her own grant proposals to effectively fund work of moving research software projects from prototypes to infrastructure. -## Existing frameworks +## Existing frameworks {#subsec:existingframeworks} ### HPC skills and certification From d8db6554314e2fc2561af1a94fde40aa1e0a9ef3 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Wed, 15 Nov 2023 16:44:26 +0100 Subject: [PATCH 034/108] 139 rse certificate for dfg (#190) * remove last instance of the sed * Add a reference to some actual DFG regulations. clarify that it's a certification of the completion of the scientific education. * Update competencies.md Co-authored-by: Gerasimos Chourdakis --------- Co-authored-by: Florian Goth Co-authored-by: Gerasimos Chourdakis Co-authored-by: Florian Goth --- bibliography.bib | 9 +++++++++ competencies.md | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index de473ec6..fb834a4c 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -1388,6 +1388,15 @@ @Misc{DFGResearchSoftwareCall2022 urldate = {2023-08-11}, } +@Misc{DFG_50_01, + author = {{German Research Foundation}}, + title = {Merkblatt Programm Sachbeihilfe}, + month = jun, + year = {2023}, + url = {https://www.dfg.de/formulare/50_01/50_01_en.pdf}, + urldate = {2023-11-14}, +} + @misc{dfg_gsp, author = {Deutsche Forschungsgemeinschaft}, title = {Guidelines for Safeguarding Good Research Practice. Code of Conduct}, diff --git a/competencies.md b/competencies.md index 2723921d..e625a839 100644 --- a/competencies.md +++ b/competencies.md @@ -1085,8 +1085,10 @@ An omission that we found and that we would like to highlight in order to spark is that RSEs that choose explicitly a science-supporting role outside of research will not be eligible for funding under the statutes of many funding organisations that require a PhD at minimum. To alleviate that and give RSEs in leadership positions a means -to become eligible for funding themselves, we propose the introduction of a "science-enabling doctorate" -that can be handed out on an honorary basis by certain institutions. +to become eligible for funding themselves, since completion of scientific training is often a requirement [@DFG_50_01], +we propose the introduction of certificates that can be handed out by selected institutions. +Examples of this could be doctorates based on software contributions to the scientific community, or new +certificates like the certificate in @subsec:examplecareer that should become widely accepted. Beyond having that discussion, a diverse set of publications is already in the making. Next, we will work on how to institutionalise education. In that publication, we will detail how we organise our institutions and what qualifications our teachers From ad60e332967470b951f653ef41fac0bb20b55115 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 16:49:27 +0100 Subject: [PATCH 035/108] add a note about interdisciplinarity --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index e625a839..af91b71c 100644 --- a/competencies.md +++ b/competencies.md @@ -915,7 +915,7 @@ The current situation may differ. to support team-based software development.& Must be able to work and collaborate effectively in a team, use required tools and processes, infrastructure, etc.& - Should offer support with team work. Should facilitate team-building initiatives, + Should offer support with team work and promote interdisciplinary interaction. Should facilitate team-building initiatives, also on a social level. \\\hline \end{longtable} From df83f160bdf168fc91cda6e97b2744bd1b4ce2b2 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 16:51:19 +0100 Subject: [PATCH 036/108] add a note about interdisciplinarity --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index af91b71c..8619ee96 100644 --- a/competencies.md +++ b/competencies.md @@ -913,7 +913,7 @@ The current situation may differ. with researchers they are potentially developing code for.& Must have strong team skills and knowledge to support team-based software development.& - Must be able to work and collaborate effectively in a team, + Must be able to work and collaborate effectively in an interdisciplinary team, use required tools and processes, infrastructure, etc.& Should offer support with team work and promote interdisciplinary interaction. Should facilitate team-building initiatives, also on a social level. From 4bf737fc42bd7c25b33c0e8fe52c241387d99c00 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 16:54:17 +0100 Subject: [PATCH 037/108] Consistent capitalizations (#196) --- competencies.md | 62 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/competencies.md b/competencies.md index 8619ee96..39574ce3 100644 --- a/competencies.md +++ b/competencies.md @@ -66,7 +66,7 @@ Computers and software have played a key role in the research life-cycle for man decades, while they are now vital elements of the research process across almost all domains. They enable researchers to collect and process ever increasing amounts of data, simulate a wide range of physical phenomena across previously unexplored scales of the universe, -and discover previously inconceivably complex structures in nature and societies via Machine Learning. +and discover previously inconceivably complex structures in nature and societies via machine learning. This prevalence of computations in research means that basic software skills are now required by researchers at all career levels, and in fields significantly beyond the previously expected. @@ -97,7 +97,7 @@ allowing for better training of researchers and more effective support for the d quality research software. There is still a long way to go, but positive change is well underway. -RSEs may work within one of the increasing number of Research Software Engineering teams that +RSEs may work within one of the increasing number of research software engineering teams that have been set up at universities and research organisations over the past decade, or they may be embedded within a research team. They may have a job title that officially recognises them as an RSE, or @@ -139,7 +139,7 @@ We start with a non-exhaustive overview of existing initiatives in @sec:related- provide the guiding principles for the work of an RSE. @sec:required-generic-skills defines a set of core skills based on these values. The skills themselves fall into three categories, namely -"software engineering", "research", and "communication skills", +"software engineering", "research", and "communication" skills, reflecting the hybrid nature of an RSE. To justify the selection of these skills, we also list some current tasks @@ -170,13 +170,13 @@ Therefore, to avoid ambiguities, we define these as follows: and all other artefacts that are created by humans during the development process that are necessary to understand its purpose. -**Research Software**: Foundational algorithms, the software itself, +**Research software**: Foundational algorithms, the software itself, as well as scripts and computational workflows that were created during the research process or for a research purpose, across all domains of research. This definition is broader than in @FAIR4RS and is the outcome of a recent discussion in @Gruenpeter2021. -**Research Software Engineers**: People who +**Research software engineers**: People who create or improve research software and/or the structures that the software interacts with in the computational ecosystem of a research domain. They are highly skilled team members who may also choose to conduct their own research as @@ -257,7 +257,7 @@ the Helmholtz Federated IT Services platform (HIFIS) [@HIFIS], and the already m The activities of an RSE are guided by ethical values. In addition to the values for good scientific practice [@dfg_gsp], RSEs also adhere to -the Software Engineering Code of Ethics [@Gotterbarn1999]. +the software engineering Code of Ethics [@Gotterbarn1999]. Central to that code is the RSE's obligation to commit to the health, safety and welfare of the public and act in the interest of society, their employer and their clients. Further values loosely based on that code include the obligations @@ -318,7 +318,7 @@ such as open science, path dependence, and vendor lock-in. RSEs often operate at the cutting edge of technological development and therefore might have to deal with technologies of which the dangers and drawbacks are still poorly understood. -A current example is the rush for the application of Large Language Models (LLMs), +A current example is the rush for the application of large language models (LLMs), where RSEs working in these fields should stay up-to-date and be able to help researchers assess topics such as training-data bias, LLM "hallucinations" or malicious use, with the greater goal of making these powerful tools work for the welfare of society. @@ -461,7 +461,7 @@ They are embedded in a research group or work within a team of RSEs supporting p RSEs often need to interact with and facilitate communication among colleagues, clients and contractors with a very broad spectrum of background-knowledge, specialisation, expectations, and experience. Communication skills are therefore crucially important. -Team skills are also mentioned in common guides for software engineering such as the Software Engineering Body of Knowledge [@swebok_2014]. +Team skills are also mentioned in common guides for software engineering such as the software engineering body of knowledge [@swebok_2014]. However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. @@ -519,14 +519,14 @@ what they would like to have learnt. Among the top five things mentioned were: SWREPOS, SRU, SP in order to understand the ramifications of sharing, and DOCBB, since the contributed code has to be understood by others. Interacting with project members depends on the TEAM skill. Today this entails the effective - use of collaborative platforms like GitHub/GitLab, honouring a project's Code of - Conduct, and some knowledge of popular software licenses like e.g. the GPL. + use of collaborative platforms like GitHub/GitLab, honouring a project's code of + conduct, and some knowledge of popular software licenses like e.g. the GPL. - When or why to keep repositories private. This decision requires knowledge in the RC, to understand when it makes sense to open up or close down a repository. The USERS, TEAM and sometimes SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. -- Proper Development. This broad topic requires all of the SE skills. Of course, +- Proper development. This broad topic requires all of the SE skills. Of course, these are the competencies that are the most fluid since they have to adapt at a high rate to technological advancements. Additionally, proper SE skills often require knowledge of TEAM, and PM. Today this means effective use of IDEs, @@ -926,9 +926,9 @@ to and handled by researchers and RSEs working in different environments within an organisation and how the organisations themselves can contribute. We recognise that this is a challenging area to gain a detailed view of and that our content in the table is still a significant generalisation. -We talk about the "Research Software Engineer" as a single entity but as the field expands, +We talk about the "research software engineer" as a single entity but as the field expands, we expect to see more roles and job titles emerging around the RSE concept, -many of which fit under the wider umbrella of Research Technology Professionals (RTPs). +many of which fit under the wider umbrella of research technology professionals (RTPs). Examples are different RSE-like computational roles of the European Bioinformatics Institute (EMBL-EBI)'s BioExcel competency framework [@BIOEXCEL] (also @subsec:emblbio), as is a range of different roles from King's Digital Lab at King's College London [@KDL]. @@ -946,9 +946,9 @@ while other RSEs might expand their skill set and profession to areas, that are ## Specialisations within the core RSE competencies #### OpenScience RSE -Open Science and FAIRness of Data and Software are increasingly important topics in research, +Open science and FAIRness of data and software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence, an Open Science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). +Hence, an open science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -1123,7 +1123,7 @@ In this publication, we have tried to formalise these concepts. We have formulated a set of values that guide our actions in society, manifestly making RSEs part of the scientific community that shares the ideals of good scientific practice. At the same time, -being Software Engineers, we cherish that we have to take responsibility for our tools. +being software engineers, we cherish that we have to take responsibility for our tools. We continue with core competencies that have been intentionally formulated abstractly without referencing any particular information-processing device. As expected, we draw equally upon notions from software engineering and research, @@ -1167,20 +1167,20 @@ and attend these additional modules to deepen their knowledge in the field. Core modules are of course drawn from the three pillars of the RSE and can be categorised accordingly. -- Software Engineering Skills: - - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). - - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). - - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (DOCBB, LIBS) on a more abstract level. +- Software engineering skills: + - Foundational module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). + - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools like the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). + - Software architecture module: Here we teach software design and software engineering, again strengthening (DOCBB, LIBS) on a more abstract level. -- Research Skills: - - Optional Domain Mastery Module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (SRU, SP, DOMREP). - - Meta-Research Module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. +- Research skills: + - Optional domain mastery module: Additional minor research courses, but students with a home-domain already have the research part well-covered. + - Research tools module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (SRU, SP, DOMREP). + - Meta-research module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. -- Communication Skills: - - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(PM). - - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (USERS) skill. - - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (TEACH) skill. +- Communication skills: + - Project management methods: Here we teach project management methods that are useful in science, such as agile ones (PM). + - Communication skills module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (USERS) skill. + - Teaching module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (TEACH) skill. Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. @@ -1235,7 +1235,7 @@ which makes her happier than the subdued sense of achievement from having a rese For her, coding and sharing knowledge in the form of software is of similar importance to writing a paper focused mostly on the obtained results. The domain-agnostic RSE Master programme consists of a core of RSE topics with various electives for specialisation, some of them domain-specific (e.g., chemistry) or topic-specific (e.g., cloud computing for research). -Kay chooses digital archaeology and develops a pipeline for reconstructing 3D models from ground penetrating radar data, to simplify the process for archaeologists (Reproducibility, Big Data, Machine Learning). +Kay chooses digital archaeology and develops a pipeline for reconstructing 3D models from ground penetrating radar data, to simplify the process for archaeologists (reproducibility, big data, machine learning). The project management skills that are being taught as part of the core RSE curriculum really help her to not get lost in this project. Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. @@ -1293,7 +1293,7 @@ in collaboration with initiatives funded by the European High Performance Comput Joint Undertaking (EuroHPC JU) to create a framework for HPC certification [@EuroHPCJU2023]. While this framework focuses mostly on skills specific to HPC, there are a couple of similarities to the framework proposed in this paper. The "SD: Software Development" skill set -is very similar to the Software Engineering skills discussed in @sec:required-generic-skills, +is very similar to the software engineering skills discussed in @sec:required-generic-skills, describing a wide range of such skills. This skill set contains Programming Best Practices (SD2), Software Configuration Management (SD3), Software Quality (SD5), @@ -1347,7 +1347,7 @@ PhD programs, and certificates from graduate schools. BioExcel has research competencies that combine some of our research competencies and some notions from the communication skills. Their computing competencies roughly map to our software skills. -Here, we find competencies such as "Package and distribute Software", which maps to our (LIBS) competencies, +Here, we find competencies such as "package and distribute software", which maps to our (LIBS) competencies, and "comply with licensing policy", which would in our framework be part of (SP) in the research competencies. In addition, they have a dedicated parallel computing competency section, thereby shifting the emphasis of the knowledge of their computational tools towards the HPC-RSE specialisation in our framework. From b868b0f2e1a4230e5e02deed5142752bcdceedf3 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 16:57:46 +0100 Subject: [PATCH 038/108] Minor language fixes for British English (#195) * Minor language fixes for British English * Teach the spellchecker about digitalisation --------- Co-authored-by: CaptainSifff --- .github/spellignore.txt | 2 +- competencies.md | 44 ++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 3732b887..86c23bd6 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -35,7 +35,7 @@ DigComp DigCompEdu DigCompOrg DigiFlex -digitalization +digitalisation DigitalSkillsGap distributable DMP diff --git a/competencies.md b/competencies.md index 39574ce3..ded5a5a2 100644 --- a/competencies.md +++ b/competencies.md @@ -64,7 +64,7 @@ An Appendix details how existing curricula fit into this framework. Computers and software have played a key role in the research life-cycle for many decades, while they are now vital elements of the research process across almost all domains. -They enable researchers to collect and process ever increasing amounts of data, +They enable researchers to collect and process ever-increasing amounts of data, simulate a wide range of physical phenomena across previously unexplored scales of the universe, and discover previously inconceivably complex structures in nature and societies via machine learning. This prevalence of computations in research means that basic @@ -130,7 +130,7 @@ At the same time, funding bodies and computing infrastructure providers prioritise projects that generate archived, annotated, re-usable, and potentially remotely executable data. In particular, funding agencies and research managers will find the discussion in this paper -valuable in order to discover where RSEs see their place in the existing landscape of scientific domains. +valuable in order to discover where RSEs see their place in the existing landscape of scientific domains and how to support the work of RSEs at different positions and career levels. The outline of the paper is as follows. @@ -282,8 +282,8 @@ We list some example areas that highlight present-day challenges. A lot of RSE work involves the manipulation or creation of data processing devices. We highlight that professional conduct requires these creations to be reliable and to maintain data integrity. -In particular, the way that personal data is handled can have far reaching implications for society. -Independent from the encoding into the respective national law in an RSE's jurisdiction, +In particular, the way that personal data is handled can have far-reaching implications for society. +Independent of the encoding into the respective national law in an RSE's jurisdiction, the right to information privacy is internationally recognised as a fundamental human right, e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance @@ -336,7 +336,7 @@ broad setting and form the foundation for specific specialisations. These competencies have been chosen in order to make RSEs contribute to an open and inclusive research environment, with tools that respect their professional values. -These skills and competencies come into play in various forms: first of all the +These skills and competencies come into play in various forms: The RSEs themselves need to acquire and develop them as their career progresses (**Career level**). However, some knowledge of software and data processing is required at all academic levels and for all positions @@ -422,7 +422,7 @@ One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, despite friendly competition, shares the common goal of gaining knowledge for its own sake and not just for personal or commercial gain. -Thereby they know that they are part of a bigger cycle that involves many other parties in and outside of +Thereby they know that they are part of a bigger cycle that involves many other parties in and outside their domain, and also that their software can be utilised at different stages of the research cycle by different people. Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of @@ -440,10 +440,10 @@ expected sustainability, and extensibility also have to be part of this evaluati The second part of FAIR software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. -RSEs need to have a basic understanding of common software license types, such as "proprietary", "copyleft", and "permissive", -the compatibility of different common licenses and the ramifications for re-using and composing programs. +RSEs need to have a basic understanding of common software licence types, such as "proprietary", "copyleft", and "permissive", +the compatibility of different common licences and the ramifications for re-using and composing programs. Finally, RSEs will need to properly execute the technicalities of software publishing, -such as applying licenses, honouring copyright statements and crediting contributors. +such as applying licences, honouring copyright statements and crediting contributors. ### Using domain repositories/directories (DOMREP) @@ -520,13 +520,13 @@ what they would like to have learnt. Among the top five things mentioned were: since the contributed code has to be understood by others. Interacting with project members depends on the TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's code of - conduct, and some knowledge of popular software licenses like e.g. the GPL. + conduct, and some knowledge of popular software licences like e.g. the GPL. - When or why to keep repositories private. This decision requires knowledge in the RC, to understand when it makes sense to open up or close down a repository. The USERS, TEAM and sometimes SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. -- Proper development. This broad topic requires all of the SE skills. Of course, +- Proper development. This broad topic requires all the SE skills. Of course, these are the competencies that are the most fluid since they have to adapt at a high rate to technological advancements. Additionally, proper SE skills often require knowledge of TEAM, and PM. Today this means effective use of IDEs, @@ -569,7 +569,7 @@ At different career levels, differing skills are required. We have set this up a - Junior RSE: These are people who are in the earlier stages of their RSE career journey, but they should still have the skills to contribute reliable and well-structured code to software projects. - Senior RSE: They have gained experience and can set the standards in a software project. -- Principal RSE: Their actual job description varies a lot. These may be RSE team leaders based in a professional services type role, or they may be professors or research group leaders based in a more academic-focused role. They are often the people responsible for bringing in the funding that supports new projects and sustains existing projects. Generally speaking, they do not need to be actively involved in the day-to-day technical tasks but they should be able to guide projects from both a technical and a research perspective while providing an inclusive working space. +- Principal RSE: Their actual job description varies a lot. These may be RSE team leaders based in a professional services type role, or they may be professors or research group leaders based in a more academic-focused role. They are often the people responsible for bringing in the funding that supports new projects and sustains existing projects. Generally speaking, they do not need to be actively involved in the day-to-day technical tasks, but they should be able to guide projects from both a technical and a research perspective while providing an inclusive working space. @tbl:comp-lvls-se, @tbl:comp-lvls-res, and @tbl:comp-lvls-comm elaborate on the required facets of the competencies in different roles. A story-like example of an individual through the hierarchies can be found in @subsec:examplecareer . @@ -645,7 +645,7 @@ During their studies, they should also learn about the existence of digital tool Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). At this level, it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, NEW). -They should have an awareness of software licenses and whom to ask regarding licensing issues (SP). +They should have an awareness of software licences and whom to ask regarding licensing issues (SP). They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). During practicals, they will have an opportunity for peer learning (TEACH). @@ -664,7 +664,7 @@ They need to know relevant tools and structures. They should know where to find information about tools and where to find help using them (DOCBB, SWREPOS). They should be able to use the tools (LIBS) and identify and report bugs (MOD). They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). -They might produce new software (MOD, SRU), in which case they need to understand how to license their code for publication (SP). +They might produce new software (MOD, SRU), in which case they need to understand how to licence their code for publication (SP). PhD students need to be curious to be able to conduct their research. In order to be able to explore new tools (NEW) they must be able to evaluate research software (SWLC). They need to be able to interact with services (RC) and domain specific repositories (DOMREP). @@ -1061,7 +1061,7 @@ range of researchers or even the public to use the resulting applications. Therefore, a deep knowledge of web development skills is a required additional skill for this RSE. #### Legal-RSE -All RSEs are a go-to person for questions about licensing, in particular when mixing software components with different licenses. +All RSEs are a go-to person for questions about licensing, in particular when mixing software components with different licences. But with the rising requirements from legislation, we foresee the need for RSEs that still have a background in RSE but extend it with a knowledge of legal processes, that cover corner cases and go beyond applying Best Practice guides. @@ -1095,7 +1095,7 @@ In that publication, we will detail how we organise our institutions and what qu need to have in order to effectively communicate our values. We will put forward ideas on how to build up bachelor's and master's programmes, of which a glimpse can already be found in this paper's appendix. -We will show how we intend to provide the necessary continuous education for RSEs after graduation +We will show how we intend to provide the necessary continuous education for RSEs after graduation, and we will connect that with the integration of RSEs into a mesh of community networks aimed at supporting research, while providing them with an inclusive social network that further facilitates life-long learning. That publication will again intentionally be free of regional specifics, to also serve @@ -1118,7 +1118,7 @@ where people working in RSE related fields got together to figure out structures and ideas for educating newcomers to this field. One outcome of this diverse gathering is that RSEs from far away fields gather around similar core concepts, and at the same time share a vision of how to -update the scientific ecosystem to the age of digitalization. +update the scientific ecosystem to the age of digitalisation. In this publication, we have tried to formalise these concepts. We have formulated a set of values that guide our actions in society, manifestly making RSEs part of the scientific community that shares the ideals of good scientific practice. @@ -1186,12 +1186,12 @@ Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. -We recommend covering both the candidate's home domain as well as another domain of science. +We recommend covering both the candidate's home domain and another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE students take the role of a consultant. This setup strengthens the (TEAM, TEACH, USERS) skill and most likely also the (MOD) skill through interaction. -To emphasise the exposure to domains outside of their bachelor's degree domain, +To emphasise the exposure to domains outside their bachelor's degree domain, we recommend that RSEs also support their non-home-domain project by supporting it with introductory courses from this discipline. We support the idea of broadening the interaction with other domains even more. This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (MOD). @@ -1244,7 +1244,7 @@ Towards the end of the programme, she visits her first RSE conference where she that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish -her software project under a license approved by the Open Source Initiative and write an accompanying article in the open source journal JOSS[@JOSS]. +her software project under a licence approved by the Open Source Initiative and write an accompanying article in the open source journal JOSS[@JOSS]. Kay has now completed the RSE programme and has reached Junior RSE level. #### Junior RSE @@ -1254,7 +1254,7 @@ Although the contract is temporary, there is a good chance that it will lead to Kay completes the Software Carpentry Instructor training and teaches basic research computing, while advising fellow students of her department on better programming (DOCBB and MOD skill). She also runs a seminar in the RSE Master's programme. She publishes a condensed version of that in JOSE[@JOSE]. -During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE +During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE, and she gladly signs up to focus more on her communication skills. After three years, she takes an exciting opportunity to work in another university. @@ -1334,7 +1334,7 @@ and compared against one another Competencies can be divided into more fine-grained building blocks: knowledge, skills and abilities (KSAs). They can be organised in a taxonomy, -and are also transferable, i.e. a KSA can be a pre-requisite to multiple competencies. +and are also transferable, i.e. a KSA can be a prerequisite to multiple competencies. The Mastery Rubric for Bioinformatics [@Tractenberg2019] and the ELIXIR Data Stewardship Competency Framework for Life Sciences [@Scholtens2019] are examples of KSA frameworks for bioinformatics curricula. From 5c7dc5a35ff1e6358926e30f854d3f59a5fdf3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Wed, 15 Nov 2023 16:58:40 +0100 Subject: [PATCH 039/108] Change font families (#180) --- .github/workflows/compile.yml | 1 + Makefile | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index da85ddc6..8a2605da 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -13,6 +13,7 @@ jobs: sudo apt-get update && sudo apt-get install -y --no-install-recommends \ texlive pandoc texlive-bibtex-extra texlive-fonts-recommended \ texlive-xetex lmodern biber latexmk python3 python3-yaml \ + fonts-linuxlibertine \ xz-utils make gpg-agent python3 -m pip install -r ${{ env.DIR }}/requirements.txt - name: Configure LaTeX environment diff --git a/Makefile b/Makefile index 70fb2921..9e4b4728 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,9 @@ all: $(objects) -V hyperrefoptions=pdfa \ -V colorlinks=true \ -V papersize=a4 \ + -M mainfont="Linux Libertine O" \ + -M sansfont="Linux Biolinum O" \ + -M monofont="Linux Libertine Mono O" \ -o "build/${@:.pdf=}.tex" \ "build/$<" latexmk \ From b7483f8073c46ddcc6740aa7fc00f834ce774c9d Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 17:01:38 +0100 Subject: [PATCH 040/108] define the SE abbreviation --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index ded5a5a2..1b39e3b5 100644 --- a/competencies.md +++ b/competencies.md @@ -83,7 +83,7 @@ in this regard. This situation is exemplified by the extracurricular MIT class "The Missing Semester of Your CS Education" [@MIT], which aims to convey computing ecosystem literacy even to students of Computer Science at MIT. -Researchers investing increasing amounts of their time developing their software engineering +Researchers investing increasing amounts of their time developing their software engineering (SE) skills to support their research work can find themselves with little time to do the research itself. This, in turn, presents career development challenges since the experience required to gain From 35ae19e056e35abc0f3b9ebbf644f081ed665a49 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 17:12:09 +0100 Subject: [PATCH 041/108] make remaining links into URL footnotes --- competencies.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/competencies.md b/competencies.md index 1b39e3b5..43f9e5f3 100644 --- a/competencies.md +++ b/competencies.md @@ -1327,10 +1327,10 @@ These frameworks eventually converged into the EMBL-EBI Competency Hub [@CompetencyHub; @Lloret-Llinares2022], where typical RSE and bioinformatician profiles at different levels of seniority can be queried -(e.g. [Junior RSE](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2), -[Senior Computational Chemist](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10121/kim-0)) +(e.g. Junior RSE[^JuniorRSE], +Senior Computational Chemist[^SeniorCC]) and compared against one another -(e.g. [Junior vs. Senior RSE](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profiles/compare/10115/10117)). +(e.g. Junior vs. Senior RSE[^Comp]). Competencies can be divided into more fine-grained building blocks: knowledge, skills and abilities (KSAs). They can be organised in a taxonomy, @@ -1354,3 +1354,7 @@ thereby shifting the emphasis of the knowledge of their computational tools towa Career profiles, such as the computational chemist, bring additional domain specific knowledge; we would classify those as a mixture of DOMAIN-RSE and HPC-RSE. It is noteworthy, however, that the BioExcel framework puts very little emphasis on communication skills, which are often involved in RSE-related tasks. + +[^JuniorRSE]: [https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2) +[^SeniorCC]: [https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10121/kim-0](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10121/kim-0) +[^Comp]: [https://competency.ebi.ac.uk/framework/bioexcel/3.0/profiles/compare/10115/10117](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profiles/compare/10115/10117) From 8966397d992f9a8ec3d2e0c331f8a802b68b9d24 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Wed, 15 Nov 2023 17:52:18 +0100 Subject: [PATCH 042/108] attempt to happify spellchecker --- .github/spellignore.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 86c23bd6..6e44a760 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -137,6 +137,7 @@ RSE's rse-specialisations RTPs scipy +SeniorCC SRU SSI sth From b53963637d4947ece9f5441a16923c89a063d265 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 15 Nov 2023 18:05:38 +0100 Subject: [PATCH 043/108] Add a structured list of curricula (#189) * Collect programs from #4 * Add SimTech and Data Engineering * Remove program Too CS-specific --- learn-rse.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 learn-rse.md diff --git a/learn-rse.md b/learn-rse.md new file mode 100644 index 00000000..abc187d8 --- /dev/null +++ b/learn-rse.md @@ -0,0 +1,48 @@ +# Learn RSE + +**Comment:** This list is meant to be hosted on some website under the umbrella of de-rse.org. +At the moment, it is hosted here as a scratchpad. + +At the moment, most RSEs are self-taught. However, new curricula focusing on RSE are emerging, +while other curricula are investing a large part of their time teaching RSE skills. +This is a non-exchaustive, community-driven list of such programmes taught in English or German. +Beyond the curricula listed here, there are also several domain-specific programs that include some RSE-related components. + +## Dedicated RSE curricula + +None are known at this point. Be the first institution to offer one! + +## Curricula on Scientific Computing + +| Level | Name | University | Country | Language | +| --- | --------------- | ---------- | ------- | -------- | +| B.Sc. | [Computing in Science](https://www.uni-hamburg.de/campuscenter/studienangebot/studiengang.html?1239877544) | University of Hamburg | Germany | German | +| M.Sc. | [Computational Modeling and Simulation](https://tu-dresden.de/studium/vor-dem-studium/studienangebot/sins/sins_studiengang?autoid=29461&set_language=en) | TU Dresden | Germany | English | +| M.Sc. | [Computational Science and Engineering](https://www.cit.tum.de/cit/studium/studiengaenge/master-computational-science-engineering/) | Technical University of Munich | Germany | English | +| M.Sc. | [Computational Science and Engineering](https://www.uni-ulm.de/mawi/mathematik-und-wirtschaftswissenschaften/studium-und-lehre/studiengaenge-master/m-sc-computational-science-and-engineering/) | University of Ulm | Germany | German | +| M.Sc. | [Scientific Computing](https://www.uni-heidelberg.de/de/studium/alle-studienfaecher/scientific-computing/scientific-computing-master) | University of Heidelberg | Germany | English | +| M.Sc. | [Scientific Computing](https://www.scientific-computing.uni-bayreuth.de/en/index.html) | University of Bayreuth | Germany | English | +| M.Sc. | [Scientific Computing](https://www.tu.berlin/studieren/studienangebot/gesamtes-studienangebot/studiengang/scientific-computing-m-sc) | TU Berlin | Germany | English | +| B.Sc. | [Simulation Technology](https://www.uni-stuttgart.de/studium/bachelor/simulation-technology-b.sc./) | University of Stuttgart | Germany | German | +| M.Sc. | [Simulation Technology](https://www.uni-stuttgart.de/studium/studienangebot/Simulation-Technology-M.Sc./) | University of Stuttgart | Germany | German | + + +## Curricula on High-Performance Computing + +| Level | Name | University | Country | Language | +| --- | --------------- | ---------- | ------- | -------- | +| M.Sc. | [High-Performance Computing](https://www.mhpc.it/) | SISSA and ICTP | Italy | English | +| M.Sc. | [High-Performance Computing](https://www.epcc.ed.ac.uk/education-and-training/masters-programmes) | University of Edinburgh | UK | English | + +## Curricula on Data Science + +| Level | Name | University | Country | Language | +| --- | --------------- | ---------- | ------- | -------- | +| B.Sc. | [Data Science and Scientific Computing](https://www.cs.hm.edu/studienangebote/studiengaenge/id_data_science/index.de.html) | Munich University of Applied Sciences | Germany | German | +| M.Sc. | [Data Engineering and Analytics](https://www.tum.de/en/studies/degree-programs/detail/data-engineering-and-analytics-master-of-science-msc) | Technical University of Munich | Germany | English | +| M.Sc. | [High-Performance Computing with Data Science](https://www.epcc.ed.ac.uk/education-and-training/masters-programmes) | University of Edinburgh | UK | English | + +## Other initiatives + +- List of [Degree & Certificate Programs in Bioinformatics](https://www.iscb.org/iscb-degree-certificate-programs), maintained by the International Society for Computational Biology. +- List of [Compuational Science programs](https://www.hochschulkompass.de/studium/studiengangsuche/erweiterte-studiengangsuche.html?tx_szhrksearch_pi1%5Bsearch%5D=1&tx_szhrksearch_pi1%5Bstudtyp%5D=3&tx_szhrksearch_pi1%5BQUICK%5D=1&tx_szhrksearch_pi1%5Bfach%5D=computational+science), maintained by Hochschulkompass. From 889abd3e4f603f5719bd36af35c2041eb8297733 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Thu, 16 Nov 2023 13:09:00 +0100 Subject: [PATCH 044/108] try otf font --- competencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/competencies.md b/competencies.md index fb8e1b76..d76afe56 100644 --- a/competencies.md +++ b/competencies.md @@ -25,6 +25,7 @@ secnumdepth: 3 bibliography: bibliography.bib header-includes: - \input{preamble.sty} + - '\defaultfontfeatures{Extension = .otf}' - \usepackage{pdflscape} - \usepackage{multirow} - \usepackage{array} From 6371333176d1843006864838601ffca2c9c192e2 Mon Sep 17 00:00:00 2001 From: Anna-Lena Lamprecht Date: Thu, 16 Nov 2023 13:43:37 +0100 Subject: [PATCH 045/108] add author name to competencies.md (#198) --- competencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/competencies.md b/competencies.md index 43f9e5f3..1925ddf4 100644 --- a/competencies.md +++ b/competencies.md @@ -17,6 +17,7 @@ author: - Matthias Braun - Simon Christ - Gerasimos Chourdakis + - Anna-Lena Lamprecht output: pdf_document: citation_package: biblatex From c9d73f3e5dd30228ea86b399b145ed348d8cec9e Mon Sep 17 00:00:00 2001 From: Anna-Lena Lamprecht Date: Thu, 16 Nov 2023 13:44:00 +0100 Subject: [PATCH 046/108] add author details to contributors.yml (#197) --- contributors.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/contributors.yml b/contributors.yml index 2c2248cb..1cab6e72 100644 --- a/contributors.yml +++ b/contributors.yml @@ -158,6 +158,14 @@ authors: DK acknowledges support from the Scientific Software Center which is funded as part of the Excellence Strategy of the German Federal and State Governments. + - author: "Anna-Lena Lamprecht" + firstName: Anna-Lena + lastName: Lamprecht + affiliations: + - University of Potsdam + orcid: 0000-0003-1953-5606 + email: anna-lena.lamprecht@uni-potsdam.de + # please use the following author template (all fields are optional): # - author: "F. D. C. Willard, Jr." From 45e65043a0f646b878dad2a51dfb5e3b81558d58 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Thu, 16 Nov 2023 13:45:51 +0100 Subject: [PATCH 047/108] fix up affiliation of Anna-Lena --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 1cab6e72..7e72ffde 100644 --- a/contributors.yml +++ b/contributors.yml @@ -162,7 +162,7 @@ authors: firstName: Anna-Lena lastName: Lamprecht affiliations: - - University of Potsdam + - Institute of Computer Science, University of Potsdam, Germany orcid: 0000-0003-1953-5606 email: anna-lena.lamprecht@uni-potsdam.de From e9a279e6c4ca1e039ba515013ab566602d642099 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Thu, 16 Nov 2023 13:57:35 +0100 Subject: [PATCH 048/108] Add Dominic --- competencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/competencies.md b/competencies.md index 1925ddf4..e888564e 100644 --- a/competencies.md +++ b/competencies.md @@ -18,6 +18,7 @@ author: - Simon Christ - Gerasimos Chourdakis - Anna-Lena Lamprecht + - Dominic Kempf output: pdf_document: citation_package: biblatex From fb29c96db9e2854f2c455f083e5250f232424f0c Mon Sep 17 00:00:00 2001 From: Magnus Hagdorn Date: Thu, 16 Nov 2023 14:20:02 +0100 Subject: [PATCH 049/108] add department for mhagdorn --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 7e72ffde..5fd157e5 100644 --- a/contributors.yml +++ b/contributors.yml @@ -90,7 +90,7 @@ authors: firstName: Magnus lastName: Hagdorn affiliations: - - Charité Universitätsmedizin Berlin, Germany + - Geschäftsbereich IT, Charité Universitätsmedizin Berlin, Germany orcid: 0000-0002-5076-4864 email: magnus.hagdorn@charite.de From 14e84f9ea573f4fd45b99c0c787c7811e6b78b04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Thu, 16 Nov 2023 20:19:39 +0100 Subject: [PATCH 050/108] Fix bibliography and syntax errors --- bibliography.bib | 23 ++++++++++++++--------- competencies.md | 4 ++-- contributors.yml | 4 ++-- institutionalised_education.md | 6 +++--- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index fb834a4c..3c47d97c 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -2662,12 +2662,17 @@ @Misc{Katerbow2018 keywords = {Research Software}, } -@article{KDL, - title = {Research {{Software}} ({{RS}}) {{Careers}}: {{Generic Learnings}} from {{King}}'s {{Digital Lab}}, {{King}}'s {{College London}}}, - shorttitle = {Research {{Software}} ({{RS}}) {{Careers}}}, +@Report{KDL, + author = {Smithies, James}, + title = {Research Software ({RS}) Careers}, + subtitle = {Generic Learnings from {King's Digital Lab}, {King's College London}}, doi = {10.5281/zenodo.2559235}, + year = {2018}, + month = nov, + institution= {King's Digital Lab}, + type = {Report}, + version = [6.0}, urldate = {2023-10-30}, - abstract = {The Research Software~(RS) role definitions in this document are based on those used in King's Digital Lab (KDL). It has~been distributed to offer ideas for other eResearch teams across King's College London, the United~Kingdom, and internationally.}, langid = {english}, } @@ -4759,15 +4764,15 @@ @Online{SusTrainable @book{swebok_2014, location = {Washington, {DC}, {USA}}, - edition = {3rd}, - title = {Guide to the Software Engineering Body of Knowledge ({SWEBOK}(R)): Version 3.0}, + edition = {3}, + title = {Guide to the Software Engineering Body of Knowledge ({SWEBOK(R)}): Version 3.0}, isbn = {978-0-7695-5166-1}, shorttitle = {Guide to the Software Engineering Body of Knowledge ({SWEBOK}(R))}, - abstract = {In the Guide to the Software Engineering Body of Knowledge ({SWEBOK} Guide), the {IEEE} Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Societys responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guides 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the {SWEBOK} Guide are Pierre Bourque (cole de technologie suprieure ({TS}), Universit du Qubec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).}, pagetotal = {346}, publisher = {{IEEE} Computer Society Press}, - author = {Bourque, Pierre and Fairley, Richard E. and {IEEE} Computer Society}, - date = {2014}, + author = {Bourque, Pierre and Fairley, Richard E. and {{IEEE} Computer Society}}, + year = {2014}, + month = jan, } @article{Sweeney2002, diff --git a/competencies.md b/competencies.md index e888564e..0afbb392 100644 --- a/competencies.md +++ b/competencies.md @@ -985,7 +985,7 @@ This task is supported by strong (MOD) skills to reason about the behaviour of p Research focused specialisations --> -#### ${DOMAIN}-RSE +#### \${DOMAIN}-RSE While software is the lingua franca of all RSEs, there will be RSEs that have specialised in the intricacies of one particular research domain, such as medical RSEs, digital humanities RSEs, or physics RSEs. This can often serve as a base domain for RSE specialisation as in @subsec:examplemaster @@ -1354,7 +1354,7 @@ and "comply with licensing policy", which would in our framework be part of (SP) In addition, they have a dedicated parallel computing competency section, thereby shifting the emphasis of the knowledge of their computational tools towards the HPC-RSE specialisation in our framework. Career profiles, such as the computational chemist, bring additional domain specific knowledge; -we would classify those as a mixture of DOMAIN-RSE and HPC-RSE. +we would classify those as a mixture of \${DOMAIN}-RSE and HPC-RSE. It is noteworthy, however, that the BioExcel framework puts very little emphasis on communication skills, which are often involved in RSE-related tasks. [^JuniorRSE]: [https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2) diff --git a/contributors.yml b/contributors.yml index 5fd157e5..f5f0ed12 100644 --- a/contributors.yml +++ b/contributors.yml @@ -138,7 +138,7 @@ authors: - Leibniz University Hannover, Department of Cell Biology and Biophysics, Computational Biology, Germany orcid: 0000-0002-5866-1472 email: christ@cell.uni-hannover.de - + - author: "Gerasimos Chourdakis" firstName: Gerasimos lastName: Chourdakis @@ -162,7 +162,7 @@ authors: firstName: Anna-Lena lastName: Lamprecht affiliations: - - Institute of Computer Science, University of Potsdam, Germany + - Institute of Computer Science, University of Potsdam, Germany orcid: 0000-0003-1953-5606 email: anna-lena.lamprecht@uni-potsdam.de diff --git a/institutionalised_education.md b/institutionalised_education.md index 464ec661..c1884eef 100644 --- a/institutionalised_education.md +++ b/institutionalised_education.md @@ -178,7 +178,7 @@ Indeed, we consider it much more useful if new graduates looking to work in the Expertise, beyond software development skills, in another research domain can be an important element of an RSE team being able to support RSE projects in that domain. -A \${Domain}-RSE in the STEM domains can start with a Bachelor's degree in their domain that shares large portions +A \${DOMAIN}-RSE in the STEM domains can start with a Bachelor's degree in their domain that shares large portions of the curriculum with their original domain. There will only be some courses that advance peoples knowledge about digital tools and how to create tools from them. The Master's years bring them forward to actually applying their knowledge. So during these years they @@ -189,11 +189,11 @@ So we can assume that the lectures to that point contain a mixture of domain spe In order for young RSEs to get their research experience we believe it is necessary that already in their master's thesis young RSE students are given computational research tasks that can be solved with the RSE specific skills of that domain. -This gives them a Master's degree of a ${DOMAIN}-RSE that has learnt in their lectures a research domain specific part and a software engineering specific part, +This gives them a Master's degree of a \${DOMAIN}-RSE that has learnt in their lectures a research domain specific part and a software engineering specific part, and enabled them to get a first dip into actual science in their master's thesis. Of course special care has to be taken to integrate them at some point in their studies into mature projects to expose them to the experience of senior RSEs and how they approach problems. -An example of this \${DOMAIN} - RSE can be found in Appendix: [Bioinformatics skills and certification]. +An example of this \${DOMAIN}-RSE can be found in Appendix: [Bioinformatics skills and certification]. Of course, the next question for their future is whether a master's degree enables them to really be effective parts of a research group. While we accept this is something of a generalisation, we argue that this is most likely not the case since undertaking a PhD provides a much more extensive set of research training and experience that can be vital for a researcher's future. From d69678dd9d74108dde49105b23b7468fb2c0356b Mon Sep 17 00:00:00 2001 From: Toby Hodges Date: Thu, 16 Nov 2023 16:42:43 -0500 Subject: [PATCH 051/108] add tobyhodges author details (#200) --- competencies.md | 1 + contributors.yml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/competencies.md b/competencies.md index 0afbb392..2beb3beb 100644 --- a/competencies.md +++ b/competencies.md @@ -19,6 +19,7 @@ author: - Gerasimos Chourdakis - Anna-Lena Lamprecht - Dominic Kempf + - Toby Hodges output: pdf_document: citation_package: biblatex diff --git a/contributors.yml b/contributors.yml index f5f0ed12..7db137ea 100644 --- a/contributors.yml +++ b/contributors.yml @@ -166,6 +166,14 @@ authors: orcid: 0000-0003-1953-5606 email: anna-lena.lamprecht@uni-potsdam.de + - author: "Toby Hodges" + lastName: Hodges + firstName: Toby + affiliations: + - The Carpentries, USA + orcid: 0000-0003-1766-456X + email: tobyhodges@carpentries.org + # please use the following author template (all fields are optional): # - author: "F. D. C. Willard, Jr." From 933ef486767cf573d7e473d847fa686b7b40a47c Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Thu, 16 Nov 2023 23:17:08 +0100 Subject: [PATCH 052/108] fix yml --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 7db137ea..87a15af1 100644 --- a/contributors.yml +++ b/contributors.yml @@ -170,7 +170,7 @@ authors: lastName: Hodges firstName: Toby affiliations: - - The Carpentries, USA + - The Carpentries, USA orcid: 0000-0003-1766-456X email: tobyhodges@carpentries.org From d0101da9d9453b107729fed8bf215a1268246431 Mon Sep 17 00:00:00 2001 From: Guido Juckeland Date: Fri, 17 Nov 2023 09:18:44 +0100 Subject: [PATCH 053/108] Add Guido to competencies.md author list --- competencies.md | 1 + 1 file changed, 1 insertion(+) diff --git a/competencies.md b/competencies.md index 2beb3beb..fce05973 100644 --- a/competencies.md +++ b/competencies.md @@ -20,6 +20,7 @@ author: - Anna-Lena Lamprecht - Dominic Kempf - Toby Hodges + - Guido Juckeland output: pdf_document: citation_package: biblatex From ea13072043c0574dd29b4f2d2693c769ec987612 Mon Sep 17 00:00:00 2001 From: Guido Juckeland Date: Fri, 17 Nov 2023 09:19:56 +0100 Subject: [PATCH 054/108] Update contributors.yml with Guido Juckeland --- contributors.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/contributors.yml b/contributors.yml index 87a15af1..2bafa97d 100644 --- a/contributors.yml +++ b/contributors.yml @@ -174,6 +174,14 @@ authors: orcid: 0000-0003-1766-456X email: tobyhodges@carpentries.org + - author: "Guido Juckeland" + firstName: Guido + lastName: Juckeland + affiliations: + - Helmholtz-Zentrum Dresden-Rossendorf, Germany + orcid: 0000-0002-9935-4428 + email: g.juckeland@hzdr.de + # please use the following author template (all fields are optional): # - author: "F. D. C. Willard, Jr." From 6075c393f33c0582b46bcba4d601d0cc0e382145 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 10:19:12 +0100 Subject: [PATCH 055/108] ship font --- .github/workflows/compile.yml | 4 ++-- competencies.md | 18 +++++++++--------- fonts/Font Awesome 6 Free-Solid-900.otf | Bin 0 -> 1031688 bytes 3 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 fonts/Font Awesome 6 Free-Solid-900.otf diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 040af441..da85ddc6 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -12,7 +12,7 @@ jobs: run: | sudo apt-get update && sudo apt-get install -y --no-install-recommends \ texlive pandoc texlive-bibtex-extra texlive-fonts-recommended \ - texlive-xetex texlive-fonts-extra lmodern biber latexmk python3 python3-yaml \ + texlive-xetex lmodern biber latexmk python3 python3-yaml \ xz-utils make gpg-agent python3 -m pip install -r ${{ env.DIR }}/requirements.txt - name: Configure LaTeX environment @@ -21,7 +21,7 @@ jobs: mkdir -p "${HOME}/texmf" tlmgr init-usertree tlmgr option repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2021/tlnet-final/ - tlmgr install academicons fontawesome + tlmgr install academicons - name: pandoc compile working-directory: ${{ env.DIR }} run: make all diff --git a/competencies.md b/competencies.md index d76afe56..c853f3ad 100644 --- a/competencies.md +++ b/competencies.md @@ -25,14 +25,14 @@ secnumdepth: 3 bibliography: bibliography.bib header-includes: - \input{preamble.sty} - - '\defaultfontfeatures{Extension = .otf}' - \usepackage{pdflscape} - \usepackage{multirow} - \usepackage{array} - \usepackage{longtable} - - \usepackage{fontawesome} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} + - '\newfontfamily\FA[Path=./fonts/, Extension=.otf]{Font Awesome 6 Free-Solid-900}' + - \newcommand*{\faicon}[1]{{\FA \symbol{#1}}} xnos-cleveref: True xnos-capitalise: True keywords: @@ -393,7 +393,7 @@ and make sure that they do not negatively impact the integrity of their institut ## The research skills -### Curiosity (\faPersonRays NEW) +### Curiosity (\faicon{"E54D} NEW) RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -523,7 +523,7 @@ what they would like to have learnt. Among the top five things mentioned were: - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of RC, USERS, and also \faPersonRays NEW, in order to effectively interact with + knowledge of RC, USERS, and also \faicon{"E54D} NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other @@ -571,7 +571,7 @@ A story-like example of an individual through the hierarchies can be found in @s | MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | | SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | | SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | -| \faPersonRays NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | +| \faicon{"E54D} NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | | RC | Awareness about the RC | should know the position of the project in the RC | Should know what is necessary for the project to fit into its position in the RC | | SRU | Should be aware about tools for SRU | Should be able to find sth. with SRU tools | Should be able to effectively find sth. with SRU tools and be able to evaluate and perform the integration of a library into the project. | | SP | Should be aware that SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | @@ -618,7 +618,7 @@ Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). -At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, \faPersonRays NEW). +At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, \faicon{"E54D} NEW). They should have an awareness of software licenses and whom to ask if they have any questions (SP). They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). During practicals, they will have an opportunity for peer learning (TEACH). @@ -640,7 +640,7 @@ They should be able to use the tools (LIBS) and identify and report bugs (MOD). They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). They might produce new software (MOD, SRU) in which case they need to understand how to license their code for publication (SP). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (\faPersonRays NEW) they must be able to evaluate research software (SWLC). +In order to be able to explore new tools (\faicon{"E54D} NEW) they must be able to evaluate research software (SWLC). They need to be able to interact with services (RC) and domain specific repositories (DOMREP). They should be able to supervise a student (TEACH). @@ -772,7 +772,7 @@ We first summarise the meaning of each of the columns in the table: will improve overall turnaround times. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faPersonRays NEW& + \faicon{"E54D} NEW& An individual's curiosity has now to be shared between the research goal and the software project, therefore learning new methods and skills may be challenging and is often not the core aim.& @@ -1176,7 +1176,7 @@ data stewardship, AI models/statistics, and community management/training. The programme is finalised with a master's thesis which should be dual-supervised by an RSE supervisor from an actual project, and a domain supervisor. -The thesis should answer a relevant research question (strengthening (\faPersonRays NEW)) from the domain using computational methods. +The thesis should answer a relevant research question (strengthening (\faicon{"E54D} NEW)) from the domain using computational methods. Software development is required, and the code is part of the gradable deliverables. The RSE supervisor ensures and grades the software craftsmanship aspects of the project. This setup ensures that we are grading the effectiveness of applying RSE skills in an actual research environment. diff --git a/fonts/Font Awesome 6 Free-Solid-900.otf b/fonts/Font Awesome 6 Free-Solid-900.otf new file mode 100644 index 0000000000000000000000000000000000000000..81e67fd631ff60af121188d14158082a0c3c74e6 GIT binary patch literal 1031688 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.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¥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

NCdE13oEC*}yh^zC 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 V?8ri3fV{E@c4G;0Q Date: Fri, 17 Nov 2023 10:28:29 +0100 Subject: [PATCH 056/108] adjust path --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index c853f3ad..8743ae0b 100644 --- a/competencies.md +++ b/competencies.md @@ -31,7 +31,7 @@ header-includes: - \usepackage{longtable} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - - '\newfontfamily\FA[Path=./fonts/, Extension=.otf]{Font Awesome 6 Free-Solid-900}' + - '\newfontfamily\FA[Path=../fonts/, Extension=.otf]{Font Awesome 6 Free-Solid-900}' - \newcommand*{\faicon}[1]{{\FA \symbol{#1}}} xnos-cleveref: True xnos-capitalise: True From 07329c71e014147b45e6a825b49e94e868032436 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 10:41:09 +0100 Subject: [PATCH 057/108] update all icons --- competencies.md | 164 ++++++++++++++++++++++++------------------------ 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/competencies.md b/competencies.md index 8743ae0b..427c0e25 100644 --- a/competencies.md +++ b/competencies.md @@ -342,7 +342,7 @@ to the FAIR principles. [@ChueHong2014] defines different levels of research software reusability and the extent to which the software engineering skills need to be applied to reach them. -### Creating documented code building blocks (DOCBB) +### Creating documented code building blocks (\faicon{"F0E8} DOCBB) The RSE should be able to create building blocks from source code that are reusable. This ranges from simple libraries of functions up to complex @@ -353,7 +353,7 @@ is primarily achieved through a "clean" implementation and enhanced by documentation. Documentation ranges from commenting code blocks to using documentation (building) tools. -### Building distributable libraries (LIBS) +### Building distributable libraries (\faicon{"E4C7} LIBS) The RSE should be able to distribute their code on their domain/language specific distribution platforms. This almost always encompasses @@ -362,7 +362,7 @@ requires knowledge of using build systems to enable interoperability with other systems. -### Adapting to the software life-cycle (SWLC) +### Adapting to the software life-cycle (\faicon{"E4E2} SWLC) The traditional software life-cycle defines the stages that form the process of building a piece of software. Initial development generally involves a creative process where requirements are gathered and analysed, @@ -375,12 +375,12 @@ The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. -### Use repositories (SWREPOS) +### Use repositories (\faicon{"E13C} SWREPOS) The RSE should be able to use public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -### Software Behaviour Awareness and Analysis (MOD) +### Software Behaviour Awareness and Analysis (\faicon{"F5FC} MOD) We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -402,7 +402,7 @@ Curiosity is also reflected when an RSE is actively trying out new tools. Lifelong learning is then no longer just a phrase but becomes a motivation to work. -### Understanding the research cycle (RC) +### Understanding the research cycle (\faicon{"E4BB} RC) One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, @@ -414,7 +414,7 @@ Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of good research, like publications, reviews and reproducibility. -### Software re-use (SRU) +### Software re-use (\faicon{"F1B8} SRU) One goal of FAIR software is to avoid unnecessary duplication of work by reusing existing work instead. To (re-) use software, researchers have to be able to @@ -431,7 +431,7 @@ the compatibility of different common licenses and the ramifications for re-usin Finally, RSEs will need to properly execute the technicalities of software publishing, such as applying licenses, honouring copyright statements and crediting contributors. -### Using domain repositories/directories (DOMREP) +### Using domain repositories/directories (\faicon{"F07B} DOMREP) Almost all research software is developed within a specific scientific domain. Some software may be able to cross boundaries, but the majority will have a @@ -451,7 +451,7 @@ Team skills are also mentioned in common guides for software engineering such as However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. -### Working in a team (TEAM) +### Working in a team (\faicon{"F500} TEAM) Working in a team is all about communication and teamwork. For example, RSEs need to be able to explain particular implementation choices made and may even need to defend them. @@ -463,7 +463,7 @@ including, for example, IT staff, domain scientists and technicians working alon The shared values come into play and each RSE needs to ensure that these values are lived by and passed on to others. Senior RSEs may lead a team of RSEs. -### Teaching (TEACH) +### Teaching (\faicon{"F51C} TEACH) RSEs have many opportunities to teach. These range from inducting new colleagues to teaching digital skills either through short courses, @@ -471,10 +471,10 @@ for example from The Carpentries [@Carpentries], or entire lecture series. RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -### Project Management (PM) +### Project Management (\faicon{"F46D} PM) The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, -but it is useful, if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. +but it is useful, if an RSE knows its place in a \faicon{"F46D} PM scheme, or can bring in new ideas for improvement. Project management in research software engineering poses specific challenges (see [USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. @@ -499,33 +499,33 @@ RSE can be found. A snapshot of what this means today was obtained from learners and novice RSEs that we asked during the Paderborn workshop what they would like to have learnt. Among the top five things mentioned were: -- Testing. This task is a manifestation of the SE competencies of DOCBB and MOD +- Testing. This task is a manifestation of the SE competencies of \faicon{"F0E8} DOCBB and \faicon{"F5FC} MOD since a model of the software is required in order to write good tests that facilitate understanding and documentation. Today this encompasses the knowledge of testing frameworks and CI/CD practices. - Contributing to large projects. This is a topic that requires competency in - SWREPOS, SRU, SP in order to understand the ramifications of sharing, and DOCBB, + \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU, SP in order to understand the ramifications of sharing, and \faicon{"F0E8} DOCBB, since the contributed code has to be understood by others. Interacting with - project members depends on the TEAM skill. Today this entails the effective + project members depends on the \faicon{"F500} TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's Code of Conduct, and some knowledge of popular software licenses like e.g. GPL. - When or why to keep repositories private. This decision requires knowledge in - the RC, to understand when it makes sense to open up or close down a repository. - The USERS, TEAM and sometimes SP skills are required to make this decision. + the \faicon{"E4BB} RC, to understand when it makes sense to open up or close down a repository. + The USERS, \faicon{"F500} TEAM and sometimes SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. - Proper Development. This broad topic requires all of the SE skills. Of course, these are the competencies that are the most fluid since they have to adapt at a high rate to technological advancements. Additionally, proper SE skills - often require knowledge of TEAM, and PM. Today this means effective use of IDEs, + often require knowledge of \faicon{"F500} TEAM, and \faicon{"F46D} PM. Today this means effective use of IDEs, static analysis tools, design patterns, documentation (for oneself and others), etc. - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of RC, USERS, and also \faicon{"E54D} NEW, in order to effectively interact with + knowledge of \faicon{"E4BB} RC, USERS, and also \faicon{"E54D} NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other - TEAM-related aspect is the embedding of RSE graduates into the community of + \faicon{"F500} TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other RSEs, tool-related communities and the classical domain communities. This point is further elaborated in @sec:reachout. @@ -534,7 +534,7 @@ Beyond that, we feel that today other important tasks of RSEs are - Mentoring colleagues. This necessitates giving good advice that fits to a projects stage in its life-cycle, - thereby requiring knowledge of (SWLC), and its context in its research domain and thus (RC). + thereby requiring knowledge of (\faicon{"E4E2} SWLC), and its context in its research domain and thus (\faicon{"E4BB} RC). Research software often starts out as a tool to answer a personal research question and becomes more important when other researchers rely on it. Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. @@ -566,20 +566,20 @@ A story-like example of an individual through the hierarchies can be found in @s | | Junior | Senior | Principal RSE(brings in funding) | | ------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | -| LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | -| MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | -| SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | -| SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | +| \faicon{"F0E8} DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | +| \faicon{"E4C7} LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | +| \faicon{"F5FC} MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | +| \faicon{"E4E2} SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | +| \faicon{"E13C} SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | | \faicon{"E54D} NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | -| RC | Awareness about the RC | should know the position of the project in the RC | Should know what is necessary for the project to fit into its position in the RC | -| SRU | Should be aware about tools for SRU | Should be able to find sth. with SRU tools | Should be able to effectively find sth. with SRU tools and be able to evaluate and perform the integration of a library into the project. | +| \faicon{"E4BB} RC | Awareness about the \faicon{"E4BB} RC | should know the position of the project in the \faicon{"E4BB} RC | Should know what is necessary for the project to fit into its position in the \faicon{"E4BB} RC | +| \faicon{"F1B8} SRU | Should be aware about tools for \faicon{"F1B8} SRU | Should be able to find sth. with \faicon{"F1B8} SRU tools | Should be able to effectively find sth. with \faicon{"F1B8} SRU tools and be able to evaluate and perform the integration of a library into the project. | | SP | Should be aware that SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | -| DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | +| \faicon{"F07B} DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | | USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | -| TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | -| PM | Awareness about the employed project management method | Should be able to use the employed PM method | Should be able to design and adapt the employed PM method. | -| TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | +| \faicon{"F51C} TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | +| \faicon{"F46D} PM | Awareness about the employed project management method | Should be able to use the employed \faicon{"F46D} PM method | Should be able to design and adapt the employed \faicon{"F46D} PM method. | +| \faicon{"F500} TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | Table: Levels of competency expected for different RSE career stages. {#tbl:comp-lvls} @@ -616,33 +616,33 @@ as development is a large part of their actual research. Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. -Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). -They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). -At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, \faicon{"E54D} NEW). +Undergrad students should be aware that RSEs exist and that software has different quality aspects (\faicon{"F0E8} DOCBB). +They should be aware of domain specific tools (\faicon{"E4C7} LIBS, \faicon{"F1B8} SRU) and where to find them (\faicon{"E13C} SWREPOS, \faicon{"F07B} DOMREP). +At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC} MOD, \faicon{"E54D} NEW). They should have an awareness of software licenses and whom to ask if they have any questions (SP). -They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). -During practicals, they will have an opportunity for peer learning (TEACH). +They will be taught about the research cycle (\faicon{"E4BB} RC) and that researchers often work in groups (\faicon{"F500} TEAM). +During practicals, they will have an opportunity for peer learning (\faicon{"F51C} TEACH). #### Master's Level A student at a master's level can participate in science and should therefore be able to use "some" digital structures. -A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (LIBS, SWREPOS, DOMREP). -They should be able to process and present their data (MOD). -They need to understand how their research depends on software (SWLC). -Working on their master's thesis allows them to understand the research cycle (RC), practice project management (PM) and collaborate with other members of their research group (TEAM). +A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\faicon{"E4C7} LIBS, \faicon{"E13C} SWREPOS, \faicon{"F07B} DOMREP). +They should be able to process and present their data (\faicon{"F5FC} MOD). +They need to understand how their research depends on software (\faicon{"E4E2} SWLC). +Working on their master's thesis allows them to understand the research cycle (\faicon{"E4BB} RC), practice project management (\faicon{"F46D} PM) and collaborate with other members of their research group (\faicon{"F500} TEAM). #### PhD A PhD student performs independent research under guidance. They need to know relevant tools and structures. -They should know where to find information about tools and where to find help using them (DOCBB, SWREPOS). -They should be able to use the tools (LIBS) and identify and report bugs (MOD). +They should know where to find information about tools and where to find help using them (\faicon{"F0E8} DOCBB, \faicon{"E13C} SWREPOS). +They should be able to use the tools (\faicon{"E4C7} LIBS) and identify and report bugs (\faicon{"F5FC} MOD). They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). -They might produce new software (MOD, SRU) in which case they need to understand how to license their code for publication (SP). +They might produce new software (\faicon{"F5FC} MOD, \faicon{"F1B8} SRU) in which case they need to understand how to license their code for publication (SP). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (\faicon{"E54D} NEW) they must be able to evaluate research software (SWLC). -They need to be able to interact with services (RC) and domain specific repositories (DOMREP). -They should be able to supervise a student (TEACH). +In order to be able to explore new tools (\faicon{"E54D} NEW) they must be able to evaluate research software (\faicon{"E4E2} SWLC). +They need to be able to interact with services (\faicon{"E4BB} RC) and domain specific repositories (\faicon{"F07B} DOMREP). +They should be able to supervise a student (\faicon{"F51C} TEACH). #### Postdoc @@ -655,12 +655,12 @@ They need to be aware of more advanced topics regarding intellectual property ri They are experts in their field and should be able to give proper guidance to their students on which digital tools are currently relevant. They should be aware of the skills of an RSE and when they might need one in their group. -They should encourage their students to use relevant tools (LIBS). -They need to be able to judge the suitability of the software (SWLC) and follow the interactions between relevant projects (SWREPOS). +They should encourage their students to use relevant tools (\faicon{"E4C7} LIBS). +They need to be able to judge the suitability of the software (\faicon{"E4E2} SWLC) and follow the interactions between relevant projects (\faicon{"E13C} SWREPOS). They should be able to advise their students on the legal aspects of software production and distribution (SP). They should be able to contribute meaningfully to the steering decisions of the software in their field (USERS). -They need to guide students and give full-size lectures (TEACH). -They need to manage and lead their research group (PM, TEAM). +They need to guide students and give full-size lectures (\faicon{"F51C} TEACH). +They need to manage and lead their research group (\faicon{"F46D} PM, \faicon{"F500} TEAM). ## Project team structures @@ -699,7 +699,7 @@ We first summarise the meaning of each of the columns in the table: \cline{2-5} & locally-based & RSE-Team based & locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DOCBB & + \faicon{"F0E8} DOCBB & Focus on getting outputs to support research. Often time-constrained, may be self-taught, less awareness/familiarity with code quality and structure. Simple Best Practice documents can be sufficient& @@ -713,7 +713,7 @@ We first summarise the meaning of each of the columns in the table: Should have research software guidance/policies that provide advice.\\ \hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - LIBS& + \faicon{"E4C7} LIBS& Reusability and sharing/distribution of code often not a focus or considered relevant. & Greater trained focus on reusability/sharing but likely not part of the project aims.& May be looking to develop reusable shareable outputs but likely case-by-case basis. Need easy resources.& @@ -721,7 +721,7 @@ We first summarise the meaning of each of the columns in the table: Should provide policies on sharing and reuse of software. May be driven by requirements/policies of the funding agency. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SWLC& + \faicon{"E4E2} SWLC& It's down to you to manage the complete life-cycle, if you move on, what will happen to the code?& More support with a team but do they have awareness/expertise @@ -735,7 +735,7 @@ We first summarise the meaning of each of the columns in the table: licences for e.g. management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SWREPOS& + \faicon{"E13C} SWREPOS& Where open source, use of repositories important for code management and demonstrating outputs - e.g. supporting academic credit. May not have awareness/skills if self-taught.& @@ -751,7 +751,7 @@ We first summarise the meaning of each of the columns in the table: for this vital research software development tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - MOD& + \faicon{"F5FC} MOD& Needs full awareness of entire codebase to support extension/maintenance. May not need/get additional experience or support. If project taken on from another individual developer, @@ -787,7 +787,7 @@ We first summarise the meaning of each of the columns in the table: information on new technical processes and tooling, and facilitate training. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - RC& + \faicon{"E4BB} RC& This is likely to be familiar to individuals, who are often researchers, especially if they are embedded within a research team.& Many RSEs will have familiarity with the research life-cycle, @@ -801,7 +801,7 @@ We first summarise the meaning of each of the columns in the table: the research life-cycle, this can support researchers/RSEs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SRU& + \faicon{"F1B8} SRU& Need to know how to find other work to build awareness of existing solutions. Researchers sometimes like to do things themselves. Working individually means there may not be someone to highlight this.& @@ -822,7 +822,7 @@ We first summarise the meaning of each of the columns in the table: The organisation should raise awareness about software as publishable scientific output, provide recommendations and checklists to support software-publications and have legal experts in place to deal with complex cases. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DOMREP& + \faicon{"F07B} DOMREP& Domain researchers working on software are likely to be more familiar with the domain-specific solutions.& RSEs may need guidance from domain researchers around domain-specific @@ -848,7 +848,7 @@ We first summarise the meaning of each of the columns in the table: Should have institutions that are able to offer support with outreach and publicising outputs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - TEACH& + \faicon{"F51C} TEACH& May be independently involved in training activities.& May be able to support researchers with core technical skills.& Sharing knowledge and skills within their group - peer support.& @@ -857,10 +857,10 @@ We first summarise the meaning of each of the columns in the table: Should have programs for a diverse range of teaching/training activities. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - PM& + \faicon{"F46D} PM& Limited requirement beyond being well organised - can be important if someone else might take over codebase.& - Limited requirement but team will likely have standard PM approaches + Limited requirement but team will likely have standard \faicon{"F46D} PM approaches to be followed.& Challenging for groups of local researchers/developers on larger projects. May not have awareness/experience of key skills, but this can be alleviated with some low-key courses.& @@ -869,7 +869,7 @@ We first summarise the meaning of each of the columns in the table: May offer organisation-level tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - TEAM& + \faicon{"F500} TEAM& N/A& Will need to work effectively with their home RSE team, as well as, potentially with researchers they are developing code for.& @@ -910,7 +910,7 @@ while other RSEs might expand their skill set and profession to areas, that are #### OpenScience RSE Open Science and FAIRness of Data and Software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence an Open Science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). +Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB} RC) and how to distribute software publicly (\faicon{"F1B8} SRU, SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -920,13 +920,13 @@ Like the Data-focused RSE, they have a deep understanding of RDM topics. #### Project/Community Manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (PM), (USERS), and (TEAM) skills, as exemplified in @subsec:examplecareer. +processes and people. This gap can be filled by people who invest in the (\faicon{"F46D} PM), (USERS), and (\faicon{"F500} TEAM) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. #### Teaching RSEs -RSEs interested in developing their (TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play +RSEs interested in developing their (\faicon{"F51C} TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play a vital role in improving the quality of research software. They need to have a good understanding of all RSE competencies relevant to their domain and additionally should have experience or training in the educational field. @@ -934,9 +934,9 @@ additionally should have experience or training in the educational field. #### User Interface/User Experience Designers for Research Software Scientific software is a complex product that often needs to be refined in order to be usable even by other scientists. -To facilitate this, there are people required that specialise in the (DOCBB) and probably the (LIBS) competency +To facilitate this, there are people required that specialise in the (\faicon{"F0E8} DOCBB) and probably the (\faicon{"E4C7} LIBS) competency with a focus on making end-user facing software really reusable and hence FAIR. -This task is supported by strong (MOD) skills to reason about the behaviour of potential users of the software. +This task is supported by strong (\faicon{"F5FC} MOD) skills to reason about the behaviour of potential users of the software. ## Specialisations outside the core RSE competencies @@ -1143,18 +1143,18 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - Research Skills: - Optional Domain Mastery Module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (SRU, SP, DOMREP). + - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8} SRU, SP, \faicon{"F07B} DOMREP). - Meta-Research Module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. - Software Engineering Skills: - - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). - - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). - - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (DOCBB, LIBS) on a more abstract level. + - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (\faicon{"F0E8} DOCBB, \faicon{"E4C7} LIBS). + - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (\faicon{"E4C7} LIBS, \faicon{"F0E8} DOCBB, \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU). + - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (\faicon{"F0E8} DOCBB, \faicon{"E4C7} LIBS) on a more abstract level. - Communication Skills: - - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(PM). + - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\faicon{"F46D} PM). - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (USERS) skill. - - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (TEACH) skill. + - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\faicon{"F51C} TEACH) skill. Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. @@ -1162,13 +1162,13 @@ At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. We recommend covering both the candidate's home domain as well as another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE -students take the role of a consultant. This setup strengthens the (TEAM, TEACH, USERS) skill -and most likely also the (MOD) skill through interaction. +students take the role of a consultant. This setup strengthens the (\faicon{"F500} TEAM, \faicon{"F51C} TEACH, USERS) skill +and most likely also the (\faicon{"F5FC} MOD) skill through interaction. To emphasise the exposure to domains outside of their bachelor's degree domain, we recommend that RSEs also support their non-home-domain project by supporting it with introductory courses from this discipline. We support the idea of broadening the interaction with other domains even more. -This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (MOD). +This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\faicon{"F5FC} MOD). To align with the specialisations listed in this paper, example optional modules include topics on HPC engineering/parallel programming, numerical mathematics/scientific computing, web technologies, @@ -1214,7 +1214,7 @@ The project management skills that are being taught as part of the core RSE curr Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. She also has to liaise with the central IT department to organise storage for the large data sets. -Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (SWLC, RC) in action +Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\faicon{"E4E2} SWLC, \faicon{"E4BB} RC) in action that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish @@ -1226,7 +1226,7 @@ Kay has now completed the RSE programme and has reached Junior RSE level. Kay finds a position in the central RSE department at her university with a competitive IT salary. Although the contract is temporary, there is a good chance that it will lead to a permanent position. Kay completes the Software Carpentry Instructor training and teaches basic research computing, -while advising fellow students of her department on better programming (DOCBB and MOD skill). +while advising fellow students of her department on better programming (\faicon{"F0E8} DOCBB and \faicon{"F5FC} MOD skill). She also runs a seminar in the RSE Master's programme. She publishes a condensed version of that in JOSE[@JOSE]. During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE and she gladly signs up to focus more on her communication skills. @@ -1237,10 +1237,10 @@ After three years, she takes an exciting opportunity to work in another universi The new position involves taking responsibility for the RSE related aspects of a large inter-organisational project involving different organisations. With her new responsibilities comes a shift in the importance of various aspects of her work. Having this position in an inter-organisational project places far more emphasis on communication and organisation skills. -She is spending time teaching people (TEACH skill) to onboard them into the project. +She is spending time teaching people (\faicon{"F51C} TEACH skill) to onboard them into the project. There is a lot of interaction with different stakeholders in the project like funders and user groups (USERS skill). -To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (PM skills). -Her work so far has already been heavy on (TEAM) skills, but now also the leadership aspect comes into play. +To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\faicon{"F46D} PM skills). +Her work so far has already been heavy on (\faicon{"F500} TEAM) skills, but now also the leadership aspect comes into play. #### RSE-focused Principal Investigator From 84d91cce0eca68846ab7a5422114490585fe10a5 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 10:53:42 +0100 Subject: [PATCH 058/108] add missing icons --- competencies.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/competencies.md b/competencies.md index 427c0e25..fb0c9550 100644 --- a/competencies.md +++ b/competencies.md @@ -422,7 +422,7 @@ find it and then easily evaluate if the software actually suits their needs. Apart from functionality, the integration with other software, expected sustainability, and extensibility also have to be part of this evaluation. -### Software publication (SP) +### Software publication (\faicon{"F1EA} SP) The second part of FAIR software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. @@ -475,10 +475,10 @@ Code review also includes aspects of the teaching skill. The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, but it is useful, if an RSE knows its place in a \faicon{"F46D} PM scheme, or can bring in new ideas for improvement. -Project management in research software engineering poses specific challenges (see [USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity +Project management in research software engineering poses specific challenges (see [\faicon{"F086} USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. -### Interaction with users and other stakeholders (USERS) +### Interaction with users and other stakeholders (\faicon{"F086} USERS) Since research software is often developed as part of the research process itself, its requirements and specifications might change with the progression of research. @@ -504,14 +504,14 @@ what they would like to have learnt. Among the top five things mentioned were: facilitate understanding and documentation. Today this encompasses the knowledge of testing frameworks and CI/CD practices. - Contributing to large projects. This is a topic that requires competency in - \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU, SP in order to understand the ramifications of sharing, and \faicon{"F0E8} DOCBB, + \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU, \faicon{"F1EA} SP in order to understand the ramifications of sharing, and \faicon{"F0E8} DOCBB, since the contributed code has to be understood by others. Interacting with project members depends on the \faicon{"F500} TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's Code of Conduct, and some knowledge of popular software licenses like e.g. GPL. - When or why to keep repositories private. This decision requires knowledge in the \faicon{"E4BB} RC, to understand when it makes sense to open up or close down a repository. - The USERS, \faicon{"F500} TEAM and sometimes SP skills are required to make this decision. + The \faicon{"F086} USERS, \faicon{"F500} TEAM and sometimes \faicon{"F1EA} SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. - Proper Development. This broad topic requires all of the SE skills. Of course, @@ -523,7 +523,7 @@ what they would like to have learnt. Among the top five things mentioned were: - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of \faicon{"E4BB} RC, USERS, and also \faicon{"E54D} NEW, in order to effectively interact with + knowledge of \faicon{"E4BB} RC, \faicon{"F086} USERS, and also \faicon{"E54D} NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other \faicon{"F500} TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other @@ -574,9 +574,9 @@ A story-like example of an individual through the hierarchies can be found in @s | \faicon{"E54D} NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | | \faicon{"E4BB} RC | Awareness about the \faicon{"E4BB} RC | should know the position of the project in the \faicon{"E4BB} RC | Should know what is necessary for the project to fit into its position in the \faicon{"E4BB} RC | | \faicon{"F1B8} SRU | Should be aware about tools for \faicon{"F1B8} SRU | Should be able to find sth. with \faicon{"F1B8} SRU tools | Should be able to effectively find sth. with \faicon{"F1B8} SRU tools and be able to evaluate and perform the integration of a library into the project. | -| SP | Should be aware that SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | +| \faicon{"F1EA} SP | Should be aware that \faicon{"F1EA} SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | | \faicon{"F07B} DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | -| USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | +| \faicon{"F086} USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | | \faicon{"F51C} TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | | \faicon{"F46D} PM | Awareness about the employed project management method | Should be able to use the employed \faicon{"F46D} PM method | Should be able to design and adapt the employed \faicon{"F46D} PM method. | | \faicon{"F500} TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | @@ -618,8 +618,8 @@ Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. Undergrad students should be aware that RSEs exist and that software has different quality aspects (\faicon{"F0E8} DOCBB). They should be aware of domain specific tools (\faicon{"E4C7} LIBS, \faicon{"F1B8} SRU) and where to find them (\faicon{"E13C} SWREPOS, \faicon{"F07B} DOMREP). -At this level it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC} MOD, \faicon{"E54D} NEW). -They should have an awareness of software licenses and whom to ask if they have any questions (SP). +At this level it is sufficient to consider software as black boxes (\faicon{"F086} USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC} MOD, \faicon{"E54D} NEW). +They should have an awareness of software licenses and whom to ask if they have any questions (\faicon{"F1EA} SP). They will be taught about the research cycle (\faicon{"E4BB} RC) and that researchers often work in groups (\faicon{"F500} TEAM). During practicals, they will have an opportunity for peer learning (\faicon{"F51C} TEACH). @@ -637,8 +637,8 @@ A PhD student performs independent research under guidance. They need to know relevant tools and structures. They should know where to find information about tools and where to find help using them (\faicon{"F0E8} DOCBB, \faicon{"E13C} SWREPOS). They should be able to use the tools (\faicon{"E4C7} LIBS) and identify and report bugs (\faicon{"F5FC} MOD). -They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). -They might produce new software (\faicon{"F5FC} MOD, \faicon{"F1B8} SRU) in which case they need to understand how to license their code for publication (SP). +They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\faicon{"F086} USERS). +They might produce new software (\faicon{"F5FC} MOD, \faicon{"F1B8} SRU) in which case they need to understand how to license their code for publication (\faicon{"F1EA} SP). PhD students need to be curious to be able to conduct their research. In order to be able to explore new tools (\faicon{"E54D} NEW) they must be able to evaluate research software (\faicon{"E4E2} SWLC). They need to be able to interact with services (\faicon{"E4BB} RC) and domain specific repositories (\faicon{"F07B} DOMREP). @@ -649,7 +649,7 @@ They should be able to supervise a student (\faicon{"F51C} TEACH). Postdocs are independent researchers. Their role is similar to that of a PhD student with a deepened focus on their research career. However, they are proficient users of all relevant tools, which makes them active contributors to their domain of research. -They need to be aware of more advanced topics regarding intellectual property rights, such as patents (SP). +They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\faicon{"F1EA} SP). #### PI/Professor @@ -657,8 +657,8 @@ They are experts in their field and should be able to give proper guidance to th They should be aware of the skills of an RSE and when they might need one in their group. They should encourage their students to use relevant tools (\faicon{"E4C7} LIBS). They need to be able to judge the suitability of the software (\faicon{"E4E2} SWLC) and follow the interactions between relevant projects (\faicon{"E13C} SWREPOS). -They should be able to advise their students on the legal aspects of software production and distribution (SP). -They should be able to contribute meaningfully to the steering decisions of the software in their field (USERS). +They should be able to advise their students on the legal aspects of software production and distribution (\faicon{"F1EA} SP). +They should be able to contribute meaningfully to the steering decisions of the software in their field (\faicon{"F086} USERS). They need to guide students and give full-size lectures (\faicon{"F51C} TEACH). They need to manage and lead their research group (\faicon{"F46D} PM, \faicon{"F500} TEAM). @@ -813,7 +813,7 @@ We first summarise the meaning of each of the columns in the table: they can also provide institution-level access to platforms that support this. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SP& + \faicon{"F1EA} SP& Responsibility may be with an individual but they may not have necessary knowledge/skills.& This is a core area that RSE teams need to be aware of. An RSE team might have established practices, workflows and policies at hand to routinely publish software.& @@ -833,7 +833,7 @@ We first summarise the meaning of each of the columns in the table: extensively in but this is likely to be handled at a research group level. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - USERS& + \faicon{"F086} USERS& Is the software developed to support external users? If so, additional technical skills may be required, especially if future sustainability is an aim.& @@ -910,7 +910,7 @@ while other RSEs might expand their skill set and profession to areas, that are #### OpenScience RSE Open Science and FAIRness of Data and Software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB} RC) and how to distribute software publicly (\faicon{"F1B8} SRU, SP). +Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB} RC) and how to distribute software publicly (\faicon{"F1B8} SRU, \faicon{"F1EA} SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -920,7 +920,7 @@ Like the Data-focused RSE, they have a deep understanding of RDM topics. #### Project/Community Manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (\faicon{"F46D} PM), (USERS), and (\faicon{"F500} TEAM) skills, as exemplified in @subsec:examplecareer. +processes and people. This gap can be filled by people who invest in the (\faicon{"F46D} PM), (\faicon{"F086} USERS), and (\faicon{"F500} TEAM) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. @@ -1143,7 +1143,7 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - Research Skills: - Optional Domain Mastery Module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8} SRU, SP, \faicon{"F07B} DOMREP). + - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8} SRU, \faicon{"F1EA} SP, \faicon{"F07B} DOMREP). - Meta-Research Module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. - Software Engineering Skills: @@ -1153,7 +1153,7 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - Communication Skills: - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\faicon{"F46D} PM). - - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (USERS) skill. + - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\faicon{"F086} USERS) skill. - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\faicon{"F51C} TEACH) skill. Given that RSE work also involves a lot of craftsmanship skills, @@ -1162,7 +1162,7 @@ At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. We recommend covering both the candidate's home domain as well as another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE -students take the role of a consultant. This setup strengthens the (\faicon{"F500} TEAM, \faicon{"F51C} TEACH, USERS) skill +students take the role of a consultant. This setup strengthens the (\faicon{"F500} TEAM, \faicon{"F51C} TEACH, \faicon{"F086} USERS) skill and most likely also the (\faicon{"F5FC} MOD) skill through interaction. To emphasise the exposure to domains outside of their bachelor's degree domain, @@ -1238,13 +1238,13 @@ The new position involves taking responsibility for the RSE related aspects of a With her new responsibilities comes a shift in the importance of various aspects of her work. Having this position in an inter-organisational project places far more emphasis on communication and organisation skills. She is spending time teaching people (\faicon{"F51C} TEACH skill) to onboard them into the project. -There is a lot of interaction with different stakeholders in the project like funders and user groups (USERS skill). +There is a lot of interaction with different stakeholders in the project like funders and user groups (\faicon{"F086} USERS skill). To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\faicon{"F46D} PM skills). Her work so far has already been heavy on (\faicon{"F500} TEAM) skills, but now also the leadership aspect comes into play. #### RSE-focused Principal Investigator -The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CRSP) +The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CR\faicon{"F1EA} SP) from an institutionalised centre of RSE education. The certificate confirms her track record of valuable software contributions and of teaching and mentoring people, From 89f9d1a5b82308069028fe5be95e327c1a3b90a4 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 11:04:28 +0100 Subject: [PATCH 059/108] fix crsp --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index fb0c9550..71b289fd 100644 --- a/competencies.md +++ b/competencies.md @@ -1244,7 +1244,7 @@ Her work so far has already been heavy on (\faicon{"F500} TEAM) skills, but now #### RSE-focused Principal Investigator -The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CR\faicon{"F1EA} SP) +The job experience as a leading RSE for a large project was the last requirement necessary to be awarded the title of a "Certified Research Software Professional" (CRSP) from an institutionalised centre of RSE education. The certificate confirms her track record of valuable software contributions and of teaching and mentoring people, From ff81917c1d5628cf36f58ad59aeacda30f6d347e Mon Sep 17 00:00:00 2001 From: ljgarcia Date: Fri, 17 Nov 2023 15:17:39 +0100 Subject: [PATCH 060/108] Add author --- competencies.md | 1 + contributors.yml | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 2beb3beb..00279f42 100644 --- a/competencies.md +++ b/competencies.md @@ -20,6 +20,7 @@ author: - Anna-Lena Lamprecht - Dominic Kempf - Toby Hodges + - Leyla Jael Castro output: pdf_document: citation_package: biblatex diff --git a/contributors.yml b/contributors.yml index 87a15af1..adab3c13 100644 --- a/contributors.yml +++ b/contributors.yml @@ -173,7 +173,17 @@ authors: - The Carpentries, USA orcid: 0000-0003-1766-456X email: tobyhodges@carpentries.org - + + - author: "Leyla Jael Castro" + firstName: Leyla Jael + lastName: Castro + affiliations: + - ZB MED Information Centre for Life Sciences, Cologne, Germany + orcid: 0000-0003-3986-0510 + email: ljgarcia@zbmed.de + acknowledgements: | + LJC acknowledges support from the NFDI4DS consortium funded by the German Research Foundation (DFG) - project number + [460234259](https://gepris.dfg.de/gepris/projekt/460234259?language=en). # please use the following author template (all fields are optional): # - author: "F. D. C. Willard, Jr." From 6dee6b2e6815c5c795bebc3452efdad3e849d2a3 Mon Sep 17 00:00:00 2001 From: ljgarcia Date: Fri, 17 Nov 2023 15:26:45 +0100 Subject: [PATCH 061/108] Update competencies.md * Expands FAIR acronym first time used * Uses e.g., along the document. * Uses SE instead of software engineering (acronym already defined) except when is part of a concept (research software engineering) or somehow emphasized (between quotation marks, bold font, titles). --- competencies.md | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/competencies.md b/competencies.md index 2beb3beb..af86dc51 100644 --- a/competencies.md +++ b/competencies.md @@ -108,7 +108,7 @@ they may have a standard research or technical job title such as Research Assistant, Research Fellow, or Software Engineer. Regardless of their job title, RSEs share a set of core skills that are required to write software, understand the research environment, and ensure that they produce sustainable, maintainable -code that supports reproducible research outputs, following the FAIR principles [@FAIR4RS]. +code that supports reproducible research outputs, following the Findability, Accessibility, Interoperability and Reusability (FAIR) principles [@FAIR4RS]. This paper defines a set of core values and competencies, agnostic of specific technical capabilities or research domains, @@ -118,9 +118,9 @@ we provide a guiding framework to facilitate the training and continuous professional development of RSEs, thus helping to provide a positive impact on research outputs and, ultimately, society as a whole. -These competencies draw upon skills from traditional software engineering practice, +These competencies draw upon skills from traditional SE practice, established research culture, and the commitment to being part of a team. -While there is anecdotal evidence that academic software engineering practitioners +While there is anecdotal evidence that academic SE practitioners would have chosen different competencies, we will argue that this trifecta of skills is exactly what is needed for modern digital research. @@ -241,12 +241,12 @@ of volunteer instructors and helpers who run courses around these materials. A similar framework is provided by CodeRefinery [@CodeRefinery], currently funded by the Nordic e-Infrastructure, as well as SURESOFT [@SURESOFTLink; @SURESOFT2022], a DFG funded project at TU Braunschweig and -FAU Erlangen-Nürnberg, targeting more advanced software engineering topics like +FAU Erlangen-Nürnberg, targeting more advanced SE topics like Software Design Principles, Design Patterns, Refactoring, Continuous Integration and Test Driven Development. There are also several initiatives focused on training HPC-oriented RSEs, such as the Partnership for Advanced Computing in Europe (PRACE) [@PRACE] -(with material aggregated on various websites, e.g. on EuroCC Training [@EuroCCTraining]), +(with material aggregated on various websites, e.g., on EuroCC Training [@EuroCCTraining]), UNIVERSE-HPC (Understanding and Nurturing an Integrated Vision for Education in RSE and HPC) [@UNIVERSEHPC] (a project funded under the UK's ExCALIBUR research programme [@EXCALIBUR]), @@ -260,7 +260,7 @@ the Helmholtz Federated IT Services platform (HIFIS) [@HIFIS], and the already m The activities of an RSE are guided by ethical values. In addition to the values for good scientific practice [@dfg_gsp], RSEs also adhere to -the software engineering Code of Ethics [@Gotterbarn1999]. +the SE Code of Ethics [@Gotterbarn1999]. Central to that code is the RSE's obligation to commit to the health, safety and welfare of the public and act in the interest of society, their employer and their clients. Further values loosely based on that code include the obligations @@ -272,7 +272,7 @@ Further values loosely based on that code include the obligations + to treat colleagues and collaborators with respect and work towards a fair and inclusive environment, and + to promote these values whenever possible and make sure that they are passed on to new practitioners. -RSEs often assume a multifaceted role at the junction of research, software engineering and data management. +RSEs often assume a multifaceted role at the junction of research, SE and data management. They work with a varying and diverse set of colleagues that might include other developers, support unit staff and academics of different fields and all career stages. This situation yields a specific set of challenges RSEs should be aware of @@ -288,7 +288,7 @@ We highlight that professional conduct requires these creations to be reliable a In particular, the way that personal data is handled can have far-reaching implications for society. Independent of the encoding into the respective national law in an RSE's jurisdiction, the right to information privacy is internationally recognised as a fundamental human right, -e.g. in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. +e.g., in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance and deal with tensions that might arise with researchers' desire for trouble-free sharing of data, thereby expecting openness about the research process, versus the integrity expectations of the society towards IT systems. @@ -303,7 +303,7 @@ RSEs are often experienced professionals who instruct and work closely with earl Similarly to academic supervisors, they bear a certain responsibility to guide and advise younger colleagues with respect to career development and the achievement of academic goals. According to the UNESCO Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). -This imbalance is even more pronounced in software engineering with a majority of developers identifying as white male [@StackOverflow2022]. +This imbalance is even more pronounced in SE with a majority of developers identifying as white male [@StackOverflow2022]. Thereby, to promote their values of an honest, open, and inclusive research space, they should be aware of the diversity problem and help to mediate it whenever they have the chance to do so. @@ -350,13 +350,13 @@ the different RSE specialisations (**RSE specialisations**). ## Software engineering skills -There are many software engineering curricula out there, that try to define +There are many SE curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example highlighting some aspects in more detail than here is @Landwehr2017. The software skills outlined here are required to make research software adhere to the FAIR principles, which are aspects of good scientific practice. @ChueHong2014 defines different levels of research -software reusability and the extent to which the software engineering skills +software reusability and the extent to which the SE skills need to be applied to reach them. ### Creating documented code building blocks (DOCBB) @@ -464,7 +464,7 @@ They are embedded in a research group or work within a team of RSEs supporting p RSEs often need to interact with and facilitate communication among colleagues, clients and contractors with a very broad spectrum of background-knowledge, specialisation, expectations, and experience. Communication skills are therefore crucially important. -Team skills are also mentioned in common guides for software engineering such as the software engineering body of knowledge [@swebok_2014]. +Team skills are also mentioned in common guides for SE such as the software engineering body of knowledge [@swebok_2014]. However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. @@ -523,7 +523,7 @@ what they would like to have learnt. Among the top five things mentioned were: since the contributed code has to be understood by others. Interacting with project members depends on the TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's code of - conduct, and some knowledge of popular software licences like e.g. the GPL. + conduct, and some knowledge of popular software licences like e.g., the GPL. - When or why to keep repositories private. This decision requires knowledge in the RC, to understand when it makes sense to open up or close down a repository. The USERS, TEAM and sometimes SP skills are required to make this decision. @@ -557,7 +557,7 @@ Beyond that, we feel that today other important tasks of RSEs are Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. To formalise the process of giving good advice a classification of software is commonly used [@Wang2012; @Schlauch2018b] where research software can move from one class to another during its life-cycle. - @Schlauch2018b classify applications based on their scope and criticality and provide software engineering recommendations. + @Schlauch2018b classify applications based on their scope and criticality and provide SE recommendations. The RSE needs to be able to identify the application class they are dealing with and apply the respective RSE practices. - Enforcing reproducibility. Projects like ReproHack [@ReproHack] can greatly help in fostering that competency. @@ -625,7 +625,7 @@ Additionally, many researchers in fields from classical examples like numerical mathematics or theoretical physics to newer disciplines like digital humanities will spend time in their research on writing and developing software. -Therefore, RSE focused training, e.g. in a master's programme, +Therefore, RSE focused training, e.g., in a master's programme, is also beneficial for students in these fields resulting in a broader audience. @@ -767,12 +767,12 @@ The current situation may differ. Need to think about coherent life-cycle management across the team - generally a key area of expertise for an RSE team.& Should support with training. Organisation may also provide site - licences for, e.g. management tools. + licences for, e.g., management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SWREPOS& Uses repositories for code management and demonstrating outputs, - e.g. for supporting academic credit, but may be missing skills.& + e.g., for supporting academic credit, but may be missing skills.& As locally-based, but professional RSEs are generally very experienced with use of repositories and their many features.& Uses repositories to collaborate inside the team. @@ -995,7 +995,7 @@ This can often serve as a base domain for RSE specialisation as in @subsec:examp RSEs working at the flourishing intersection between data science and RSE. They are skilled in cleaning data and/or running data analyses and can help researchers in setting up their analysis pipeline and/or RDM solutions. -When the field requires research on sensitive data or information, e.g. patient information in medicine, +When the field requires research on sensitive data or information, e.g., patient information in medicine, this RSE should have knowledge about secure transfer methods and/or ways to anonymise the data. As part of RDM, this RSE profile is able to support all stages of the research data life-cycle [@Nieva2020], with synchronous data management processes. Those processes implement established best practices for planning and documenting of data acquisition in a data management plan (DMP), as well as for management, @@ -1010,7 +1010,7 @@ New areas of expertise This RSE is interested in SysOps and system administration and sets up IT infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and on the other hand knowledge about setup and configuration of particular server software, like -e.g. setup of virtual machines on hypervisors or the planning and setup of compute server clusters machine learning. +e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters machine learning. As an interface between the researchers and the infrastructure, they take care of user management, access permissions, and configuration of required services. #### Maintenance RSEs @@ -1129,7 +1129,7 @@ At the same time, being software engineers, we cherish that we have to take responsibility for our tools. We continue with core competencies that have been intentionally formulated abstractly without referencing any particular information-processing device. -As expected, we draw equally upon notions from software engineering and research, +As expected, we draw equally upon notions from SE and research, but find that we likewise require teamwork capabilities. We continue with detailing these competencies in various dimensions and find that a different amount is required in different positions and scientific domains, @@ -1137,7 +1137,7 @@ while proposing recommendations for organisations to foster the development of t Nevertheless, they are required and hence the values and competencies form a common denominator that unifies RSEs and enables them to identify with this domain that will become critically important for many areas of science. -These competencies at the intersection of research and software engineering +These competencies at the intersection of research and SE coupled with a firm belief in team processes makes RSEs sought after on the job market and their values make them responsible members of a digital society. This yields a qualification profile which makes @@ -1170,10 +1170,10 @@ and attend these additional modules to deepen their knowledge in the field. Core modules are of course drawn from the three pillars of the RSE and can be categorised accordingly. -- Software engineering skills: +- SE skills: - Foundational module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools like the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). - - Software architecture module: Here we teach software design and software engineering, again strengthening (DOCBB, LIBS) on a more abstract level. + - Software architecture module: Here we teach software design and SE, again strengthening (DOCBB, LIBS) on a more abstract level. - Research skills: - Optional domain mastery module: Additional minor research courses, but students with a home-domain already have the research part well-covered. @@ -1296,7 +1296,7 @@ in collaboration with initiatives funded by the European High Performance Comput Joint Undertaking (EuroHPC JU) to create a framework for HPC certification [@EuroHPCJU2023]. While this framework focuses mostly on skills specific to HPC, there are a couple of similarities to the framework proposed in this paper. The "SD: Software Development" skill set -is very similar to the software engineering skills discussed in @sec:required-generic-skills, +is very similar to the SE skills discussed in @sec:required-generic-skills, describing a wide range of such skills. This skill set contains Programming Best Practices (SD2), Software Configuration Management (SD3), Software Quality (SD5), @@ -1330,10 +1330,10 @@ These frameworks eventually converged into the EMBL-EBI Competency Hub [@CompetencyHub; @Lloret-Llinares2022], where typical RSE and bioinformatician profiles at different levels of seniority can be queried -(e.g. Junior RSE[^JuniorRSE], +(e.g., Junior RSE[^JuniorRSE], Senior Computational Chemist[^SeniorCC]) and compared against one another -(e.g. Junior vs. Senior RSE[^Comp]). +(e.g., Junior vs. Senior RSE[^Comp]). Competencies can be divided into more fine-grained building blocks: knowledge, skills and abilities (KSAs). They can be organised in a taxonomy, From 97c05dfd3b1ecedd5e6f26e0320ba8ebd6dbb4c5 Mon Sep 17 00:00:00 2001 From: Harald von Waldow Date: Fri, 17 Nov 2023 15:32:02 +0100 Subject: [PATCH 062/108] shortened my affiliation --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 87a15af1..59d974d4 100644 --- a/contributors.yml +++ b/contributors.yml @@ -127,7 +127,7 @@ authors: firstName: Harald lastName: von Waldow affiliations: - - Johann Heinrich von Thünen Institute, Centre for Information Management, Braunschweig, Germany + - Johann Heinrich von Thünen Institute, Centre for Information Management, Germany orcid: 0000-0003-4800-2833 email: harald.vonwaldow@thuenen.de From f758784a940b88d2743b47f38af56fc61fa1d012 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 15:34:18 +0100 Subject: [PATCH 063/108] try non breaking space --- competencies.md | 200 ++++++++++++++++++++++++------------------------ 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/competencies.md b/competencies.md index 71b289fd..c3ca1ccd 100644 --- a/competencies.md +++ b/competencies.md @@ -342,7 +342,7 @@ to the FAIR principles. [@ChueHong2014] defines different levels of research software reusability and the extent to which the software engineering skills need to be applied to reach them. -### Creating documented code building blocks (\faicon{"F0E8} DOCBB) +### Creating documented code building blocks (\faicon{"F0E8}\nobreakspace{}DOCBB) The RSE should be able to create building blocks from source code that are reusable. This ranges from simple libraries of functions up to complex @@ -353,7 +353,7 @@ is primarily achieved through a "clean" implementation and enhanced by documentation. Documentation ranges from commenting code blocks to using documentation (building) tools. -### Building distributable libraries (\faicon{"E4C7} LIBS) +### Building distributable libraries (\faicon{"E4C7}\nobreakspace{}LIBS) The RSE should be able to distribute their code on their domain/language specific distribution platforms. This almost always encompasses @@ -362,7 +362,7 @@ requires knowledge of using build systems to enable interoperability with other systems. -### Adapting to the software life-cycle (\faicon{"E4E2} SWLC) +### Adapting to the software life-cycle (\faicon{"E4E2}\nobreakspace{}SWLC) The traditional software life-cycle defines the stages that form the process of building a piece of software. Initial development generally involves a creative process where requirements are gathered and analysed, @@ -375,12 +375,12 @@ The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. -### Use repositories (\faicon{"E13C} SWREPOS) +### Use repositories (\faicon{"E13C}\nobreakspace{}SWREPOS) The RSE should be able to use public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -### Software Behaviour Awareness and Analysis (\faicon{"F5FC} MOD) +### Software Behaviour Awareness and Analysis (\faicon{"F5FC}\nobreakspace{}MOD) We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -393,7 +393,7 @@ and make sure that they do not negatively impact the integrity of their institut ## The research skills -### Curiosity (\faicon{"E54D} NEW) +### Curiosity (\faicon{"E54D}\nobreakspace{}NEW) RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -402,7 +402,7 @@ Curiosity is also reflected when an RSE is actively trying out new tools. Lifelong learning is then no longer just a phrase but becomes a motivation to work. -### Understanding the research cycle (\faicon{"E4BB} RC) +### Understanding the research cycle (\faicon{"E4BB}\nobreakspace{}RC) One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, @@ -414,7 +414,7 @@ Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of good research, like publications, reviews and reproducibility. -### Software re-use (\faicon{"F1B8} SRU) +### Software re-use (\faicon{"F1B8}\nobreakspace{}SRU) One goal of FAIR software is to avoid unnecessary duplication of work by reusing existing work instead. To (re-) use software, researchers have to be able to @@ -422,7 +422,7 @@ find it and then easily evaluate if the software actually suits their needs. Apart from functionality, the integration with other software, expected sustainability, and extensibility also have to be part of this evaluation. -### Software publication (\faicon{"F1EA} SP) +### Software publication (\faicon{"F1EA}\nobreakspace{}SP) The second part of FAIR software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. @@ -431,7 +431,7 @@ the compatibility of different common licenses and the ramifications for re-usin Finally, RSEs will need to properly execute the technicalities of software publishing, such as applying licenses, honouring copyright statements and crediting contributors. -### Using domain repositories/directories (\faicon{"F07B} DOMREP) +### Using domain repositories/directories (\faicon{"F07B}\nobreakspace{}DOMREP) Almost all research software is developed within a specific scientific domain. Some software may be able to cross boundaries, but the majority will have a @@ -451,7 +451,7 @@ Team skills are also mentioned in common guides for software engineering such as However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. -### Working in a team (\faicon{"F500} TEAM) +### Working in a team (\faicon{"F500}\nobreakspace{}TEAM) Working in a team is all about communication and teamwork. For example, RSEs need to be able to explain particular implementation choices made and may even need to defend them. @@ -463,7 +463,7 @@ including, for example, IT staff, domain scientists and technicians working alon The shared values come into play and each RSE needs to ensure that these values are lived by and passed on to others. Senior RSEs may lead a team of RSEs. -### Teaching (\faicon{"F51C} TEACH) +### Teaching (\faicon{"F51C}\nobreakspace{}TEACH) RSEs have many opportunities to teach. These range from inducting new colleagues to teaching digital skills either through short courses, @@ -471,14 +471,14 @@ for example from The Carpentries [@Carpentries], or entire lecture series. RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -### Project Management (\faicon{"F46D} PM) +### Project Management (\faicon{"F46D}\nobreakspace{}PM) The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, -but it is useful, if an RSE knows its place in a \faicon{"F46D} PM scheme, or can bring in new ideas for improvement. -Project management in research software engineering poses specific challenges (see [\faicon{"F086} USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity +but it is useful, if an RSE knows its place in a \faicon{"F46D}\nobreakspace{}PM scheme, or can bring in new ideas for improvement. +Project management in research software engineering poses specific challenges (see [\faicon{"F086}\nobreakspace{}USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. -### Interaction with users and other stakeholders (\faicon{"F086} USERS) +### Interaction with users and other stakeholders (\faicon{"F086}\nobreakspace{}USERS) Since research software is often developed as part of the research process itself, its requirements and specifications might change with the progression of research. @@ -499,33 +499,33 @@ RSE can be found. A snapshot of what this means today was obtained from learners and novice RSEs that we asked during the Paderborn workshop what they would like to have learnt. Among the top five things mentioned were: -- Testing. This task is a manifestation of the SE competencies of \faicon{"F0E8} DOCBB and \faicon{"F5FC} MOD +- Testing. This task is a manifestation of the SE competencies of \faicon{"F0E8}\nobreakspace{}DOCBB and \faicon{"F5FC}\nobreakspace{}MOD since a model of the software is required in order to write good tests that facilitate understanding and documentation. Today this encompasses the knowledge of testing frameworks and CI/CD practices. - Contributing to large projects. This is a topic that requires competency in - \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU, \faicon{"F1EA} SP in order to understand the ramifications of sharing, and \faicon{"F0E8} DOCBB, + \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP in order to understand the ramifications of sharing, and \faicon{"F0E8}\nobreakspace{}DOCBB, since the contributed code has to be understood by others. Interacting with - project members depends on the \faicon{"F500} TEAM skill. Today this entails the effective + project members depends on the \faicon{"F500}\nobreakspace{}TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's Code of Conduct, and some knowledge of popular software licenses like e.g. GPL. - When or why to keep repositories private. This decision requires knowledge in - the \faicon{"E4BB} RC, to understand when it makes sense to open up or close down a repository. - The \faicon{"F086} USERS, \faicon{"F500} TEAM and sometimes \faicon{"F1EA} SP skills are required to make this decision. + the \faicon{"E4BB}\nobreakspace{}RC, to understand when it makes sense to open up or close down a repository. + The \faicon{"F086}\nobreakspace{}USERS, \faicon{"F500}\nobreakspace{}TEAM and sometimes \faicon{"F1EA}\nobreakspace{}SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. - Proper Development. This broad topic requires all of the SE skills. Of course, these are the competencies that are the most fluid since they have to adapt at a high rate to technological advancements. Additionally, proper SE skills - often require knowledge of \faicon{"F500} TEAM, and \faicon{"F46D} PM. Today this means effective use of IDEs, + often require knowledge of \faicon{"F500}\nobreakspace{}TEAM, and \faicon{"F46D}\nobreakspace{}PM. Today this means effective use of IDEs, static analysis tools, design patterns, documentation (for oneself and others), etc. - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of \faicon{"E4BB} RC, \faicon{"F086} USERS, and also \faicon{"E54D} NEW, in order to effectively interact with + knowledge of \faicon{"E4BB}\nobreakspace{}RC, \faicon{"F086}\nobreakspace{}USERS, and also \faicon{"E54D}\nobreakspace{}NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other - \faicon{"F500} TEAM-related aspect is the embedding of RSE graduates into the community of + \faicon{"F500}\nobreakspace{}TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other RSEs, tool-related communities and the classical domain communities. This point is further elaborated in @sec:reachout. @@ -534,7 +534,7 @@ Beyond that, we feel that today other important tasks of RSEs are - Mentoring colleagues. This necessitates giving good advice that fits to a projects stage in its life-cycle, - thereby requiring knowledge of (\faicon{"E4E2} SWLC), and its context in its research domain and thus (\faicon{"E4BB} RC). + thereby requiring knowledge of (\faicon{"E4E2}\nobreakspace{}SWLC), and its context in its research domain and thus (\faicon{"E4BB}\nobreakspace{}RC). Research software often starts out as a tool to answer a personal research question and becomes more important when other researchers rely on it. Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. @@ -566,20 +566,20 @@ A story-like example of an individual through the hierarchies can be found in @s | | Junior | Senior | Principal RSE(brings in funding) | | ------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| \faicon{"F0E8} DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | -| \faicon{"E4C7} LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | -| \faicon{"F5FC} MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | -| \faicon{"E4E2} SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | -| \faicon{"E13C} SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | -| \faicon{"E54D} NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | -| \faicon{"E4BB} RC | Awareness about the \faicon{"E4BB} RC | should know the position of the project in the \faicon{"E4BB} RC | Should know what is necessary for the project to fit into its position in the \faicon{"E4BB} RC | -| \faicon{"F1B8} SRU | Should be aware about tools for \faicon{"F1B8} SRU | Should be able to find sth. with \faicon{"F1B8} SRU tools | Should be able to effectively find sth. with \faicon{"F1B8} SRU tools and be able to evaluate and perform the integration of a library into the project. | -| \faicon{"F1EA} SP | Should be aware that \faicon{"F1EA} SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | -| \faicon{"F07B} DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | -| \faicon{"F086} USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | -| \faicon{"F51C} TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | -| \faicon{"F46D} PM | Awareness about the employed project management method | Should be able to use the employed \faicon{"F46D} PM method | Should be able to design and adapt the employed \faicon{"F46D} PM method. | -| \faicon{"F500} TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | +| \faicon{"F0E8}\nobreakspace{}DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | +| \faicon{"E4C7}\nobreakspace{}LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | +| \faicon{"F5FC}\nobreakspace{}MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | +| \faicon{"E4E2}\nobreakspace{}SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | +| \faicon{"E13C}\nobreakspace{}SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | +| \faicon{"E54D}\nobreakspace{}NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | +| \faicon{"E4BB}\nobreakspace{}RC | Awareness about the \faicon{"E4BB}\nobreakspace{}RC | should know the position of the project in the \faicon{"E4BB}\nobreakspace{}RC | Should know what is necessary for the project to fit into its position in the \faicon{"E4BB}\nobreakspace{}RC | +| \faicon{"F1B8}\nobreakspace{}SRU | Should be aware about tools for \faicon{"F1B8}\nobreakspace{}SRU | Should be able to find sth. with \faicon{"F1B8}\nobreakspace{}SRU tools | Should be able to effectively find sth. with \faicon{"F1B8}\nobreakspace{}SRU tools and be able to evaluate and perform the integration of a library into the project. | +| \faicon{"F1EA}\nobreakspace{}SP | Should be aware that \faicon{"F1EA}\nobreakspace{}SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | +| \faicon{"F07B}\nobreakspace{}DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | +| \faicon{"F086}\nobreakspace{}USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | +| \faicon{"F51C}\nobreakspace{}TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | +| \faicon{"F46D}\nobreakspace{}PM | Awareness about the employed project management method | Should be able to use the employed \faicon{"F46D}\nobreakspace{}PM method | Should be able to design and adapt the employed \faicon{"F46D}\nobreakspace{}PM method. | +| \faicon{"F500}\nobreakspace{}TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | Table: Levels of competency expected for different RSE career stages. {#tbl:comp-lvls} @@ -616,51 +616,51 @@ as development is a large part of their actual research. Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. -Undergrad students should be aware that RSEs exist and that software has different quality aspects (\faicon{"F0E8} DOCBB). -They should be aware of domain specific tools (\faicon{"E4C7} LIBS, \faicon{"F1B8} SRU) and where to find them (\faicon{"E13C} SWREPOS, \faicon{"F07B} DOMREP). -At this level it is sufficient to consider software as black boxes (\faicon{"F086} USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC} MOD, \faicon{"E54D} NEW). -They should have an awareness of software licenses and whom to ask if they have any questions (\faicon{"F1EA} SP). -They will be taught about the research cycle (\faicon{"E4BB} RC) and that researchers often work in groups (\faicon{"F500} TEAM). -During practicals, they will have an opportunity for peer learning (\faicon{"F51C} TEACH). +Undergrad students should be aware that RSEs exist and that software has different quality aspects (\faicon{"F0E8}\nobreakspace{}DOCBB). +They should be aware of domain specific tools (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"F1B8}\nobreakspace{}SRU) and where to find them (\faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F07B}\nobreakspace{}DOMREP). +At this level it is sufficient to consider software as black boxes (\faicon{"F086}\nobreakspace{}USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC}\nobreakspace{}MOD, \faicon{"E54D}\nobreakspace{}NEW). +They should have an awareness of software licenses and whom to ask if they have any questions (\faicon{"F1EA}\nobreakspace{}SP). +They will be taught about the research cycle (\faicon{"E4BB}\nobreakspace{}RC) and that researchers often work in groups (\faicon{"F500}\nobreakspace{}TEAM). +During practicals, they will have an opportunity for peer learning (\faicon{"F51C}\nobreakspace{}TEACH). #### Master's Level A student at a master's level can participate in science and should therefore be able to use "some" digital structures. -A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\faicon{"E4C7} LIBS, \faicon{"E13C} SWREPOS, \faicon{"F07B} DOMREP). -They should be able to process and present their data (\faicon{"F5FC} MOD). -They need to understand how their research depends on software (\faicon{"E4E2} SWLC). -Working on their master's thesis allows them to understand the research cycle (\faicon{"E4BB} RC), practice project management (\faicon{"F46D} PM) and collaborate with other members of their research group (\faicon{"F500} TEAM). +A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F07B}\nobreakspace{}DOMREP). +They should be able to process and present their data (\faicon{"F5FC}\nobreakspace{}MOD). +They need to understand how their research depends on software (\faicon{"E4E2}\nobreakspace{}SWLC). +Working on their master's thesis allows them to understand the research cycle (\faicon{"E4BB}\nobreakspace{}RC), practice project management (\faicon{"F46D}\nobreakspace{}PM) and collaborate with other members of their research group (\faicon{"F500}\nobreakspace{}TEAM). #### PhD A PhD student performs independent research under guidance. They need to know relevant tools and structures. -They should know where to find information about tools and where to find help using them (\faicon{"F0E8} DOCBB, \faicon{"E13C} SWREPOS). -They should be able to use the tools (\faicon{"E4C7} LIBS) and identify and report bugs (\faicon{"F5FC} MOD). -They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\faicon{"F086} USERS). -They might produce new software (\faicon{"F5FC} MOD, \faicon{"F1B8} SRU) in which case they need to understand how to license their code for publication (\faicon{"F1EA} SP). +They should know where to find information about tools and where to find help using them (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E13C}\nobreakspace{}SWREPOS). +They should be able to use the tools (\faicon{"E4C7}\nobreakspace{}LIBS) and identify and report bugs (\faicon{"F5FC}\nobreakspace{}MOD). +They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\faicon{"F086}\nobreakspace{}USERS). +They might produce new software (\faicon{"F5FC}\nobreakspace{}MOD, \faicon{"F1B8}\nobreakspace{}SRU) in which case they need to understand how to license their code for publication (\faicon{"F1EA}\nobreakspace{}SP). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (\faicon{"E54D} NEW) they must be able to evaluate research software (\faicon{"E4E2} SWLC). -They need to be able to interact with services (\faicon{"E4BB} RC) and domain specific repositories (\faicon{"F07B} DOMREP). -They should be able to supervise a student (\faicon{"F51C} TEACH). +In order to be able to explore new tools (\faicon{"E54D}\nobreakspace{}NEW) they must be able to evaluate research software (\faicon{"E4E2}\nobreakspace{}SWLC). +They need to be able to interact with services (\faicon{"E4BB}\nobreakspace{}RC) and domain specific repositories (\faicon{"F07B}\nobreakspace{}DOMREP). +They should be able to supervise a student (\faicon{"F51C}\nobreakspace{}TEACH). #### Postdoc Postdocs are independent researchers. Their role is similar to that of a PhD student with a deepened focus on their research career. However, they are proficient users of all relevant tools, which makes them active contributors to their domain of research. -They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\faicon{"F1EA} SP). +They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\faicon{"F1EA}\nobreakspace{}SP). #### PI/Professor They are experts in their field and should be able to give proper guidance to their students on which digital tools are currently relevant. They should be aware of the skills of an RSE and when they might need one in their group. -They should encourage their students to use relevant tools (\faicon{"E4C7} LIBS). -They need to be able to judge the suitability of the software (\faicon{"E4E2} SWLC) and follow the interactions between relevant projects (\faicon{"E13C} SWREPOS). -They should be able to advise their students on the legal aspects of software production and distribution (\faicon{"F1EA} SP). -They should be able to contribute meaningfully to the steering decisions of the software in their field (\faicon{"F086} USERS). -They need to guide students and give full-size lectures (\faicon{"F51C} TEACH). -They need to manage and lead their research group (\faicon{"F46D} PM, \faicon{"F500} TEAM). +They should encourage their students to use relevant tools (\faicon{"E4C7}\nobreakspace{}LIBS). +They need to be able to judge the suitability of the software (\faicon{"E4E2}\nobreakspace{}SWLC) and follow the interactions between relevant projects (\faicon{"E13C}\nobreakspace{}SWREPOS). +They should be able to advise their students on the legal aspects of software production and distribution (\faicon{"F1EA}\nobreakspace{}SP). +They should be able to contribute meaningfully to the steering decisions of the software in their field (\faicon{"F086}\nobreakspace{}USERS). +They need to guide students and give full-size lectures (\faicon{"F51C}\nobreakspace{}TEACH). +They need to manage and lead their research group (\faicon{"F46D}\nobreakspace{}PM, \faicon{"F500}\nobreakspace{}TEAM). ## Project team structures @@ -699,7 +699,7 @@ We first summarise the meaning of each of the columns in the table: \cline{2-5} & locally-based & RSE-Team based & locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F0E8} DOCBB & + \faicon{"F0E8}\nobreakspace{}DOCBB & Focus on getting outputs to support research. Often time-constrained, may be self-taught, less awareness/familiarity with code quality and structure. Simple Best Practice documents can be sufficient& @@ -713,7 +713,7 @@ We first summarise the meaning of each of the columns in the table: Should have research software guidance/policies that provide advice.\\ \hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4C7} LIBS& + \faicon{"E4C7}\nobreakspace{}LIBS& Reusability and sharing/distribution of code often not a focus or considered relevant. & Greater trained focus on reusability/sharing but likely not part of the project aims.& May be looking to develop reusable shareable outputs but likely case-by-case basis. Need easy resources.& @@ -721,7 +721,7 @@ We first summarise the meaning of each of the columns in the table: Should provide policies on sharing and reuse of software. May be driven by requirements/policies of the funding agency. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4E2} SWLC& + \faicon{"E4E2}\nobreakspace{}SWLC& It's down to you to manage the complete life-cycle, if you move on, what will happen to the code?& More support with a team but do they have awareness/expertise @@ -735,7 +735,7 @@ We first summarise the meaning of each of the columns in the table: licences for e.g. management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E13C} SWREPOS& + \faicon{"E13C}\nobreakspace{}SWREPOS& Where open source, use of repositories important for code management and demonstrating outputs - e.g. supporting academic credit. May not have awareness/skills if self-taught.& @@ -751,7 +751,7 @@ We first summarise the meaning of each of the columns in the table: for this vital research software development tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F5FC} MOD& + \faicon{"F5FC}\nobreakspace{}MOD& Needs full awareness of entire codebase to support extension/maintenance. May not need/get additional experience or support. If project taken on from another individual developer, @@ -772,7 +772,7 @@ We first summarise the meaning of each of the columns in the table: will improve overall turnaround times. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E54D} NEW& + \faicon{"E54D}\nobreakspace{}NEW& An individual's curiosity has now to be shared between the research goal and the software project, therefore learning new methods and skills may be challenging and is often not the core aim.& @@ -787,7 +787,7 @@ We first summarise the meaning of each of the columns in the table: information on new technical processes and tooling, and facilitate training. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4BB} RC& + \faicon{"E4BB}\nobreakspace{}RC& This is likely to be familiar to individuals, who are often researchers, especially if they are embedded within a research team.& Many RSEs will have familiarity with the research life-cycle, @@ -801,7 +801,7 @@ We first summarise the meaning of each of the columns in the table: the research life-cycle, this can support researchers/RSEs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F1B8} SRU& + \faicon{"F1B8}\nobreakspace{}SRU& Need to know how to find other work to build awareness of existing solutions. Researchers sometimes like to do things themselves. Working individually means there may not be someone to highlight this.& @@ -813,7 +813,7 @@ We first summarise the meaning of each of the columns in the table: they can also provide institution-level access to platforms that support this. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F1EA} SP& + \faicon{"F1EA}\nobreakspace{}SP& Responsibility may be with an individual but they may not have necessary knowledge/skills.& This is a core area that RSE teams need to be aware of. An RSE team might have established practices, workflows and policies at hand to routinely publish software.& @@ -822,7 +822,7 @@ We first summarise the meaning of each of the columns in the table: The organisation should raise awareness about software as publishable scientific output, provide recommendations and checklists to support software-publications and have legal experts in place to deal with complex cases. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F07B} DOMREP& + \faicon{"F07B}\nobreakspace{}DOMREP& Domain researchers working on software are likely to be more familiar with the domain-specific solutions.& RSEs may need guidance from domain researchers around domain-specific @@ -833,7 +833,7 @@ We first summarise the meaning of each of the columns in the table: extensively in but this is likely to be handled at a research group level. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F086} USERS& + \faicon{"F086}\nobreakspace{}USERS& Is the software developed to support external users? If so, additional technical skills may be required, especially if future sustainability is an aim.& @@ -848,7 +848,7 @@ We first summarise the meaning of each of the columns in the table: Should have institutions that are able to offer support with outreach and publicising outputs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F51C} TEACH& + \faicon{"F51C}\nobreakspace{}TEACH& May be independently involved in training activities.& May be able to support researchers with core technical skills.& Sharing knowledge and skills within their group - peer support.& @@ -857,10 +857,10 @@ We first summarise the meaning of each of the columns in the table: Should have programs for a diverse range of teaching/training activities. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F46D} PM& + \faicon{"F46D}\nobreakspace{}PM& Limited requirement beyond being well organised - can be important if someone else might take over codebase.& - Limited requirement but team will likely have standard \faicon{"F46D} PM approaches + Limited requirement but team will likely have standard \faicon{"F46D}\nobreakspace{}PM approaches to be followed.& Challenging for groups of local researchers/developers on larger projects. May not have awareness/experience of key skills, but this can be alleviated with some low-key courses.& @@ -869,7 +869,7 @@ We first summarise the meaning of each of the columns in the table: May offer organisation-level tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F500} TEAM& + \faicon{"F500}\nobreakspace{}TEAM& N/A& Will need to work effectively with their home RSE team, as well as, potentially with researchers they are developing code for.& @@ -910,7 +910,7 @@ while other RSEs might expand their skill set and profession to areas, that are #### OpenScience RSE Open Science and FAIRness of Data and Software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB} RC) and how to distribute software publicly (\faicon{"F1B8} SRU, \faicon{"F1EA} SP). +Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB}\nobreakspace{}RC) and how to distribute software publicly (\faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -920,13 +920,13 @@ Like the Data-focused RSE, they have a deep understanding of RDM topics. #### Project/Community Manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (\faicon{"F46D} PM), (\faicon{"F086} USERS), and (\faicon{"F500} TEAM) skills, as exemplified in @subsec:examplecareer. +processes and people. This gap can be filled by people who invest in the (\faicon{"F46D}\nobreakspace{}PM), (\faicon{"F086}\nobreakspace{}USERS), and (\faicon{"F500}\nobreakspace{}TEAM) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. #### Teaching RSEs -RSEs interested in developing their (\faicon{"F51C} TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play +RSEs interested in developing their (\faicon{"F51C}\nobreakspace{}TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play a vital role in improving the quality of research software. They need to have a good understanding of all RSE competencies relevant to their domain and additionally should have experience or training in the educational field. @@ -934,9 +934,9 @@ additionally should have experience or training in the educational field. #### User Interface/User Experience Designers for Research Software Scientific software is a complex product that often needs to be refined in order to be usable even by other scientists. -To facilitate this, there are people required that specialise in the (\faicon{"F0E8} DOCBB) and probably the (\faicon{"E4C7} LIBS) competency +To facilitate this, there are people required that specialise in the (\faicon{"F0E8}\nobreakspace{}DOCBB) and probably the (\faicon{"E4C7}\nobreakspace{}LIBS) competency with a focus on making end-user facing software really reusable and hence FAIR. -This task is supported by strong (\faicon{"F5FC} MOD) skills to reason about the behaviour of potential users of the software. +This task is supported by strong (\faicon{"F5FC}\nobreakspace{}MOD) skills to reason about the behaviour of potential users of the software. ## Specialisations outside the core RSE competencies @@ -1143,18 +1143,18 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - Research Skills: - Optional Domain Mastery Module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8} SRU, \faicon{"F1EA} SP, \faicon{"F07B} DOMREP). + - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP, \faicon{"F07B}\nobreakspace{}DOMREP). - Meta-Research Module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. - Software Engineering Skills: - - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (\faicon{"F0E8} DOCBB, \faicon{"E4C7} LIBS). - - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (\faicon{"E4C7} LIBS, \faicon{"F0E8} DOCBB, \faicon{"E13C} SWREPOS, \faicon{"F1B8} SRU). - - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (\faicon{"F0E8} DOCBB, \faicon{"E4C7} LIBS) on a more abstract level. + - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E4C7}\nobreakspace{}LIBS). + - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F1B8}\nobreakspace{}SRU). + - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E4C7}\nobreakspace{}LIBS) on a more abstract level. - Communication Skills: - - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\faicon{"F46D} PM). - - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\faicon{"F086} USERS) skill. - - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\faicon{"F51C} TEACH) skill. + - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\faicon{"F46D}\nobreakspace{}PM). + - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\faicon{"F086}\nobreakspace{}USERS) skill. + - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\faicon{"F51C}\nobreakspace{}TEACH) skill. Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. @@ -1162,13 +1162,13 @@ At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. We recommend covering both the candidate's home domain as well as another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE -students take the role of a consultant. This setup strengthens the (\faicon{"F500} TEAM, \faicon{"F51C} TEACH, \faicon{"F086} USERS) skill -and most likely also the (\faicon{"F5FC} MOD) skill through interaction. +students take the role of a consultant. This setup strengthens the (\faicon{"F500}\nobreakspace{}TEAM, \faicon{"F51C}\nobreakspace{}TEACH, \faicon{"F086}\nobreakspace{}USERS) skill +and most likely also the (\faicon{"F5FC}\nobreakspace{}MOD) skill through interaction. To emphasise the exposure to domains outside of their bachelor's degree domain, we recommend that RSEs also support their non-home-domain project by supporting it with introductory courses from this discipline. We support the idea of broadening the interaction with other domains even more. -This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\faicon{"F5FC} MOD). +This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\faicon{"F5FC}\nobreakspace{}MOD). To align with the specialisations listed in this paper, example optional modules include topics on HPC engineering/parallel programming, numerical mathematics/scientific computing, web technologies, @@ -1176,7 +1176,7 @@ data stewardship, AI models/statistics, and community management/training. The programme is finalised with a master's thesis which should be dual-supervised by an RSE supervisor from an actual project, and a domain supervisor. -The thesis should answer a relevant research question (strengthening (\faicon{"E54D} NEW)) from the domain using computational methods. +The thesis should answer a relevant research question (strengthening (\faicon{"E54D}\nobreakspace{}NEW)) from the domain using computational methods. Software development is required, and the code is part of the gradable deliverables. The RSE supervisor ensures and grades the software craftsmanship aspects of the project. This setup ensures that we are grading the effectiveness of applying RSE skills in an actual research environment. @@ -1214,7 +1214,7 @@ The project management skills that are being taught as part of the core RSE curr Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. She also has to liaise with the central IT department to organise storage for the large data sets. -Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\faicon{"E4E2} SWLC, \faicon{"E4BB} RC) in action +Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\faicon{"E4E2}\nobreakspace{}SWLC, \faicon{"E4BB}\nobreakspace{}RC) in action that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish @@ -1226,7 +1226,7 @@ Kay has now completed the RSE programme and has reached Junior RSE level. Kay finds a position in the central RSE department at her university with a competitive IT salary. Although the contract is temporary, there is a good chance that it will lead to a permanent position. Kay completes the Software Carpentry Instructor training and teaches basic research computing, -while advising fellow students of her department on better programming (\faicon{"F0E8} DOCBB and \faicon{"F5FC} MOD skill). +while advising fellow students of her department on better programming (\faicon{"F0E8}\nobreakspace{}DOCBB and \faicon{"F5FC}\nobreakspace{}MOD skill). She also runs a seminar in the RSE Master's programme. She publishes a condensed version of that in JOSE[@JOSE]. During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE and she gladly signs up to focus more on her communication skills. @@ -1237,10 +1237,10 @@ After three years, she takes an exciting opportunity to work in another universi The new position involves taking responsibility for the RSE related aspects of a large inter-organisational project involving different organisations. With her new responsibilities comes a shift in the importance of various aspects of her work. Having this position in an inter-organisational project places far more emphasis on communication and organisation skills. -She is spending time teaching people (\faicon{"F51C} TEACH skill) to onboard them into the project. -There is a lot of interaction with different stakeholders in the project like funders and user groups (\faicon{"F086} USERS skill). -To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\faicon{"F46D} PM skills). -Her work so far has already been heavy on (\faicon{"F500} TEAM) skills, but now also the leadership aspect comes into play. +She is spending time teaching people (\faicon{"F51C}\nobreakspace{}TEACH skill) to onboard them into the project. +There is a lot of interaction with different stakeholders in the project like funders and user groups (\faicon{"F086}\nobreakspace{}USERS skill). +To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\faicon{"F46D}\nobreakspace{}PM skills). +Her work so far has already been heavy on (\faicon{"F500}\nobreakspace{}TEAM) skills, but now also the leadership aspect comes into play. #### RSE-focused Principal Investigator From f179bf2ddb1d85b0db8f4ec008674446595e661b Mon Sep 17 00:00:00 2001 From: ljgarcia Date: Fri, 17 Nov 2023 15:49:21 +0100 Subject: [PATCH 064/108] Expand acronyms when used for the first time --- competencies.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/competencies.md b/competencies.md index af86dc51..f496508f 100644 --- a/competencies.md +++ b/competencies.md @@ -82,7 +82,7 @@ for their research, let alone write it [@NamingPain]. If they come from a non-te also struggle to know what to ask when trying to request help from and interact with more experienced staff at their institutions. A gap still exists in academic education, as many curricula do not sufficiently prepare their students -in this regard. This situation is exemplified by the extracurricular MIT class +in this regard. This situation is exemplified by the extracurricular Massachusetts Institute of Technology (MIT) class "The Missing Semester of Your CS Education" [@MIT], which aims to convey computing ecosystem literacy even to students of Computer Science at MIT. @@ -94,7 +94,7 @@ and progress in research and academic roles is traditionally assessed through me do not directly include software outputs. A recent shift towards the establishment of the distinct role of a _"Research Software Engineer"_ [@WhatResearchSoftware] -(RSE, a term that emerged from the UK a little over 10 years ago [@Hettrick2016]), +(RSE, a term that emerged from the United Kingdom a little over 10 years ago [@Hettrick2016]), now provides a base on which sustainable career opportunities can be (and are being) built, allowing for better training of researchers and more effective support for the development of high quality research software. @@ -160,7 +160,7 @@ and discusses the level of skill needed to work in each of them, before we conclude the paper with details of future work in @sec:future-work and conclusions in @sec:conclusion. Finally, @sec:appendix provides an example curriculum in @subsec:examplemaster, -a story like description of a fictional RSE career progression in @subsec:examplecareer, +a story-like description of a fictional RSE career progression in @subsec:examplecareer, and a list of existing skills and certifications in related fields, in @subsec:existingframeworks. ## Terminology @@ -206,7 +206,7 @@ resources that are linked to a competency framework. #### HPC Certification Forum -The HPC Certification Forum [@HPCCF] is working towards providing a certification +The High-performance Computing (HPC) Certification Forum [@HPCCF] is working towards providing a certification process for High Performance Computing skills. As part of this process, the group is developing a Competence Standard [@HPCCFCompetencies] and an associated skill tree that provides a classification of HPC competencies. @@ -214,13 +214,13 @@ This work aims to develop a standardised representation of relevant HPC knowledg and skills which can, in turn, lead to structured and recognised sets of skills that can underpin the certification process. -#### EMBL/EBI Competency Hub +#### EMBL-EBI Competency Hub -The EMBL/EBI Competency Hub [@CompetencyHub] provides a bioinformatics/computational +The European Molecular Biology Laboratory - European Bioinformatics Institute (EMBL-EBI) Competency Hub [@CompetencyHub] provides a bioinformatics/computational biology-focused example of a competency portal. In addition to collecting information on a range of competencies that can be browsed within the web-based tool, it also provides career profiles for roles -within the domains that EMBL/EBI focuses on. The hub provides +within the domains that EMBL-EBI focuses on. The hub provides access to variety of training resources that are linked to the specific competencies that they relate to. This enables learners to more easily find the right training materials in order to support their career @@ -240,8 +240,8 @@ a range of open source training materials and international communities of volunteer instructors and helpers who run courses around these materials. A similar framework is provided by CodeRefinery [@CodeRefinery], currently funded by the Nordic e-Infrastructure, -as well as SURESOFT [@SURESOFTLink; @SURESOFT2022], a DFG funded project at TU Braunschweig and -FAU Erlangen-Nürnberg, targeting more advanced SE topics like +as well as SURESOFT [@SURESOFTLink; @SURESOFT2022], a German Research Foundation (DFG, from its German name) funded project at Technical University (TU) Braunschweig and +Friedrich-Alexander-University (FAU) Erlangen-Nürnberg, targeting more advanced SE topics such as Software Design Principles, Design Patterns, Refactoring, Continuous Integration and Test Driven Development. There are also several initiatives focused on training HPC-oriented RSEs, @@ -302,7 +302,7 @@ special topics such as cryptography or re-identification attacks [@Henriksen2016 RSEs are often experienced professionals who instruct and work closely with early career researchers. Similarly to academic supervisors, they bear a certain responsibility to guide and advise younger colleagues with respect to career development and the achievement of academic goals. -According to the UNESCO Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). +According to the United Nations Educational, Scientific and Cultural Organization (UNESCO) Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). This imbalance is even more pronounced in SE with a majority of developers identifying as white male [@StackOverflow2022]. Thereby, to promote their values of an honest, open, and inclusive research space, they should be aware of the diversity problem and help to mediate it whenever they have the chance to do so. @@ -402,7 +402,7 @@ created and invite the public to scrutinise them for public review. We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. Using that, an RSE should be able to make predictions about a software's behaviour. -This is a required skill for common tasks like debugging, profiling, optimising, designing good +This is a required skill for common tasks such as debugging, profiling, optimising, designing good tests, or predicting user interaction. An important facet of this capability relates to information security. RSEs need to consider the safety and integrity of personal data and other sensitive information @@ -429,7 +429,7 @@ Thereby they know that they are part of a bigger cycle that involves many other their domain, and also that their software can be utilised at different stages of the research cycle by different people. Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of -good research, like publications, reviews and reproducibility. +good research, including publications, reviews and reproducibility. ### Software re-use (SRU) @@ -488,7 +488,7 @@ Code review also includes aspects of the teaching skill. ### Project management (PM) -The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, +The RSE should have knowledge about project management (PM). At some institutes, it follows the practices of the local research groups, but it is useful if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. Project management in research software engineering poses specific challenges (see [USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. @@ -517,13 +517,13 @@ what they would like to have learnt. Among the top five things mentioned were: - Testing. This task is a manifestation of the SE competencies of DOCBB and MOD since a model of the software is required in order to write good tests that facilitate understanding and documentation. Today this encompasses the - knowledge of testing frameworks and CI/CD practices. + knowledge of testing frameworks as well as continuous integration and continuous delivery/deployment (CI/CD) practices. - Contributing to large projects. This is a topic that requires competency in SWREPOS, SRU, SP in order to understand the ramifications of sharing, and DOCBB, since the contributed code has to be understood by others. Interacting with project members depends on the TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's code of - conduct, and some knowledge of popular software licences like e.g., the GPL. + conduct, and some knowledge of popular software licences, e.g., the General Public License (GPL). - When or why to keep repositories private. This decision requires knowledge in the RC, to understand when it makes sense to open up or close down a repository. The USERS, TEAM and sometimes SP skills are required to make this decision. @@ -634,7 +634,7 @@ It is important to note that this section does not reflect the current state of Instead, it summarises the discussions with and between workshop participants at different levels of academic progression on what they would have liked to learn at an earlier stage or know before starting their current position. While individuals already work at implementing some of these changes and teaching these skills, it has not yet reached a systemic level. -The text is organised along the academic progression path (bachelor's degree, master's degree, PhD, Postdoc, PI/Professor). +The text is organised along the academic progression path (bachelor's degree, master's degree, PhD, Postdoc, Principal Investigator (PI)/Professor). Since each level is based on the previous levels, we presume that the skills and competencies at each level also encompass those of the previous levels. Due to the broad need throughout academic specialisations, the described levels serve as a baseline @@ -933,7 +933,7 @@ We talk about the "research software engineer" as a single entity but as the fie we expect to see more roles and job titles emerging around the RSE concept, many of which fit under the wider umbrella of research technology professionals (RTPs). Examples are different RSE-like computational roles of -the European Bioinformatics Institute (EMBL-EBI)'s BioExcel competency framework [@BIOEXCEL] (also @subsec:emblbio), +the EMBL-EBI BioExcel competency framework [@BIOEXCEL] (also @subsec:emblbio), as is a range of different roles from King's Digital Lab at King's College London [@KDL]. # RSE specialisations {#sec:rse-specialisations} @@ -948,7 +948,7 @@ while other RSEs might expand their skill set and profession to areas, that are ## Specialisations within the core RSE competencies -#### OpenScience RSE +#### Open science RSE Open science and FAIRness of data and software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. Hence, an open science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). @@ -1009,7 +1009,7 @@ New areas of expertise #### Research infrastructure RSE This RSE is interested in SysOps and system administration and sets up IT infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and -on the other hand knowledge about setup and configuration of particular server software, like +on the other hand knowledge about setup and configuration of particular server software, e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters machine learning. As an interface between the researchers and the infrastructure, they take care of user management, access permissions, and configuration of required services. @@ -1070,7 +1070,7 @@ we foresee the need for RSEs that still have a background in RSE but extend it w that cover corner cases and go beyond applying Best Practice guides. These requirements may arise in the area of publication of research software, as this also requires knowledge about particular laws or regulatory frameworks concerning data protection, -like the GDPR within the EU [@GDPR]. +like the General Data Protection Regulation (GDPR) within the European Union (EU) [@GDPR]. Another area are legal aspects of cybersecurity and export control in science and research (see @ExportControl for Germany). Legal-RSEs focus on facilitating the achievement of technically feasible solutions, while adhering to regulatory mandates. They are able to communicate and collaborate with lawyers. @@ -1091,7 +1091,7 @@ To alleviate that and give RSEs in leadership positions a means to become eligible for funding themselves, since completion of scientific training is often a requirement [@DFG_50_01], we propose the introduction of certificates that can be handed out by selected institutions. Examples of this could be doctorates based on software contributions to the scientific community, or new -certificates like the certificate in @subsec:examplecareer that should become widely accepted. +certificates like those in @subsec:examplecareer that should become widely accepted. Beyond having that discussion, a diverse set of publications is already in the making. Next, we will work on how to institutionalise education. In that publication, we will detail how we organise our institutions and what qualifications our teachers @@ -1172,7 +1172,7 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - SE skills: - Foundational module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). - - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools like the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). + - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools such as the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). - Software architecture module: Here we teach software design and SE, again strengthening (DOCBB, LIBS) on a more abstract level. - Research skills: From af2f57e5f4227580d2723ef6926c297ecf29e8de Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 17 Nov 2023 16:13:33 +0100 Subject: [PATCH 065/108] make usage more convinient --- competencies.md | 216 ++++++++++++++++++++++++++---------------------- 1 file changed, 115 insertions(+), 101 deletions(-) diff --git a/competencies.md b/competencies.md index c3ca1ccd..aec0a261 100644 --- a/competencies.md +++ b/competencies.md @@ -33,7 +33,21 @@ header-includes: - \newcommand{\elandscape}{\end{landscape}} - '\newfontfamily\FA[Path=../fonts/, Extension=.otf]{Font Awesome 6 Free-Solid-900}' - \newcommand*{\faicon}[1]{{\FA \symbol{#1}}} -xnos-cleveref: True + - \newcommand*{\DOCBB}{\faicon{"F0E8}\nobreakspace{}DOCBB} + - \newcommand*{\LIBS}{\faicon{"E4C7}\nobreakspace{}LIBS} + - \newcommand*{\SWLC}{\faicon{"E4E2}\nobreakspace{}SWLC} + - \newcommand*{\SWREPOS}{\faicon{"E13C}\nobreakspace{}SWREPOS} + - \newcommand*{\MOD}{\faicon{"F5FC}\nobreakspace{}MOD} + - \newcommand*{\NEW}{\faicon{"E54D}\nobreakspace{}NEW} + - \newcommand*{\RC}{\faicon{"E4BB}\nobreakspace{}RC} + - \newcommand*{\SRU}{\faicon{"F1B8}\nobreakspace{}SRU} + - \newcommand*{\SP}{\faicon{"F1EA}\nobreakspace{}SP} + - \newcommand*{\DOMREP}{\faicon{"F07B}\nobreakspace{}DOMREP} + - \newcommand*{\TEAM}{\faicon{"F500}\nobreakspace{}TEAM} + - \newcommand*{\TEACH}{\faicon{"F51C}\nobreakspace{}TEACH} + - \newcommand*{\PM}{\faicon{"F46D}\nobreakspace{}PM} + - \newcommand*{\USERS}{\faicon{"F086}\nobreakspace{}USERS} +cleveref: True xnos-capitalise: True keywords: - research software engineering @@ -342,7 +356,7 @@ to the FAIR principles. [@ChueHong2014] defines different levels of research software reusability and the extent to which the software engineering skills need to be applied to reach them. -### Creating documented code building blocks (\faicon{"F0E8}\nobreakspace{}DOCBB) +### Creating documented code building blocks (\DOCBB) The RSE should be able to create building blocks from source code that are reusable. This ranges from simple libraries of functions up to complex @@ -353,7 +367,7 @@ is primarily achieved through a "clean" implementation and enhanced by documentation. Documentation ranges from commenting code blocks to using documentation (building) tools. -### Building distributable libraries (\faicon{"E4C7}\nobreakspace{}LIBS) +### Building distributable libraries (\LIBS) The RSE should be able to distribute their code on their domain/language specific distribution platforms. This almost always encompasses @@ -362,7 +376,7 @@ requires knowledge of using build systems to enable interoperability with other systems. -### Adapting to the software life-cycle (\faicon{"E4E2}\nobreakspace{}SWLC) +### Adapting to the software life-cycle (\SWLC) The traditional software life-cycle defines the stages that form the process of building a piece of software. Initial development generally involves a creative process where requirements are gathered and analysed, @@ -375,12 +389,12 @@ The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. -### Use repositories (\faicon{"E13C}\nobreakspace{}SWREPOS) +### Use repositories (\SWREPOS) The RSE should be able to use public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -### Software Behaviour Awareness and Analysis (\faicon{"F5FC}\nobreakspace{}MOD) +### Software Behaviour Awareness and Analysis (\MOD) We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -393,7 +407,7 @@ and make sure that they do not negatively impact the integrity of their institut ## The research skills -### Curiosity (\faicon{"E54D}\nobreakspace{}NEW) +### Curiosity (\NEW) RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -402,7 +416,7 @@ Curiosity is also reflected when an RSE is actively trying out new tools. Lifelong learning is then no longer just a phrase but becomes a motivation to work. -### Understanding the research cycle (\faicon{"E4BB}\nobreakspace{}RC) +### Understanding the research cycle (\RC) One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, @@ -414,7 +428,7 @@ Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of good research, like publications, reviews and reproducibility. -### Software re-use (\faicon{"F1B8}\nobreakspace{}SRU) +### Software re-use (\SRU) One goal of FAIR software is to avoid unnecessary duplication of work by reusing existing work instead. To (re-) use software, researchers have to be able to @@ -422,7 +436,7 @@ find it and then easily evaluate if the software actually suits their needs. Apart from functionality, the integration with other software, expected sustainability, and extensibility also have to be part of this evaluation. -### Software publication (\faicon{"F1EA}\nobreakspace{}SP) +### Software publication (\SP) The second part of FAIR software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. @@ -431,7 +445,7 @@ the compatibility of different common licenses and the ramifications for re-usin Finally, RSEs will need to properly execute the technicalities of software publishing, such as applying licenses, honouring copyright statements and crediting contributors. -### Using domain repositories/directories (\faicon{"F07B}\nobreakspace{}DOMREP) +### Using domain repositories/directories (\DOMREP) Almost all research software is developed within a specific scientific domain. Some software may be able to cross boundaries, but the majority will have a @@ -451,7 +465,7 @@ Team skills are also mentioned in common guides for software engineering such as However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. -### Working in a team (\faicon{"F500}\nobreakspace{}TEAM) +### Working in a team (\TEAM) Working in a team is all about communication and teamwork. For example, RSEs need to be able to explain particular implementation choices made and may even need to defend them. @@ -463,7 +477,7 @@ including, for example, IT staff, domain scientists and technicians working alon The shared values come into play and each RSE needs to ensure that these values are lived by and passed on to others. Senior RSEs may lead a team of RSEs. -### Teaching (\faicon{"F51C}\nobreakspace{}TEACH) +### Teaching (\TEACH) RSEs have many opportunities to teach. These range from inducting new colleagues to teaching digital skills either through short courses, @@ -471,14 +485,14 @@ for example from The Carpentries [@Carpentries], or entire lecture series. RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -### Project Management (\faicon{"F46D}\nobreakspace{}PM) +### Project Management (\PM) The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, -but it is useful, if an RSE knows its place in a \faicon{"F46D}\nobreakspace{}PM scheme, or can bring in new ideas for improvement. -Project management in research software engineering poses specific challenges (see [\faicon{"F086}\nobreakspace{}USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity +but it is useful, if an RSE knows its place in a \PM scheme, or can bring in new ideas for improvement. +Project management in research software engineering poses specific challenges (see [\USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. -### Interaction with users and other stakeholders (\faicon{"F086}\nobreakspace{}USERS) +### Interaction with users and other stakeholders (\USERS) Since research software is often developed as part of the research process itself, its requirements and specifications might change with the progression of research. @@ -499,33 +513,33 @@ RSE can be found. A snapshot of what this means today was obtained from learners and novice RSEs that we asked during the Paderborn workshop what they would like to have learnt. Among the top five things mentioned were: -- Testing. This task is a manifestation of the SE competencies of \faicon{"F0E8}\nobreakspace{}DOCBB and \faicon{"F5FC}\nobreakspace{}MOD +- Testing. This task is a manifestation of the SE competencies of \DOCBB and \MOD since a model of the software is required in order to write good tests that facilitate understanding and documentation. Today this encompasses the knowledge of testing frameworks and CI/CD practices. - Contributing to large projects. This is a topic that requires competency in - \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP in order to understand the ramifications of sharing, and \faicon{"F0E8}\nobreakspace{}DOCBB, + \SWREPOS, \SRU, \SP in order to understand the ramifications of sharing, and \DOCBB, since the contributed code has to be understood by others. Interacting with - project members depends on the \faicon{"F500}\nobreakspace{}TEAM skill. Today this entails the effective + project members depends on the \TEAM skill. Today this entails the effective use of collaborative platforms like GitHub/GitLab, honouring a project's Code of Conduct, and some knowledge of popular software licenses like e.g. GPL. - When or why to keep repositories private. This decision requires knowledge in - the \faicon{"E4BB}\nobreakspace{}RC, to understand when it makes sense to open up or close down a repository. - The \faicon{"F086}\nobreakspace{}USERS, \faicon{"F500}\nobreakspace{}TEAM and sometimes \faicon{"F1EA}\nobreakspace{}SP skills are required to make this decision. + the \RC, to understand when it makes sense to open up or close down a repository. + The \USERS, \TEAM and sometimes \SP skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. - Proper Development. This broad topic requires all of the SE skills. Of course, these are the competencies that are the most fluid since they have to adapt at a high rate to technological advancements. Additionally, proper SE skills - often require knowledge of \faicon{"F500}\nobreakspace{}TEAM, and \faicon{"F46D}\nobreakspace{}PM. Today this means effective use of IDEs, + often require knowledge of \TEAM, and \PM. Today this means effective use of IDEs, static analysis tools, design patterns, documentation (for oneself and others), etc. - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of \faicon{"E4BB}\nobreakspace{}RC, \faicon{"F086}\nobreakspace{}USERS, and also \faicon{"E54D}\nobreakspace{}NEW, in order to effectively interact with + knowledge of \RC, \USERS, and also \NEW, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other - \faicon{"F500}\nobreakspace{}TEAM-related aspect is the embedding of RSE graduates into the community of + \TEAM-related aspect is the embedding of RSE graduates into the community of RSEs. We envision our RSE graduates to be a part of a strong network of other RSEs, tool-related communities and the classical domain communities. This point is further elaborated in @sec:reachout. @@ -534,7 +548,7 @@ Beyond that, we feel that today other important tasks of RSEs are - Mentoring colleagues. This necessitates giving good advice that fits to a projects stage in its life-cycle, - thereby requiring knowledge of (\faicon{"E4E2}\nobreakspace{}SWLC), and its context in its research domain and thus (\faicon{"E4BB}\nobreakspace{}RC). + thereby requiring knowledge of (\SWLC), and its context in its research domain and thus (\RC). Research software often starts out as a tool to answer a personal research question and becomes more important when other researchers rely on it. Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. @@ -566,20 +580,20 @@ A story-like example of an individual through the hierarchies can be found in @s | | Junior | Senior | Principal RSE(brings in funding) | | ------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| \faicon{"F0E8}\nobreakspace{}DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | -| \faicon{"E4C7}\nobreakspace{}LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | -| \faicon{"F5FC}\nobreakspace{}MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | -| \faicon{"E4E2}\nobreakspace{}SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | -| \faicon{"E13C}\nobreakspace{}SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | -| \faicon{"E54D}\nobreakspace{}NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | -| \faicon{"E4BB}\nobreakspace{}RC | Awareness about the \faicon{"E4BB}\nobreakspace{}RC | should know the position of the project in the \faicon{"E4BB}\nobreakspace{}RC | Should know what is necessary for the project to fit into its position in the \faicon{"E4BB}\nobreakspace{}RC | -| \faicon{"F1B8}\nobreakspace{}SRU | Should be aware about tools for \faicon{"F1B8}\nobreakspace{}SRU | Should be able to find sth. with \faicon{"F1B8}\nobreakspace{}SRU tools | Should be able to effectively find sth. with \faicon{"F1B8}\nobreakspace{}SRU tools and be able to evaluate and perform the integration of a library into the project. | -| \faicon{"F1EA}\nobreakspace{}SP | Should be aware that \faicon{"F1EA}\nobreakspace{}SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | -| \faicon{"F07B}\nobreakspace{}DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | -| \faicon{"F086}\nobreakspace{}USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | -| \faicon{"F51C}\nobreakspace{}TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | -| \faicon{"F46D}\nobreakspace{}PM | Awareness about the employed project management method | Should be able to use the employed \faicon{"F46D}\nobreakspace{}PM method | Should be able to design and adapt the employed \faicon{"F46D}\nobreakspace{}PM method. | -| \faicon{"F500}\nobreakspace{}TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | +| \DOCBB | should be able to write reusable building blocks | same as junior, but the quality should set the standard for the project, while following current best practices | should know the current best practices and point its people to the right resources. | +| \LIBS | should be able to use package distribution platforms | same as junior, but should set the project standard and follow current best practices. | should ensure that their project is in an up-to-date distribution platform | +| \MOD | should have a basic grasp of their piece of the software in order to use basic tools like a debugger | Should understand the characteristics of large parts of the codebase considering a variety of the metrics | Should understand the big idea of the software project in order to define the task that the software solves | +| \SWLC | Awareness about the existence of the software life-cycle. | Should know which decisions lead to technical debt. | Should know in which part of the life-cycle their project is and how to steer development/project resources accordingly. | +| \SWREPOS | Seamless interaction with the swrepo of their project is a must | Should be well-versed in the intricacies of a swrepo, and probably interact with multiple projects' repos | Should be able to effectively interact with swrepos and especially the interaction with the connecting projects. | +| \NEW | Some curiosity required to fit into research teams | same as junior, but a curiosity to enhance the code base is required | Curiosity to know in which direction to steer the project is required | +| \RC | Awareness about the \RC | should know the position of the project in the \RC | Should know what is necessary for the project to fit into its position in the \RC | +| \SRU | Should be aware about tools for \SRU | Should be able to find sth. with \SRU tools | Should be able to effectively find sth. with \SRU tools and be able to evaluate and perform the integration of a library into the project. | +| \SP | Should be aware that \SP needs to consider issues of intellectual property | Should be able to correctly publish software in simple cases and be able to identify cases where professional legal advice is needed. | Same as Senior plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects | +| \DOMREP | The RSE should be able to interact with the domain repository | same as junior RSE | same as junior, and should know about how it fits into workflows surrounding these domain repositories | +| \USERS | The RSE should be able to communicate with non-SE users of the project | same as junior | same as junior, and take feedback into account of the steering | +| \TEACH | should be able to perform simple peer-to-peer on-boarding tasks | should be able to explain logical components to other RSEs | Should be able to effectively communicate about all large-scale parts of the project. | +| \PM | Awareness about the employed project management method | Should be able to use the employed \PM method | Should be able to design and adapt the employed \PM method. | +| \TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks | Should be able to lead the team and set the respective direction. | Table: Levels of competency expected for different RSE career stages. {#tbl:comp-lvls} @@ -616,51 +630,51 @@ as development is a large part of their actual research. Students at undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. -Undergrad students should be aware that RSEs exist and that software has different quality aspects (\faicon{"F0E8}\nobreakspace{}DOCBB). -They should be aware of domain specific tools (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"F1B8}\nobreakspace{}SRU) and where to find them (\faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F07B}\nobreakspace{}DOMREP). -At this level it is sufficient to consider software as black boxes (\faicon{"F086}\nobreakspace{}USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\faicon{"F5FC}\nobreakspace{}MOD, \faicon{"E54D}\nobreakspace{}NEW). -They should have an awareness of software licenses and whom to ask if they have any questions (\faicon{"F1EA}\nobreakspace{}SP). -They will be taught about the research cycle (\faicon{"E4BB}\nobreakspace{}RC) and that researchers often work in groups (\faicon{"F500}\nobreakspace{}TEAM). -During practicals, they will have an opportunity for peer learning (\faicon{"F51C}\nobreakspace{}TEACH). +Undergrad students should be aware that RSEs exist and that software has different quality aspects (\DOCBB). +They should be aware of domain specific tools (\LIBS, \SRU) and where to find them (\SWREPOS, \DOMREP). +At this level it is sufficient to consider software as black boxes (\USERS) although some training in data presentation would be very helpful and a good way to find out about programming (\MOD, \NEW). +They should have an awareness of software licenses and whom to ask if they have any questions (\SP). +They will be taught about the research cycle (\RC) and that researchers often work in groups (\TEAM). +During practicals, they will have an opportunity for peer learning (\TEACH). #### Master's Level A student at a master's level can participate in science and should therefore be able to use "some" digital structures. -A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F07B}\nobreakspace{}DOMREP). -They should be able to process and present their data (\faicon{"F5FC}\nobreakspace{}MOD). -They need to understand how their research depends on software (\faicon{"E4E2}\nobreakspace{}SWLC). -Working on their master's thesis allows them to understand the research cycle (\faicon{"E4BB}\nobreakspace{}RC), practice project management (\faicon{"F46D}\nobreakspace{}PM) and collaborate with other members of their research group (\faicon{"F500}\nobreakspace{}TEAM). +A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\LIBS, \SWREPOS, \DOMREP). +They should be able to process and present their data (\MOD). +They need to understand how their research depends on software (\SWLC). +Working on their master's thesis allows them to understand the research cycle (\RC), practice project management (\PM) and collaborate with other members of their research group (\TEAM). #### PhD A PhD student performs independent research under guidance. They need to know relevant tools and structures. -They should know where to find information about tools and where to find help using them (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E13C}\nobreakspace{}SWREPOS). -They should be able to use the tools (\faicon{"E4C7}\nobreakspace{}LIBS) and identify and report bugs (\faicon{"F5FC}\nobreakspace{}MOD). -They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\faicon{"F086}\nobreakspace{}USERS). -They might produce new software (\faicon{"F5FC}\nobreakspace{}MOD, \faicon{"F1B8}\nobreakspace{}SRU) in which case they need to understand how to license their code for publication (\faicon{"F1EA}\nobreakspace{}SP). +They should know where to find information about tools and where to find help using them (\DOCBB, \SWREPOS). +They should be able to use the tools (\LIBS) and identify and report bugs (\MOD). +They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\USERS). +They might produce new software (\MOD, \SRU) in which case they need to understand how to license their code for publication (\SP). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (\faicon{"E54D}\nobreakspace{}NEW) they must be able to evaluate research software (\faicon{"E4E2}\nobreakspace{}SWLC). -They need to be able to interact with services (\faicon{"E4BB}\nobreakspace{}RC) and domain specific repositories (\faicon{"F07B}\nobreakspace{}DOMREP). -They should be able to supervise a student (\faicon{"F51C}\nobreakspace{}TEACH). +In order to be able to explore new tools (\NEW) they must be able to evaluate research software (\SWLC). +They need to be able to interact with services (\RC) and domain specific repositories (\DOMREP). +They should be able to supervise a student (\TEACH). #### Postdoc Postdocs are independent researchers. Their role is similar to that of a PhD student with a deepened focus on their research career. However, they are proficient users of all relevant tools, which makes them active contributors to their domain of research. -They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\faicon{"F1EA}\nobreakspace{}SP). +They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\SP). #### PI/Professor They are experts in their field and should be able to give proper guidance to their students on which digital tools are currently relevant. They should be aware of the skills of an RSE and when they might need one in their group. -They should encourage their students to use relevant tools (\faicon{"E4C7}\nobreakspace{}LIBS). -They need to be able to judge the suitability of the software (\faicon{"E4E2}\nobreakspace{}SWLC) and follow the interactions between relevant projects (\faicon{"E13C}\nobreakspace{}SWREPOS). -They should be able to advise their students on the legal aspects of software production and distribution (\faicon{"F1EA}\nobreakspace{}SP). -They should be able to contribute meaningfully to the steering decisions of the software in their field (\faicon{"F086}\nobreakspace{}USERS). -They need to guide students and give full-size lectures (\faicon{"F51C}\nobreakspace{}TEACH). -They need to manage and lead their research group (\faicon{"F46D}\nobreakspace{}PM, \faicon{"F500}\nobreakspace{}TEAM). +They should encourage their students to use relevant tools (\LIBS). +They need to be able to judge the suitability of the software (\SWLC) and follow the interactions between relevant projects (\SWREPOS). +They should be able to advise their students on the legal aspects of software production and distribution (\SP). +They should be able to contribute meaningfully to the steering decisions of the software in their field (\USERS). +They need to guide students and give full-size lectures (\TEACH). +They need to manage and lead their research group (\PM, \TEAM). ## Project team structures @@ -699,7 +713,7 @@ We first summarise the meaning of each of the columns in the table: \cline{2-5} & locally-based & RSE-Team based & locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F0E8}\nobreakspace{}DOCBB & + \DOCBB & Focus on getting outputs to support research. Often time-constrained, may be self-taught, less awareness/familiarity with code quality and structure. Simple Best Practice documents can be sufficient& @@ -713,7 +727,7 @@ We first summarise the meaning of each of the columns in the table: Should have research software guidance/policies that provide advice.\\ \hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4C7}\nobreakspace{}LIBS& + \LIBS& Reusability and sharing/distribution of code often not a focus or considered relevant. & Greater trained focus on reusability/sharing but likely not part of the project aims.& May be looking to develop reusable shareable outputs but likely case-by-case basis. Need easy resources.& @@ -721,7 +735,7 @@ We first summarise the meaning of each of the columns in the table: Should provide policies on sharing and reuse of software. May be driven by requirements/policies of the funding agency. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4E2}\nobreakspace{}SWLC& + \SWLC& It's down to you to manage the complete life-cycle, if you move on, what will happen to the code?& More support with a team but do they have awareness/expertise @@ -735,7 +749,7 @@ We first summarise the meaning of each of the columns in the table: licences for e.g. management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E13C}\nobreakspace{}SWREPOS& + \SWREPOS& Where open source, use of repositories important for code management and demonstrating outputs - e.g. supporting academic credit. May not have awareness/skills if self-taught.& @@ -751,7 +765,7 @@ We first summarise the meaning of each of the columns in the table: for this vital research software development tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F5FC}\nobreakspace{}MOD& + \MOD& Needs full awareness of entire codebase to support extension/maintenance. May not need/get additional experience or support. If project taken on from another individual developer, @@ -772,7 +786,7 @@ We first summarise the meaning of each of the columns in the table: will improve overall turnaround times. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E54D}\nobreakspace{}NEW& + \NEW& An individual's curiosity has now to be shared between the research goal and the software project, therefore learning new methods and skills may be challenging and is often not the core aim.& @@ -787,7 +801,7 @@ We first summarise the meaning of each of the columns in the table: information on new technical processes and tooling, and facilitate training. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"E4BB}\nobreakspace{}RC& + \RC& This is likely to be familiar to individuals, who are often researchers, especially if they are embedded within a research team.& Many RSEs will have familiarity with the research life-cycle, @@ -801,7 +815,7 @@ We first summarise the meaning of each of the columns in the table: the research life-cycle, this can support researchers/RSEs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F1B8}\nobreakspace{}SRU& + \SRU& Need to know how to find other work to build awareness of existing solutions. Researchers sometimes like to do things themselves. Working individually means there may not be someone to highlight this.& @@ -813,7 +827,7 @@ We first summarise the meaning of each of the columns in the table: they can also provide institution-level access to platforms that support this. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F1EA}\nobreakspace{}SP& + \SP& Responsibility may be with an individual but they may not have necessary knowledge/skills.& This is a core area that RSE teams need to be aware of. An RSE team might have established practices, workflows and policies at hand to routinely publish software.& @@ -822,7 +836,7 @@ We first summarise the meaning of each of the columns in the table: The organisation should raise awareness about software as publishable scientific output, provide recommendations and checklists to support software-publications and have legal experts in place to deal with complex cases. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F07B}\nobreakspace{}DOMREP& + \DOMREP& Domain researchers working on software are likely to be more familiar with the domain-specific solutions.& RSEs may need guidance from domain researchers around domain-specific @@ -833,7 +847,7 @@ We first summarise the meaning of each of the columns in the table: extensively in but this is likely to be handled at a research group level. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F086}\nobreakspace{}USERS& + \USERS& Is the software developed to support external users? If so, additional technical skills may be required, especially if future sustainability is an aim.& @@ -848,7 +862,7 @@ We first summarise the meaning of each of the columns in the table: Should have institutions that are able to offer support with outreach and publicising outputs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F51C}\nobreakspace{}TEACH& + \TEACH& May be independently involved in training activities.& May be able to support researchers with core technical skills.& Sharing knowledge and skills within their group - peer support.& @@ -857,10 +871,10 @@ We first summarise the meaning of each of the columns in the table: Should have programs for a diverse range of teaching/training activities. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F46D}\nobreakspace{}PM& + \PM& Limited requirement beyond being well organised - can be important if someone else might take over codebase.& - Limited requirement but team will likely have standard \faicon{"F46D}\nobreakspace{}PM approaches + Limited requirement but team will likely have standard \PM approaches to be followed.& Challenging for groups of local researchers/developers on larger projects. May not have awareness/experience of key skills, but this can be alleviated with some low-key courses.& @@ -869,7 +883,7 @@ We first summarise the meaning of each of the columns in the table: May offer organisation-level tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \faicon{"F500}\nobreakspace{}TEAM& + \TEAM& N/A& Will need to work effectively with their home RSE team, as well as, potentially with researchers they are developing code for.& @@ -910,7 +924,7 @@ while other RSEs might expand their skill set and profession to areas, that are #### OpenScience RSE Open Science and FAIRness of Data and Software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence an Open Science RSE is required to have a deeper knowledge in (\faicon{"E4BB}\nobreakspace{}RC) and how to distribute software publicly (\faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP). +Hence an Open Science RSE is required to have a deeper knowledge in (\RC) and how to distribute software publicly (\SRU, \SP). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", "What do I need to do to make my software FAIR?", or @@ -920,13 +934,13 @@ Like the Data-focused RSE, they have a deep understanding of RDM topics. #### Project/Community Manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (\faicon{"F46D}\nobreakspace{}PM), (\faicon{"F086}\nobreakspace{}USERS), and (\faicon{"F500}\nobreakspace{}TEAM) skills, as exemplified in @subsec:examplecareer. +processes and people. This gap can be filled by people who invest in the (\PM), (\USERS), and (\TEAM) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. #### Teaching RSEs -RSEs interested in developing their (\faicon{"F51C}\nobreakspace{}TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play +RSEs interested in developing their (\TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play a vital role in improving the quality of research software. They need to have a good understanding of all RSE competencies relevant to their domain and additionally should have experience or training in the educational field. @@ -934,9 +948,9 @@ additionally should have experience or training in the educational field. #### User Interface/User Experience Designers for Research Software Scientific software is a complex product that often needs to be refined in order to be usable even by other scientists. -To facilitate this, there are people required that specialise in the (\faicon{"F0E8}\nobreakspace{}DOCBB) and probably the (\faicon{"E4C7}\nobreakspace{}LIBS) competency +To facilitate this, there are people required that specialise in the (\DOCBB) and probably the (\LIBS) competency with a focus on making end-user facing software really reusable and hence FAIR. -This task is supported by strong (\faicon{"F5FC}\nobreakspace{}MOD) skills to reason about the behaviour of potential users of the software. +This task is supported by strong (\MOD) skills to reason about the behaviour of potential users of the software. ## Specialisations outside the core RSE competencies @@ -1143,18 +1157,18 @@ Core modules are of course drawn from the three pillars of the RSE and can be ca - Research Skills: - Optional Domain Mastery Module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\faicon{"F1B8}\nobreakspace{}SRU, \faicon{"F1EA}\nobreakspace{}SP, \faicon{"F07B}\nobreakspace{}DOMREP). + - Research Tools Module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\SRU, \SP, \DOMREP). - Meta-Research Module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. - Software Engineering Skills: - - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E4C7}\nobreakspace{}LIBS). - - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (\faicon{"E4C7}\nobreakspace{}LIBS, \faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E13C}\nobreakspace{}SWREPOS, \faicon{"F1B8}\nobreakspace{}SRU). - - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (\faicon{"F0E8}\nobreakspace{}DOCBB, \faicon{"E4C7}\nobreakspace{}LIBS) on a more abstract level. + - Foundational Module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (\DOCBB, \LIBS). + - Digital Ecosystem Module: Programming languages are not enough to work in a digital ecosystem, hence we require something like Software Craftsmanship, where tools like the Unix Shell, version control systems, Build Systems, Documentation generators, Package distribution platforms, and Software Discovery systems are taught to strengthen skills in (\LIBS, \DOCBB, \SWREPOS, \SRU). + - Software Architecture Module: Here we teach Software Design and Software Engineering, again strengthening (\DOCBB, \LIBS) on a more abstract level. - Communication Skills: - - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\faicon{"F46D}\nobreakspace{}PM). - - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\faicon{"F086}\nobreakspace{}USERS) skill. - - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\faicon{"F51C}\nobreakspace{}TEACH) skill. + - Project Management Methods: Here we teach project management methods that are useful in science, such as agile ones(\PM). + - Communication Skills Module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\USERS) skill. + - Teaching Module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\TEACH) skill. Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. @@ -1162,13 +1176,13 @@ At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. We recommend covering both the candidate's home domain as well as another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE -students take the role of a consultant. This setup strengthens the (\faicon{"F500}\nobreakspace{}TEAM, \faicon{"F51C}\nobreakspace{}TEACH, \faicon{"F086}\nobreakspace{}USERS) skill -and most likely also the (\faicon{"F5FC}\nobreakspace{}MOD) skill through interaction. +students take the role of a consultant. This setup strengthens the (\TEAM, \TEACH, \USERS) skill +and most likely also the (\MOD) skill through interaction. To emphasise the exposure to domains outside of their bachelor's degree domain, we recommend that RSEs also support their non-home-domain project by supporting it with introductory courses from this discipline. We support the idea of broadening the interaction with other domains even more. -This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\faicon{"F5FC}\nobreakspace{}MOD). +This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\MOD). To align with the specialisations listed in this paper, example optional modules include topics on HPC engineering/parallel programming, numerical mathematics/scientific computing, web technologies, @@ -1176,7 +1190,7 @@ data stewardship, AI models/statistics, and community management/training. The programme is finalised with a master's thesis which should be dual-supervised by an RSE supervisor from an actual project, and a domain supervisor. -The thesis should answer a relevant research question (strengthening (\faicon{"E54D}\nobreakspace{}NEW)) from the domain using computational methods. +The thesis should answer a relevant research question (strengthening (\NEW)) from the domain using computational methods. Software development is required, and the code is part of the gradable deliverables. The RSE supervisor ensures and grades the software craftsmanship aspects of the project. This setup ensures that we are grading the effectiveness of applying RSE skills in an actual research environment. @@ -1214,7 +1228,7 @@ The project management skills that are being taught as part of the core RSE curr Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. She also has to liaise with the central IT department to organise storage for the large data sets. -Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\faicon{"E4E2}\nobreakspace{}SWLC, \faicon{"E4BB}\nobreakspace{}RC) in action +Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\SWLC, \RC) in action that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish @@ -1226,7 +1240,7 @@ Kay has now completed the RSE programme and has reached Junior RSE level. Kay finds a position in the central RSE department at her university with a competitive IT salary. Although the contract is temporary, there is a good chance that it will lead to a permanent position. Kay completes the Software Carpentry Instructor training and teaches basic research computing, -while advising fellow students of her department on better programming (\faicon{"F0E8}\nobreakspace{}DOCBB and \faicon{"F5FC}\nobreakspace{}MOD skill). +while advising fellow students of her department on better programming (\DOCBB and \MOD skill). She also runs a seminar in the RSE Master's programme. She publishes a condensed version of that in JOSE[@JOSE]. During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE and she gladly signs up to focus more on her communication skills. @@ -1237,10 +1251,10 @@ After three years, she takes an exciting opportunity to work in another universi The new position involves taking responsibility for the RSE related aspects of a large inter-organisational project involving different organisations. With her new responsibilities comes a shift in the importance of various aspects of her work. Having this position in an inter-organisational project places far more emphasis on communication and organisation skills. -She is spending time teaching people (\faicon{"F51C}\nobreakspace{}TEACH skill) to onboard them into the project. -There is a lot of interaction with different stakeholders in the project like funders and user groups (\faicon{"F086}\nobreakspace{}USERS skill). -To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\faicon{"F46D}\nobreakspace{}PM skills). -Her work so far has already been heavy on (\faicon{"F500}\nobreakspace{}TEAM) skills, but now also the leadership aspect comes into play. +She is spending time teaching people (\TEACH skill) to onboard them into the project. +There is a lot of interaction with different stakeholders in the project like funders and user groups (\USERS skill). +To oversee the project, she uses an amalgam of both agile and traditional project-management concepts and methods which she acquires on-the-job (\PM skills). +Her work so far has already been heavy on (\TEAM) skills, but now also the leadership aspect comes into play. #### RSE-focused Principal Investigator From 812947a97be8f4da354242942738fc2d2372d675 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Fri, 17 Nov 2023 17:29:35 +0100 Subject: [PATCH 066/108] update my email --- contributors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors.yml b/contributors.yml index 6cbd72f7..16c4e32a 100644 --- a/contributors.yml +++ b/contributors.yml @@ -14,7 +14,7 @@ authors: affiliations: - Institute for Theoretical Physics and Astrophysics, University of Würzburg, Germany orcid: 0000-0003-2707-4790 - email: fgoth@physik.uni-wuerzburg.de + email: florian.goth@uni-wuerzburg.de acknowledgements: | FG thanks the GRF for funding through the SFB 1170 “Tocotronics” under the grant number Z03. From e9d93cf96f840a8507968dd030539f7be6a578c0 Mon Sep 17 00:00:00 2001 From: Jan Philipp Thiele <54978337+jpthiele@users.noreply.github.com> Date: Fri, 17 Nov 2023 17:33:40 +0100 Subject: [PATCH 067/108] Reorder authors As discussed in #187 and todays call we go with the suggestion by Toby. --- competencies.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/competencies.md b/competencies.md index 00ca9795..a4cc3fbb 100644 --- a/competencies.md +++ b/competencies.md @@ -2,26 +2,26 @@ title: "Foundational Competencies and Responsibilities of a Research Software Engineer" geometry: margin=2.5cm author: - - Heidi Seibold - Florian Goth - - Jan Linxweiler - - Jan Philipp Thiele - - Jeremy Cohen - Renato Alves - - Samantha Wittke - - Jean-Noël Grad - - Fredo Erxleben - - Magnus Hagdorn - - Harald von Waldow - - Moritz Schwarzmeier - Matthias Braun - - Simon Christ + - Leyla Jael Castro - Gerasimos Chourdakis - - Anna-Lena Lamprecht - - Dominic Kempf + - Simon Christ + - Jeremy Cohen + - Fredo Erxleben + - Jean-Noël Grad + - Magnus Hagdorn - Toby Hodges - - Leyla Jael Castro - Guido Juckeland + - Dominic Kempf + - Anna-Lena Lamprecht + - Jan Linxweiler + - Moritz Schwarzmeier + - Heidi Seibold + - Jan Philipp Thiele + - Harald von Waldow + - Samantha Wittke output: pdf_document: citation_package: biblatex From 13d2dd0bebcff9ad5cc22b16a5650e48a1437bc2 Mon Sep 17 00:00:00 2001 From: Jan Philipp Thiele <54978337+jpthiele@users.noreply.github.com> Date: Fri, 17 Nov 2023 17:48:09 +0100 Subject: [PATCH 068/108] Happify spellchecker --- .github/spellignore.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 6e44a760..6b7ff895 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -65,7 +65,7 @@ findability findable FIXME Forschung -ReproHack +Friedrich Fortran franca funders @@ -114,6 +114,7 @@ numpy OECD OER OpenScience +Organization Orithena OSI-approved Paderborn @@ -129,6 +130,7 @@ RDM RDM-RSE repos reproducibility +ReproHack researchology researchonomy reusability From 34d44f51f38ee37445e45bdfe5799ff674f62724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Fri, 17 Nov 2023 21:21:27 +0100 Subject: [PATCH 069/108] Simplify LaTeX and YAML syntax --- competencies.md | 16 +++++++++------- contributors.yml | 17 ++++++++--------- preamble.sty | 1 + 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/competencies.md b/competencies.md index c18e39f9..d7422332 100644 --- a/competencies.md +++ b/competencies.md @@ -30,13 +30,15 @@ output: secnumdepth: 3 bibliography: bibliography.bib header-includes: - - \input{preamble.sty} - - \usepackage{pdflscape} - - \usepackage{multirow} - - \usepackage{array} - - \usepackage{longtable} - - \newcommand{\blandscape}{\begin{landscape}} - - \newcommand{\elandscape}{\end{landscape}} + - \input{preamble.sty} + - \usepackage{pdflscape} + - \usepackage{multirow} + - \usepackage{array} + - \usepackage{longtable} + - \newcommand{\blandscape}{\begin{landscape}} + - \newcommand{\elandscape}{\end{landscape}} +include-before: + - \newpage xnos-cleveref: True xnos-capitalise: True keywords: diff --git a/contributors.yml b/contributors.yml index 16c4e32a..1bce10c4 100644 --- a/contributors.yml +++ b/contributors.yml @@ -1,8 +1,8 @@ authors: - author: "Heidi Seibold" - lastName: Seibold firstName: Heidi + lastName: Seibold affiliations: - IGDORE Munich, Germany orcid: 0000-0002-8960-9642 @@ -71,8 +71,7 @@ authors: email: jgrad@icp.uni-stuttgart.de acknowledgements: | JNG acknowledges funding from the Deutsche Forschungsgemeinschaft - (DFG, German Research Foundation) Research Software Sustainability grant - no. [391126171](https://gepris.dfg.de/gepris/projekt/391126171?language=en) + (DFG, German Research Foundation) - project number \geprislink{391126171} (PI: Holm) and from the European Union – this work has received funding from the European High Performance Computing Joint Undertaking (JU) and countries participating in the project under grant agreement @@ -107,7 +106,7 @@ authors: as well as the Joint Science Conference (GWK), for their funding and support within the framework of the NFDI4Ing consortium. Part of this work was funded by the German Research Foundation (DFG) - project number - [442146713](https://gepris.dfg.de/gepris/projekt/442146713?language=en). + \geprislink{442146713}. Part of this work was funded by the Hessian Ministry of Higher Education, Research, Science and the Arts - cluster project Clean Circles. @@ -121,7 +120,7 @@ authors: acknowledgements: | MB acknowledges support by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy – - EXC 2120/1 – [390831618](https://gepris.dfg.de/gepris/projekt/390831618?language=en). + EXC 2120/1 – \geprislink{390831618}. - author: "Harald von Waldow" firstName: Harald @@ -167,13 +166,13 @@ authors: email: anna-lena.lamprecht@uni-potsdam.de - author: "Toby Hodges" - lastName: Hodges firstName: Toby + lastName: Hodges affiliations: - The Carpentries, USA orcid: 0000-0003-1766-456X email: tobyhodges@carpentries.org - + - author: "Leyla Jael Castro" firstName: Leyla Jael lastName: Castro @@ -182,8 +181,8 @@ authors: orcid: 0000-0003-3986-0510 email: ljgarcia@zbmed.de acknowledgements: | - LJC acknowledges support from the NFDI4DS consortium funded by the German Research Foundation (DFG) - project number - [460234259](https://gepris.dfg.de/gepris/projekt/460234259?language=en). + LJC acknowledges support from the NFDI4DS consortium funded by the German + Research Foundation (DFG) - project number \geprislink{460234259}. - author: "Guido Juckeland" firstName: Guido diff --git a/preamble.sty b/preamble.sty index e651a9a5..7dc503a4 100644 --- a/preamble.sty +++ b/preamble.sty @@ -2,3 +2,4 @@ \usepackage{academicons} \definecolor{orcidlogocolor}{HTML}{A6CE39} \newcommand{\orcidlinksimple}[1]{\hspace{-0.4ex}{\small\raisebox{0.3ex}{\href{https://orcid.org/#1}{\textcolor{orcidlogocolor}{\aiOrcid}}}}} +\newcommand{\geprislink}[1]{\href{https://gepris.dfg.de/gepris/projekt/#1?language=en}{#1}} From 2c628811c44f7c8ab48295f98f642094a8ab0e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Fri, 17 Nov 2023 21:59:06 +0100 Subject: [PATCH 070/108] Redesign build pipeline around pdflatex --- .github/workflows/compile.yml | 14 +++------- Makefile | 21 +++++---------- competencies.md | 2 +- contributors.yml | 21 +++++++++++++++ filter.py | 51 ++++++++++++++++++++++++----------- preamble.sty | 7 ++--- template.py | 5 ---- 7 files changed, 72 insertions(+), 49 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 8a2605da..87503899 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -11,18 +11,12 @@ jobs: - name: Install pandoc run: | sudo apt-get update && sudo apt-get install -y --no-install-recommends \ - texlive pandoc texlive-bibtex-extra texlive-fonts-recommended \ - texlive-xetex lmodern biber latexmk python3 python3-yaml \ - fonts-linuxlibertine \ + texlive texlive-latex-extra pandoc latexmk \ + texlive-bibtex-extra biber \ + texlive-fonts-recommended texlive-fonts-extra lmodern fonts-linuxlibertine \ + python3 python3-yaml \ xz-utils make gpg-agent python3 -m pip install -r ${{ env.DIR }}/requirements.txt - - name: Configure LaTeX environment - working-directory: ${{ env.DIR }} - run: | - mkdir -p "${HOME}/texmf" - tlmgr init-usertree - tlmgr option repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2021/tlnet-final/ - tlmgr install academicons - name: pandoc compile working-directory: ${{ env.DIR }} run: make all diff --git a/Makefile b/Makefile index 9e4b4728..914a1a9f 100644 --- a/Makefile +++ b/Makefile @@ -2,22 +2,16 @@ MAKE_PDFA := true -ifeq ($(MAKE_PDFA),true) - xelatex_opts=-shell-escape -else - xelatex_opts= -endif - objects := intro.pdf competencies.pdf institutionalised_education.pdf survey.pdf call_to_action.pdf all: $(objects) -%.pdf: %.md bibliography.bib contributors.yml preamble.sty build/template.tex +%.pdf: %.md bibliography.bib contributors.yml preamble.sty build/template.tex filter.py @mkdir -p build - @rm -f build/pdfa.xmpi build/creationdate.lua build/creationdate.timestamp + @rm -f build/pdfa.xmpi cp --update preamble.sty build/ cp --update bibliography.bib build/ - python3 filter.py --input="$<" --output="build/$<" --contributors="contributors.yml" + python3 filter.py --input="${<}" --output="build/${<}" --contributors="contributors.yml" pandoc \ --standalone \ --number-sections \ @@ -32,16 +26,13 @@ all: $(objects) -V hyperrefoptions=pdfa \ -V colorlinks=true \ -V papersize=a4 \ - -M mainfont="Linux Libertine O" \ - -M sansfont="Linux Biolinum O" \ - -M monofont="Linux Libertine Mono O" \ -o "build/${@:.pdf=}.tex" \ "build/$<" + @sed -i '/\\author{}/d' "build/${@:.pdf=}.tex" latexmk \ - -e '$$'"hash_calc_ignore_pattern{'timestamp'} = '^';" \ - -xelatex -bibtex -halt-on-error $(xelatex_opts) \ + -pdflatex -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" - @mv "build/${@}" ${@} + @mv "build/${@}" "${@}" build/template.tex: template.py @mkdir -p build diff --git a/competencies.md b/competencies.md index d7422332..91b47851 100644 --- a/competencies.md +++ b/competencies.md @@ -2,7 +2,7 @@ title: "Foundational Competencies and Responsibilities of a Research Software Engineer" geometry: margin=2.5cm author: - - Florian Goth + - Florian Goth | Corresponding author - Renato Alves - Matthias Braun - Leyla Jael Castro diff --git a/contributors.yml b/contributors.yml index 1bce10c4..bd6249d9 100644 --- a/contributors.yml +++ b/contributors.yml @@ -3,6 +3,7 @@ authors: - author: "Heidi Seibold" firstName: Heidi lastName: Seibold + initials: HS affiliations: - IGDORE Munich, Germany orcid: 0000-0002-8960-9642 @@ -11,6 +12,7 @@ authors: - author: "Florian Goth" firstName: Florian lastName: Goth + initials: FG affiliations: - Institute for Theoretical Physics and Astrophysics, University of Würzburg, Germany orcid: 0000-0003-2707-4790 @@ -22,6 +24,7 @@ authors: - author: "Jan Linxweiler" firstName: Jan lastName: Linxweiler + initials: JL affiliations: - Technische Universität Braunschweig, Germany orcid: 0000-0002-2755-5087 @@ -30,6 +33,7 @@ authors: - author: "Jan Philipp Thiele" firstName: Jan Philipp lastName: Thiele + initials: JPT affiliations: - Weierstrass Institute, Berlin, Germany orcid: 0000-0002-8901-6660 @@ -38,6 +42,7 @@ authors: - author: "Jeremy Cohen" firstName: Jeremy lastName: Cohen + initials: JC affiliations: - Imperial College London, London, UK orcid: 0000-0003-4312-2537 @@ -49,6 +54,7 @@ authors: - author: "Renato Alves" firstName: Renato lastName: Alves + initials: RA affiliations: - European Molecular Biology Laboratory, Heidelberg, Germany orcid: 0000-0002-7212-0234 @@ -57,6 +63,7 @@ authors: - author: "Samantha Wittke" firstName: Samantha lastName: Wittke + initials: SW affiliations: - CSC – IT Center for Science, Espoo, Finland orcid: 0000-0002-9625-7235 @@ -65,6 +72,7 @@ authors: - author: "Jean-Noël Grad" firstName: Jean-Noël lastName: Grad + initials: JNG affiliations: - Institute for Computational Physics, University of Stuttgart, Germany orcid: 0000-0002-5821-4912 @@ -80,6 +88,7 @@ authors: - author: "Fredo Erxleben" firstName: Fredo lastName: Erxleben + initials: FE affiliations: - Helmholtz-Zentrum Dresden-Rossendorf, Germany orcid: 0000-0001-7233-3005 @@ -88,6 +97,7 @@ authors: - author: "Magnus Hagdorn" firstName: Magnus lastName: Hagdorn + initials: MH affiliations: - Geschäftsbereich IT, Charité Universitätsmedizin Berlin, Germany orcid: 0000-0002-5076-4864 @@ -96,6 +106,7 @@ authors: - author: "Moritz Schwarzmeier" firstName: Moritz lastName: Schwarzmeier + initials: MS affiliations: - Mathematical Modeling and Analysis, TU Darmstadt, Germany orcid: 0000-0001-8992-6245 @@ -113,6 +124,7 @@ authors: - author: "Matthias Braun" firstName: Matthias lastName: Braun + initials: MB affiliations: - Cluster of Excellence IntCDC, University of Stuttgart, Germany orcid: 0000-0001-8591-3690 @@ -125,6 +137,7 @@ authors: - author: "Harald von Waldow" firstName: Harald lastName: von Waldow + initials: HvW affiliations: - Johann Heinrich von Thünen Institute, Centre for Information Management, Germany orcid: 0000-0003-4800-2833 @@ -133,6 +146,7 @@ authors: - author: "Simon Christ" firstName: Simon lastName: Christ + initials: SC affiliations: - Leibniz University Hannover, Department of Cell Biology and Biophysics, Computational Biology, Germany orcid: 0000-0002-5866-1472 @@ -141,6 +155,7 @@ authors: - author: "Gerasimos Chourdakis" firstName: Gerasimos lastName: Chourdakis + initials: GC affiliations: - School of Computation, Information and Technology, Technical University of Munich, Garching, Germany orcid: 0000-0002-3977-1385 @@ -149,6 +164,7 @@ authors: - author: "Dominic Kempf" firstName: Dominic lastName: Kempf + initials: DK affiliations: - Heidelberg University, Scientific Software Center, Germany orcid: 0000-0002-6140-2332 @@ -160,6 +176,7 @@ authors: - author: "Anna-Lena Lamprecht" firstName: Anna-Lena lastName: Lamprecht + initials: ALL affiliations: - Institute of Computer Science, University of Potsdam, Germany orcid: 0000-0003-1953-5606 @@ -168,6 +185,7 @@ authors: - author: "Toby Hodges" firstName: Toby lastName: Hodges + initials: TH affiliations: - The Carpentries, USA orcid: 0000-0003-1766-456X @@ -176,6 +194,7 @@ authors: - author: "Leyla Jael Castro" firstName: Leyla Jael lastName: Castro + initials: LJC affiliations: - ZB MED Information Centre for Life Sciences, Cologne, Germany orcid: 0000-0003-3986-0510 @@ -187,6 +206,7 @@ authors: - author: "Guido Juckeland" firstName: Guido lastName: Juckeland + initials: GJ affiliations: - Helmholtz-Zentrum Dresden-Rossendorf, Germany orcid: 0000-0002-9935-4428 @@ -198,6 +218,7 @@ authors: # firstName: F. D. C. # lastName: Willard # suffixName: Jr. +# initials: FDCW # affiliations: # - University of Arcadia # - Michigan State University, East Lansing, Michigan, USA diff --git a/filter.py b/filter.py index ad6a12a0..b6c29b89 100644 --- a/filter.py +++ b/filter.py @@ -35,28 +35,51 @@ def get_manuscript_metadata(markdown): return yaml.safe_load(metadata), body +def get_author_thanks(metadata): + retval = {} + for line in metadata["author"]: + author, *thanks = [x.strip() for x in line.split("|")] + retval[author] = thanks + return retval + + def process_markdown(metadata, body, contributors): - authors = [] + authors_tex = [] authors_xmp = [] affiliations = {} acknowledgements = ["# Acknowledgements {- #sec:acknowledgements}"] + bookkeeping_initials = {} + author_thanks = get_author_thanks(metadata) # parse metadata - for key in metadata["author"]: - author_metadata = contributors[key] - authors_xmp.append(key) - author = key + for fullname, annotations in author_thanks.items(): + author_metadata = contributors[fullname] + authors_xmp.append(fullname) + author_tex = fullname if "orcid" in author_metadata: - author += rf" \orcidlinksimple{{{author_metadata['orcid']}}}" + author_tex += f"\\texorpdfstring{{\\thinspace\\orcidlink{{{author_metadata['orcid']}}}}}{{}}" + author_affil = [] + if annotations: + author_affil.append("") + for thanks in annotations: + author_tex += f"\\texorpdfstring{{\\thanks{{{thanks}}}}}{{}}" for affiliation in author_metadata.get("affiliations", []): if affiliation not in affiliations: - affiliations[affiliation] = f"[^affiliation{len(affiliations) + 1}]" - author += f"{affiliations[affiliation]}" - authors.append(author) + affiliations[affiliation] = f"{len(affiliations) + 1}" + author_affil.append(affiliations[affiliation]) + authors_tex.append(f"\\author[{','.join(author_affil)}]{{{author_tex}}}") + initials = author_metadata["initials"] + assert initials not in bookkeeping_initials, f"initials '{initials}' collide with '{fullname}' and '{bookkeeping_initials[initials]}'" + bookkeeping_initials[initials] = fullname if "acknowledgements" in author_metadata: - acknowledgements.append(author_metadata["acknowledgements"]) + message = author_metadata["acknowledgements"] + assert initials in message, f"'{initials}' doesn't appear in the acknowledgements of '{fullname}'" + acknowledgements.append(message) + affiliations_tex = [f"\\affil[{key}]{{{affil}}}" for affil, key in affiliations.items()] # update Markdown metadata - metadata["author"] = authors + del metadata["author"] metadata["authorxmp"] = authors_xmp + metadata["header-includes"].extend(authors_tex) + metadata["header-includes"].extend(affiliations_tex) # rewrite Markdown file markdown = [] markdown.append("---") @@ -70,8 +93,6 @@ def process_markdown(metadata, body, contributors): markdown.append(body) markdown.append("") markdown.extend(acknowledgements) - markdown.append("") - markdown.extend([f"{v}: {k}" for k, v in affiliations.items()]) return "\n".join(markdown) @@ -81,8 +102,8 @@ def process_markdown(metadata, body, contributors): contributors = get_contributors_metadata(f.read()) with open(args.input) as f: metadata, body = get_manuscript_metadata(f.read()) - for key in metadata["author"]: - assert key in contributors, f"author '{key}' {debuginfo} in {args.input} not found in {args.contributors}" + for key in get_author_thanks(metadata).keys(): + assert key in contributors, f"author '{key}' in {args.input} not found in {args.contributors}" markdown = process_markdown(metadata, body, contributors) if args.output: with open(args.output, "w") as f: diff --git a/preamble.sty b/preamble.sty index 7dc503a4..60336e1b 100644 --- a/preamble.sty +++ b/preamble.sty @@ -1,5 +1,6 @@ \usepackage{hyperref} -\usepackage{academicons} -\definecolor{orcidlogocolor}{HTML}{A6CE39} -\newcommand{\orcidlinksimple}[1]{\hspace{-0.4ex}{\small\raisebox{0.3ex}{\href{https://orcid.org/#1}{\textcolor{orcidlogocolor}{\aiOrcid}}}}} +\usepackage{libertine} +\usepackage{orcidlink} +\usepackage[blocks]{authblk} +\renewcommand\Affilfont{\small} \newcommand{\geprislink}[1]{\href{https://gepris.dfg.de/gepris/projekt/#1?language=en}{#1}} diff --git a/template.py b/template.py index 7bc36c72..17630959 100644 --- a/template.py +++ b/template.py @@ -53,11 +53,6 @@ def substitute(content, old_text, new_text): content = substitute(content, r"""\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}""", r"""\usepackage[bottom]{footmisc} -\usepackage{etoolbox} -\makeatletter -\patchcmd{\maketitle}{\@fnsymbol}{\@arabic}{}{} -\patchcmd{\maketitle}{\setcounter{footnote}{0}}{}{}{} -\makeatother \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}""") # generate the abstract and keywords list From 90fe8fbb99c9858a35212c47a22ae5bf1a846bbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Sat, 18 Nov 2023 02:21:45 +0100 Subject: [PATCH 071/108] Fix broken bibliography --- bibliography.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bibliography.bib b/bibliography.bib index 3c47d97c..e70223c2 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -2671,7 +2671,7 @@ @Report{KDL month = nov, institution= {King's Digital Lab}, type = {Report}, - version = [6.0}, + version = {6.0}, urldate = {2023-10-30}, langid = {english}, } From 8a750f2a6d9abb8da54ac8350e7bf12a410c15de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Sat, 18 Nov 2023 02:22:26 +0100 Subject: [PATCH 072/108] Add new features to the LaTeX template --- template.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/template.py b/template.py index 17630959..716a424e 100644 --- a/template.py +++ b/template.py @@ -80,5 +80,21 @@ def substitute(content, old_text, new_text): $endif$""" ) +content = substitute(content, +r"\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$", +r"\printbibliography[heading=bibintoc$if(biblio-title)$,title=$biblio-title$$endif$]" +) + +content = substitute(content, +r""" +\tableofcontents +""", +r""" +$if(toc-baselinestretch)$\renewcommand{\baselinestretch}{$toc-baselinestretch$}\normalsize$endif$ +\tableofcontents +$if(toc-baselinestretch)$\renewcommand{\baselinestretch}{1.0}\normalsize$endif$ +""" +) + with open(args.file, "w") as f: f.write(content) From 6b6658e15d0c0d52bb0ea6e88a9cc964030dcea1 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sat, 18 Nov 2023 13:32:46 +0100 Subject: [PATCH 073/108] sneak the community word into intro and abstract --- competencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/competencies.md b/competencies.md index 91b47851..9796a236 100644 --- a/competencies.md +++ b/competencies.md @@ -59,7 +59,7 @@ At the other extreme, they resemble that of a software engineer in industry. Most RSE roles inhabit the space between these two extremes. Therefore, providing a straightforward, comprehensive definition of what an RSE does and what experience, skills and competencies are required to become one is challenging. -In this paper we define the broad notion of what an RSE is, explore the different types of work they undertake, and +In this community paper we define the broad notion of what an RSE is, explore the different types of work they undertake, and define a list of fundamental competencies as well as values that define the general profile of an RSE. On this basis, we elaborate on the progression of these skills along different dimensions, looking at specific types of RSE roles, proposing recommendations for organisations, and giving examples of future specialisations. @@ -128,7 +128,7 @@ While there is anecdotal evidence that academic SE practitioners would have chosen different competencies, we will argue that this trifecta of skills is exactly what is needed for modern digital research. -While this paper is based on workshop discussions that were attended largely by Research Software Engineers (deRSE23 in Paderborn, un-deRSE23 in Jena, Germany), +While this community paper is based on workshop discussions that were attended largely by Research Software Engineers (deRSE23 in Paderborn, un-deRSE23 in Jena, Germany), we believe that the competencies formulated here can offer far-reaching impact beyond the domain of RSE into adjacent fields of science and, indeed, the wider research community, since most research involves some amount From 06549d5916e9890ff37d5e488b730955d3b116fd Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sat, 18 Nov 2023 13:33:08 +0100 Subject: [PATCH 074/108] typo, I think --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 9796a236..1887e019 100644 --- a/competencies.md +++ b/competencies.md @@ -63,7 +63,7 @@ In this community paper we define the broad notion of what an RSE is, explore th define a list of fundamental competencies as well as values that define the general profile of an RSE. On this basis, we elaborate on the progression of these skills along different dimensions, looking at specific types of RSE roles, proposing recommendations for organisations, and giving examples of future specialisations. -An Appendix details how existing curricula fit into this framework. +An appendix details how existing curricula fit into this framework. " --- From b97224cf7fb5f0eaa90059c406f067b2c7d115e3 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sat, 18 Nov 2023 13:36:27 +0100 Subject: [PATCH 075/108] one more instance of community --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 1887e019..8a383974 100644 --- a/competencies.md +++ b/competencies.md @@ -114,7 +114,7 @@ RSEs share a set of core skills that are required to write software, understand the research environment, and ensure that they produce sustainable, maintainable code that supports reproducible research outputs, following the Findability, Accessibility, Interoperability and Reusability (FAIR) principles [@FAIR4RS]. -This paper defines a set of core values and competencies, +This community paper defines a set of core values and competencies, agnostic of specific technical capabilities or research domains, which an RSE should acquire during training and formal education. By defining these competencies, From 4febe6c25c2336fc42bbd94c0c3c30f99b3ce96b Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Sun, 19 Nov 2023 00:43:21 +0100 Subject: [PATCH 076/108] Rename generic RSE skills (#212) --- competencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/competencies.md b/competencies.md index 8a383974..8bc9edea 100644 --- a/competencies.md +++ b/competencies.md @@ -330,7 +330,7 @@ where RSEs working in these fields should stay up-to-date and be able to help re such as training-data bias, LLM "hallucinations" or malicious use, with the greater goal of making these powerful tools work for the welfare of society. -# Required generic RSE skills {#sec:required-generic-skills} +# Foundational RSE competencies {#sec:required-generic-skills} The role of an RSE lies somewhere on the spectrum between that of a researcher (the "R") and a software engineer (the "SE") and, therefore, requires @@ -338,7 +338,7 @@ competencies in both fields. RSEs typically apply their knowledge and experience in larger teams which allows them to cultivate this hybrid nature. Therefore, we categorise the competencies into three categories: *software engineering skills*, *research skills*, and *communication skills*, with a particular focus on the software and -research cycle and the scientific process. The generic skills are relevant in a +research cycle and the scientific process. These competencies are relevant in a broad setting and form the foundation for specific specialisations. These competencies have been chosen in order to make RSEs contribute to an open and inclusive research environment, with tools that respect their professional values. From 66bec406336be9d27c846061b1a170e0d4d7c8a0 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Sun, 19 Nov 2023 14:44:48 +0100 Subject: [PATCH 077/108] first draft of contribs (#209) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * first draft of contribs Co-authored-by: Gerasimos Chourdakis * Add author names to the dictionary --------- Co-authored-by: Florian Goth Co-authored-by: Jean-Noël Grad Co-authored-by: Gerasimos Chourdakis --- .github/workflows/spellcheck.yml | 7 +++++++ competencies.md | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 7a56b1a5..25cced4c 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -28,6 +28,13 @@ jobs: # remove header sed -i '1,/---/{/^---$/,/^---$/d}' $file done + - name: "populate spellignore with author names" + uses: mikefarah/yq@master + with: + cmd: | + yq '.authors[] | .lastName' contributors.yml | sed 's/ /\n/g; /null/d' >> .github/spellignore.txt + yq '.authors[] | .firstName' contributors.yml | sed 's/ /\n/g; /null/d' >> .github/spellignore.txt + yq '.authors[] | .suffixName' contributors.yml | sed 's/ /\n/g; /null/d' >> .github/spellignore.txt - uses: eschercloudai/md-spellcheck-action@v0.0.2 with: files-to-check: "competencies.md|call_to_action.md|survey.md|institutionalised_education.md|intro.md" diff --git a/competencies.md b/competencies.md index 8bc9edea..6ca30f70 100644 --- a/competencies.md +++ b/competencies.md @@ -1152,8 +1152,23 @@ a direction determined by new incentives created by scientific journals and libr How we update existing institutions and set up new ones that provide this education will be the topic of a follow-up paper. +# Contribution details +Heidi Seibold did the original conceptualisation and conceived the deRSE23 workshop. +We thank all the participants of this original community workshop! +Heidi Seibold, Jeremy Cohen, Florian Goth, Renato Alves, Jan Philipp Thiele, +and Samantha Wittke organised the deRSE23 workshop. +Toby Hodges conceptualised and organised the un-deRSE23 workshop. +We also thank all the participants of this follow-up community workshop! + +Heidi Seibold, Jeremy Cohen, Florian Goth, Renato Alves, Jan Philipp Thiele, +Jan Linxweiler, Jean-Noël Grad, and Samantha Wittke contributed the initial draft. +Florian Goth supervised the project and did the project administration. +Jean-Noël Grad conceived and implemented the software tooling. +Everybody contributed to the final review and editing. + \appendix + # Appendix {#sec:appendix} ## An example master's programme for research software engineering {#subsec:examplemaster} From c5d81adcd7412b41f06d6ad124077f60d7d87d66 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sun, 19 Nov 2023 15:00:56 +0100 Subject: [PATCH 078/108] improve my acknowledgements --- contributors.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contributors.yml b/contributors.yml index bd6249d9..b1afc123 100644 --- a/contributors.yml +++ b/contributors.yml @@ -18,8 +18,9 @@ authors: orcid: 0000-0003-2707-4790 email: florian.goth@uni-wuerzburg.de acknowledgements: | - FG thanks the GRF for funding through the SFB 1170 “Tocotronics” - under the grant number Z03. + FG acknowledges funding from the Deutsche Forschungsgemeinschaft + (DFG, German Research Foundation) through the SFB 1170 “Tocotronics”, + project Z03 - project number \geprislink{258499086}. - author: "Jan Linxweiler" firstName: Jan From 5a65ad7144980319b5a7460a8d62050f09252c21 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sun, 19 Nov 2023 15:01:29 +0100 Subject: [PATCH 079/108] typo --- competencies.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 6ca30f70..3b1f4a03 100644 --- a/competencies.md +++ b/competencies.md @@ -1058,7 +1058,8 @@ The development of research software based on machine learning (ML) requires spe This involves knowledge about data analysis and feature engineering, metrics that are involved in ML, ML algorithm selection and cross validation, and knowledge in mathematical optimisation methods and statistics. ML-RSEs analyse and check the suitability of an algorithm if it fulfils the needs of a certain task and they play a main role in deciding and selecting machine learning libraries for a given task. The increasing usage of ML in numerous scientific areas with social impact involves an emphasised awareness and consideration of possible manipulative or discriminatory influences. -At the intersection of data science [@SSIDataScience] and Data-focused RSEs, the complex way of solving problems utilising machine learning calls for this separate specialisation. +At the intersection of data science [@SSIDataScience] and data-focused RSEs, +the complex way of solving problems utilising machine learning calls for this separate specialisation. #### Web-development RSE This RSE is skilled in web applications, front- and/or backend, and/or building From 9ed1f21b232b7f749d286c69e39a8eab4ed44a1d Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sun, 19 Nov 2023 15:57:42 +0100 Subject: [PATCH 080/108] typo --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 3b1f4a03..30f43a5d 100644 --- a/competencies.md +++ b/competencies.md @@ -993,7 +993,7 @@ Research focused specialisations #### \${DOMAIN}-RSE While software is the lingua franca of all RSEs, there will be RSEs that have specialised in the intricacies of one particular research domain, such as medical RSEs, digital humanities RSEs, or physics RSEs. -This can often serve as a base domain for RSE specialisation as in @subsec:examplemaster +This can often serve as a base domain for RSE specialisation as in @subsec:examplemaster. #### Data-focused RSE RSEs working at the flourishing intersection between data science and RSE. From ed74d3c95a43163df746e34fd187bb51a7403cea Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Sun, 19 Nov 2023 20:34:01 +0100 Subject: [PATCH 081/108] Make Contribution Details an unnumbered section (#213) --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 30f43a5d..7f2f2373 100644 --- a/competencies.md +++ b/competencies.md @@ -1153,7 +1153,7 @@ a direction determined by new incentives created by scientific journals and libr How we update existing institutions and set up new ones that provide this education will be the topic of a follow-up paper. -# Contribution details +# Contribution details {-} Heidi Seibold did the original conceptualisation and conceived the deRSE23 workshop. We thank all the participants of this original community workshop! Heidi Seibold, Jeremy Cohen, Florian Goth, Renato Alves, Jan Philipp Thiele, From ff1028628aba2aed646953ddcd5ac2cb65abfe4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Sun, 19 Nov 2023 21:35:52 +0100 Subject: [PATCH 082/108] Add glossary (#210) * Add glossary * Move glossary to the backmatter and improve definitions Co-authored-by: Gerasimos Chourdakis * Update glossary.tex --------- Co-authored-by: Florian Goth Co-authored-by: Gerasimos Chourdakis --- .github/spellignore.txt | 1 - Makefile | 9 +- competencies.md | 445 +++++++++++++++++++++------------------- glossary.tex | 63 ++++++ 4 files changed, 310 insertions(+), 208 deletions(-) create mode 100644 glossary.tex diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 6b7ff895..888464a3 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -114,7 +114,6 @@ numpy OECD OER OpenScience -Organization Orithena OSI-approved Paderborn diff --git a/Makefile b/Makefile index 914a1a9f..7f7ca2c2 100644 --- a/Makefile +++ b/Makefile @@ -6,11 +6,12 @@ objects := intro.pdf competencies.pdf institutionalised_education.pdf survey.pdf all: $(objects) -%.pdf: %.md bibliography.bib contributors.yml preamble.sty build/template.tex filter.py +%.pdf: %.md bibliography.bib contributors.yml preamble.sty build/template.tex glossary.tex filter.py @mkdir -p build @rm -f build/pdfa.xmpi cp --update preamble.sty build/ cp --update bibliography.bib build/ + cp --update glossary.tex build/ python3 filter.py --input="${<}" --output="build/${<}" --contributors="contributors.yml" pandoc \ --standalone \ @@ -23,12 +24,18 @@ all: $(objects) -M pdfa-$(MAKE_PDFA)=1 \ -M date="`date "+%B %e, %Y"`" \ -M datexmp="`date "+%F"`" \ + -M linkcolor=darkgray \ -V hyperrefoptions=pdfa \ -V colorlinks=true \ -V papersize=a4 \ -o "build/${@:.pdf=}.tex" \ "build/$<" @sed -i '/\\author{}/d' "build/${@:.pdf=}.tex" + if grep -q "\\makeglossaries" "${<}"; then \ + cd build; \ + pdflatex --jobname="${@:.pdf=}" "${@:.pdf=}.tex"; \ + makeglossaries "${@:.pdf=}"; \ + fi latexmk \ -pdflatex -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" diff --git a/competencies.md b/competencies.md index 7f2f2373..73483070 100644 --- a/competencies.md +++ b/competencies.md @@ -37,10 +37,33 @@ header-includes: - \usepackage{longtable} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} + - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} + - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} + - \makeglossaries + - \input{glossary.tex} + - \newglossaryentry{DOCBB}{name={DOCBB},type={skills},description={Creating documented code building blocks}} + - \newglossaryentry{LIBS}{name={LIBS},type={skills},description={Building distributable libraries}} + - \newglossaryentry{SWLC}{name={SWLC},type={skills},description={Adapting to the software life-cycle}} + - \newglossaryentry{SWREPOS}{name={SWREPOS},type={skills},description={Use repositories}} + - \newglossaryentry{MOD}{name={MOD},type={skills},description={Software behaviour awareness and analysis}} + - \newglossaryentry{NEW}{name={NEW},type={skills},description={Curiosity}} + - \newglossaryentry{RC}{name={RC},type={skills},description={Understanding the research cycle}} + - \newglossaryentry{SRU}{name={SRU},type={skills},description={Software re-use}} + - \newglossaryentry{SP}{name={SP},type={skills},description={Software publication}} + - \newglossaryentry{DOMREP}{name={DOMREP},type={skills},description={Using domain repositories/directories}} + - \newglossaryentry{TEAM}{name={TEAM},type={skills},description={Working in a team}} + - \newglossaryentry{TEACH}{name={TEACH},type={skills},description={Teaching}} + - \newglossaryentry{PM}{name={PM},type={skills},description={Project management}} + - \newglossaryentry{USERS}{name={USERS},type={skills},description={Interaction with users and other stakeholders}} include-before: - - \newpage + - \newpage +include-after: + - \printglossary + - \printglossary[type=skills] + - \printglossary[type=\acronymtype] xnos-cleveref: True xnos-capitalise: True +toc-baselinestretch: 0.95 keywords: - research software engineering - curriculum design @@ -77,8 +100,7 @@ and discover previously inconceivably complex structures in nature and societies This prevalence of computations in research means that basic software skills are now required by researchers at all career levels, and in fields significantly beyond the previously expected. -Research software is now used and developed not only in -science, technology, engineering and mathematics (STEM) domains, +Research software is now used and developed not only in \ac{STEM} domains, but also in medicine and in digital humanities. Researchers often lack the skills to use specialised software @@ -86,11 +108,11 @@ for their research, let alone write it [@NamingPain]. If they come from a non-te also struggle to know what to ask when trying to request help from and interact with more experienced staff at their institutions. A gap still exists in academic education, as many curricula do not sufficiently prepare their students -in this regard. This situation is exemplified by the extracurricular Massachusetts Institute of Technology (MIT) class +in this regard. This situation is exemplified by the extracurricular \ac{MIT} class "The Missing Semester of Your CS Education" [@MIT], which aims to convey computing -ecosystem literacy even to students of Computer Science at MIT. +ecosystem literacy even to students of Computer Science at \ac{MIT}. -Researchers investing increasing amounts of their time developing their software engineering (SE) +Researchers investing increasing amounts of their time developing their \ac{SE} skills to support their research work can find themselves with little time to do the research itself. This, in turn, presents career development challenges since the experience required to gain @@ -98,7 +120,7 @@ and progress in research and academic roles is traditionally assessed through me do not directly include software outputs. A recent shift towards the establishment of the distinct role of a _"Research Software Engineer"_ [@WhatResearchSoftware] -(RSE, a term that emerged from the United Kingdom a little over 10 years ago [@Hettrick2016]), +(RSE, a term that emerged from the \ac{UK} a little over 10 years ago [@Hettrick2016]), now provides a base on which sustainable career opportunities can be (and are being) built, allowing for better training of researchers and more effective support for the development of high quality research software. @@ -112,7 +134,7 @@ they may have a standard research or technical job title such as Research Assistant, Research Fellow, or Software Engineer. Regardless of their job title, RSEs share a set of core skills that are required to write software, understand the research environment, and ensure that they produce sustainable, maintainable -code that supports reproducible research outputs, following the Findability, Accessibility, Interoperability and Reusability (FAIR) principles [@FAIR4RS]. +code that supports reproducible research outputs, following the \ac{FAIR} principles [@FAIR4RS]. This community paper defines a set of core values and competencies, agnostic of specific technical capabilities or research domains, @@ -210,21 +232,21 @@ resources that are linked to a competency framework. #### HPC Certification Forum -The High-performance Computing (HPC) Certification Forum [@HPCCF] is working towards providing a certification -process for High Performance Computing skills. +The \ac{HPC} Certification Forum [@HPCCF] is working towards providing a certification +process for \ac{HPC} skills. As part of this process, the group is developing a Competence Standard [@HPCCFCompetencies] -and an associated skill tree that provides a classification of HPC competencies. -This work aims to develop a standardised representation of relevant HPC knowledge +and an associated skill tree that provides a classification of \ac{HPC} competencies. +This work aims to develop a standardised representation of relevant \ac{HPC} knowledge and skills which can, in turn, lead to structured and recognised sets of skills that can underpin the certification process. #### EMBL-EBI Competency Hub -The European Molecular Biology Laboratory - European Bioinformatics Institute (EMBL-EBI) Competency Hub [@CompetencyHub] provides a bioinformatics/computational +The \ac{EMBL-EBI} Competency Hub [@CompetencyHub] provides a bioinformatics/computational biology-focused example of a competency portal. In addition to collecting information on a range of competencies that can be browsed within the web-based tool, it also provides career profiles for roles -within the domains that EMBL-EBI focuses on. The hub provides +within the domains that \ac{EMBL-EBI} focuses on. The hub provides access to variety of training resources that are linked to the specific competencies that they relate to. This enables learners to more easily find the right training materials in order to support their career @@ -244,27 +266,25 @@ a range of open source training materials and international communities of volunteer instructors and helpers who run courses around these materials. A similar framework is provided by CodeRefinery [@CodeRefinery], currently funded by the Nordic e-Infrastructure, -as well as SURESOFT [@SURESOFTLink; @SURESOFT2022], a German Research Foundation (DFG, from its German name) funded project at Technical University (TU) Braunschweig and -Friedrich-Alexander-University (FAU) Erlangen-Nürnberg, targeting more advanced SE topics such as -Software Design Principles, Design Patterns, Refactoring, Continuous Integration and Test Driven Development. +as well as SURESOFT [@SURESOFTLink; @SURESOFT2022], a \ac{DFG} funded project at Technical University (TU) Braunschweig and +Friedrich-Alexander-University (FAU) Erlangen-Nürnberg, targeting more advanced \ac{SE} topics such as +software design principles, \glspl{design-pattern}, refactoring, continuous integration and \ac{TDD}. -There are also several initiatives focused on training HPC-oriented RSEs, -such as the Partnership for Advanced Computing in Europe (PRACE) [@PRACE] +There are also several initiatives focused on training \acrshort{HPC}-oriented RSEs, +such as the \acrfull{PRACE} [@PRACE] (with material aggregated on various websites, e.g., on EuroCC Training [@EuroCCTraining]), -UNIVERSE-HPC (Understanding and Nurturing an Integrated Vision for -Education in RSE and HPC) [@UNIVERSEHPC] (a project funded under the UK's -ExCALIBUR research programme [@EXCALIBUR]), -and the EuroCC National Competence Center Sweden (ENCCS) [@ENCCS], which offers -a collection of lessons for HPC skills [@ENCCSLessons]. +\ac{UNIVERSE-HPC} [@UNIVERSEHPC] (a project funded under the \acrshort{UK}'s +ExCALIBUR research programme [@EXCALIBUR]), and the \ac{ENCCS} [@ENCCS], +which offers a collection of lessons for \ac{HPC} skills [@ENCCSLessons]. -Initiatives focused on Germany include EduTrain [@EDUTRAIN] (a section of NFDI [@NFDI]), -the Helmholtz Federated IT Services platform (HIFIS) [@HIFIS], and the already mentioned SURESOFT [@SURESOFTLink]. +Initiatives focused on Germany include EduTrain [@EDUTRAIN] (a section of the \acrfull{NFDI} [@NFDI]), +the \acrfull{HIFIS} [@HIFIS], and the already mentioned SURESOFT [@SURESOFTLink]. # Values {#sec:values} The activities of an RSE are guided by ethical values. In addition to the values for good scientific practice [@dfg_gsp], RSEs also adhere to -the SE Code of Ethics [@Gotterbarn1999]. +the \ac{SE} Code of Ethics [@Gotterbarn1999]. Central to that code is the RSE's obligation to commit to the health, safety and welfare of the public and act in the interest of society, their employer and their clients. Further values loosely based on that code include the obligations @@ -276,7 +296,7 @@ Further values loosely based on that code include the obligations + to treat colleagues and collaborators with respect and work towards a fair and inclusive environment, and + to promote these values whenever possible and make sure that they are passed on to new practitioners. -RSEs often assume a multifaceted role at the junction of research, SE and data management. +RSEs often assume a multifaceted role at the junction of research, \ac{SE} and data management. They work with a varying and diverse set of colleagues that might include other developers, support unit staff and academics of different fields and all career stages. This situation yields a specific set of challenges RSEs should be aware of @@ -295,7 +315,7 @@ the right to information privacy is internationally recognised as a fundamental e.g., in the European Convention on Human Rights [@CouncilOfEuropeProtocol1988; @Hirvela2022]. RSEs need to be aware of this topic's importance and deal with tensions that might arise with researchers' desire for trouble-free sharing of data, thereby expecting openness about the research process, -versus the integrity expectations of the society towards IT systems. +versus the integrity expectations of the society towards \ac{IT} systems. Handling personal data also has ramifications for information security considerations during the software development process. Data protection is a difficult subject, so RSEs should notice when they need to consult external expertise, for example when dealing with special topics such as cryptography or re-identification attacks [@Henriksen2016]. @@ -306,8 +326,8 @@ special topics such as cryptography or re-identification attacks [@Henriksen2016 RSEs are often experienced professionals who instruct and work closely with early career researchers. Similarly to academic supervisors, they bear a certain responsibility to guide and advise younger colleagues with respect to career development and the achievement of academic goals. -According to the United Nations Educational, Scientific and Cultural Organization (UNESCO) Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). -This imbalance is even more pronounced in SE with a majority of developers identifying as white male [@StackOverflow2022]. +According to the \ac{UNESCO} Science Report [@Schneegans2021] women account for 33.3% of all researchers while the majority of researchers come from G20 countries (88.8%). +This imbalance is even more pronounced in \ac{SE} with a majority of developers identifying as white male [@StackOverflow2022]. Thereby, to promote their values of an honest, open, and inclusive research space, they should be aware of the diversity problem and help to mediate it whenever they have the chance to do so. @@ -325,9 +345,9 @@ such as open science, path dependence, and vendor lock-in. RSEs often operate at the cutting edge of technological development and therefore might have to deal with technologies of which the dangers and drawbacks are still poorly understood. -A current example is the rush for the application of large language models (LLMs), +A current example is the rush for the application of \acp{LLM}, where RSEs working in these fields should stay up-to-date and be able to help researchers assess topics -such as training-data bias, LLM "hallucinations" or malicious use, with the greater goal of +such as training-data bias, \ac{LLM} "hallucinations" or malicious use, with the greater goal of making these powerful tools work for the welfare of society. # Foundational RSE competencies {#sec:required-generic-skills} @@ -354,16 +374,20 @@ the different RSE specialisations (**RSE specialisations**). ## Software engineering skills -There are many SE curricula out there, that try to define +\newcommand{\skillsection}[1]{\hypertarget{skills-#1}{% +\subsubsection{\glsentrydesc{#1} (\glsentrytext{#1})}\label{skills-#1}}} + +There are many \ac{SE} curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example highlighting some aspects in more detail than here is @Landwehr2017. The software skills outlined here are required to make research software adhere -to the FAIR principles, which are aspects of good scientific practice. +to the \ac{FAIR} principles, which are aspects of good scientific practice. @ChueHong2014 defines different levels of research -software reusability and the extent to which the SE skills +software reusability and the extent to which the \ac{SE} skills need to be applied to reach them. -### Creating documented code building blocks (DOCBB) + +\skillsection{DOCBB} The RSE should be able to create building blocks from source code that are reusable. This ranges from simple libraries of functions up to complex @@ -374,7 +398,8 @@ is primarily achieved through a "clean" implementation and enhanced by documentation. Documentation ranges from commenting code blocks to using documentation (building) tools. -### Building distributable libraries (LIBS) + +\skillsection{LIBS} The RSE should be able to distribute their code on their domain/language specific distribution platforms. This almost always encompasses @@ -382,8 +407,8 @@ handling/documenting dependencies with other packages/libraries. It sometimes requires knowledge of using build systems to enable interoperability with other systems. - -### Adapting to the software life-cycle (SWLC) + +\skillsection{SWLC} The traditional software life-cycle defines the stages that form the process of building a piece of software. Initial development generally involves a creative process where requirements are gathered and analysed, @@ -395,13 +420,14 @@ and also withdrawing software from its original use. The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. - -### Use repositories (SWREPOS) + +\skillsection{SWREPOS} The RSE should be able to identify and use fitting public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -### Software behaviour awareness and analysis (MOD) + +\skillsection{MOD} We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -414,7 +440,8 @@ and make sure that they do not negatively impact the integrity of their institut ## Research skills -### Curiosity (NEW) + +\skillsection{NEW} RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -423,7 +450,8 @@ Curiosity is also reflected when an RSE is actively trying out new tools. Lifelong learning is then no longer just a phrase but becomes a motivation to work. -### Understanding the research cycle (RC) + +\skillsection{RC} One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, @@ -435,24 +463,27 @@ Like other researchers, RSEs are open to discussions and arguments beyond their own expertise and appreciate the underlying principles of good research, including publications, reviews and reproducibility. -### Software re-use (SRU) + +\skillsection{SRU} -One goal of FAIR software is to avoid unnecessary duplication of work by reusing +One goal of \ac{FAIR} software is to avoid unnecessary duplication of work by reusing existing work instead. To (re-) use software, researchers have to be able to find it and then easily evaluate if the software actually suits their needs. Apart from functionality, the integration with other software, expected sustainability, and extensibility also have to be part of this evaluation. -### Software publication (SP) + +\skillsection{SP} -The second part of FAIR software is concerned with publishing new and derived works +The second part of \ac{FAIR} software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. RSEs need to have a basic understanding of common software licence types, such as "proprietary", "copyleft", and "permissive", the compatibility of different common licences and the ramifications for re-using and composing programs. Finally, RSEs will need to properly execute the technicalities of software publishing, such as applying licences, honouring copyright statements and crediting contributors. -### Using domain repositories/directories (DOMREP) + +\skillsection{DOMREP} Almost all research software is developed within a specific scientific domain. Some software may be able to cross boundaries, but the majority will have a @@ -468,21 +499,23 @@ They are embedded in a research group or work within a team of RSEs supporting p RSEs often need to interact with and facilitate communication among colleagues, clients and contractors with a very broad spectrum of background-knowledge, specialisation, expectations, and experience. Communication skills are therefore crucially important. -Team skills are also mentioned in common guides for SE such as the software engineering body of knowledge [@swebok_2014]. +Team skills are also mentioned in common guides for \ac{SE} such as the software engineering body of knowledge [@swebok_2014]. However, the interpersonal and organisational skills and the capacity for adaption required to work in a research setting warrants a much stronger emphasis on this field of competence. -### Working in a team (TEAM) + +\skillsection{TEAM} Working in a team is all about communication and teamwork. For example, RSEs need to be able to explain particular implementation choices made and may even need to defend them. Within a team of RSEs code reviews improve knowledge transfer and increase team cohesion. The team might change on a project-to-project basis and might be comprised of colleagues with very different backgrounds -including, for example, IT staff, domain scientists and technicians working alongside software engineers. +including, for example, \ac{IT} staff, domain scientists and technicians working alongside software engineers. The shared values come into play and each RSE needs to ensure that these values are lived by and passed on to others. Senior RSEs may lead a team of RSEs. -### Teaching (TEACH) + +\skillsection{TEACH} RSEs have many opportunities to teach. These range from inducting new colleagues to teaching digital skills either through short courses, @@ -490,14 +523,16 @@ for example from The Carpentries [@Carpentries], or entire lecture series. RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -### Project management (PM) + +\skillsection{PM} -The RSE should have knowledge about project management (PM). At some institutes, it follows the practices of the local research groups, -but it is useful if an RSE knows its place in a PM scheme, or can bring in new ideas for improvement. -Project management in research software engineering poses specific challenges (see [USERS](#interaction-with-users-and-other-stakeholders-users)) that might require the capacity +The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, +but it is useful if an RSE knows its place in a \gls{PM} scheme, or can bring in new ideas for improvement. +Project management in research software engineering poses specific challenges (see \gls{USERS}) that might require the capacity to flexibly adapt to changing conditions and deviate from common project management methods. -### Interaction with users and other stakeholders (USERS) + +\skillsection{USERS} Since research software is often developed as part of the research process itself, its requirements and specifications might change with the progression of research. @@ -518,33 +553,33 @@ RSE can be found. A snapshot of what this means today was obtained from learners and novice RSEs that we asked during the Paderborn workshop what they would like to have learnt. Among the top five things mentioned were: -- Testing. This task is a manifestation of the SE competencies of DOCBB and MOD +- Testing. This task is a manifestation of the \ac{SE} competencies of \gls{DOCBB} and \gls{MOD} since a model of the software is required in order to write good tests that facilitate understanding and documentation. Today this encompasses the - knowledge of testing frameworks as well as continuous integration and continuous delivery/deployment (CI/CD) practices. + knowledge of testing frameworks as well as continuous integration and \ac{CICD} practices. - Contributing to large projects. This is a topic that requires competency in - SWREPOS, SRU, SP in order to understand the ramifications of sharing, and DOCBB, + \gls{SWREPOS}, \gls{SRU}, \gls{SP} in order to understand the ramifications of sharing, and \gls{DOCBB}, since the contributed code has to be understood by others. Interacting with - project members depends on the TEAM skill. Today this entails the effective - use of collaborative platforms like GitHub/GitLab, honouring a project's code of - conduct, and some knowledge of popular software licences, e.g., the General Public License (GPL). + project members depends on the \gls{TEAM} skill. Today this entails the effective + use of collaborative platforms like \gls{GitHub}/\gls{GitLab}, honouring a project's code of + conduct, and some knowledge of popular software licences, e.g., the \ac{GPL}. - When or why to keep repositories private. This decision requires knowledge in - the RC, to understand when it makes sense to open up or close down a repository. - The USERS, TEAM and sometimes SP skills are required to make this decision. + the \gls{RC}, to understand when it makes sense to open up or close down a repository. + The \gls{USERS}, \gls{TEAM} and sometimes \gls{SP} skills are required to make this decision. Furthermore, knowledge of the practices and contractual regulations of the RSE's institution are also required. -- Proper development. This broad topic requires all the SE skills. Of course, +- Proper development. This broad topic requires all the \ac{SE} skills. Of course, these are the competencies that are the most fluid since they have to adapt at - a high rate to technological advancements. Additionally, proper SE skills - often require knowledge of TEAM, and PM. Today this means effective use of IDEs, - static analysis tools, design patterns, documentation (for oneself and others), + a high rate to technological advancements. Additionally, proper \ac{SE} skills + often require knowledge of \gls{TEAM}, and \gls{PM}. Today this means effective use of \acp{IDE}, + \gls{static-analysis} tools, \glspl{design-pattern}, documentation (for oneself and others), etc. - Finding a community. This can be interpreted in two different ways. First, we have the aspect of community building for a research project. Since this deals with software that is supposed to be used in research this requires - knowledge of RC, USERS, and also NEW, in order to effectively interact with + knowledge of \gls{RC}, \gls{USERS}, and also \gls{NEW}, in order to effectively interact with domain scientists. Today, an example is a presence on social media. The other - TEAM-related aspect is the embedding of RSE graduates into the community of + \gls{TEAM}-related aspect is the embedding of RSE graduates into the community of RSEs, sharing the same set of values and competencies. We envision our RSE graduates to be a part of a strong network of other RSEs, tool-related communities, and the classical domain communities, making them more effective at supporting research. These networks are a lifelong manifestation where RSEs work to provide an inclusive environment @@ -555,13 +590,13 @@ Beyond that, we feel that today other important tasks of RSEs are - Mentoring colleagues. This necessitates giving good advice that fits to a projects stage in its life-cycle, - thereby requiring knowledge of (SWLC), and its context in its research domain and thus (RC). + thereby requiring knowledge of (\gls{SWLC}), and its context in its research domain and thus (\gls{RC}). Research software often starts out as a tool to answer a personal research question and becomes more important when other researchers rely on it. Some research software might even be used to deal with critical questions such as weather forecasting or medical diagnosis. To formalise the process of giving good advice a classification of software is commonly used [@Wang2012; @Schlauch2018b] where research software can move from one class to another during its life-cycle. - @Schlauch2018b classify applications based on their scope and criticality and provide SE recommendations. + @Schlauch2018b classify applications based on their scope and criticality and provide \ac{SE} recommendations. The RSE needs to be able to identify the application class they are dealing with and apply the respective RSE practices. - Enforcing reproducibility. Projects like ReproHack [@ReproHack] can greatly help in fostering that competency. @@ -587,11 +622,11 @@ A story-like example of an individual through the hierarchies can be found in @s | Competency | Junior RSE | Senior RSE | Principal RSE | | --- | ---------- | ---------- | ---------- | -| DOCBB | Should be able to write reusable building blocks. | Same as junior, but the quality should set the standard for the project, while following current best practices. | Should know the current best practices and point their staff to the right resources. | -| LIBS | Should be able to use package distribution platforms. | Same as junior, but should also be familiar with current best practices for building and deploying packages. | Should ensure that their project is available via an up-to-date and secure distribution platform. | -| SWLC | Should be aware of the software life-cycle. | Should know where in the life-cycle their project is and which decisions are likely to lead to technical debt. | Should know how to manage and steer development/project resources accordingly. Should also have an understanding of the potential consequences of key project management decisions. | -| SWREPOS | Should seamlessly interact with the repository of their project. | Should be well-versed in the intricacies of a repository, and probably interact with repositories of multiple projects. | Should promote the use of repositories and be able to convey best practices to junior and senior RSEs. | -| MOD | Should have a basic grasp of their piece of the software in order to use basic tools such as a debugger. | Should understand the characteristics of large parts of the codebase considering a variety of the metrics. | Should understand the big idea of the software project in order to define the task that the software solves. | +| \gls{DOCBB} | Should be able to write reusable building blocks. | Same as junior, but the quality should set the standard for the project, while following current best practices. | Should know the current best practices and point their staff to the right resources. | +| \gls{LIBS} | Should be able to use package distribution platforms. | Same as junior, but should also be familiar with current best practices for building and deploying packages. | Should ensure that their project is available via an up-to-date and secure distribution platform. | +| \gls{SWLC} | Should be aware of the software life-cycle. | Should know where in the life-cycle their project is and which decisions are likely to lead to technical debt. | Should know how to manage and steer development/project resources accordingly. Should also have an understanding of the potential consequences of key project management decisions. | +| \gls{SWREPOS} | Should seamlessly interact with the repository of their project. | Should be well-versed in the intricacies of a repository, and probably interact with repositories of multiple projects. | Should promote the use of repositories and be able to convey best practices to junior and senior RSEs. | +| \gls{MOD} | Should have a basic grasp of their piece of the software in order to use basic tools such as a debugger. | Should understand the characteristics of large parts of the codebase considering a variety of the metrics. | Should understand the big idea of the software project in order to define the task that the software solves. | Table: Levels of software eng. skills expected per RSE career stage. {#tbl:comp-lvls-se} @@ -599,20 +634,20 @@ Table: Levels of software eng. skills expected per RSE career stage. {#tbl:comp- | Competency | Junior RSE | Senior RSE | Principal RSE | | --- | ---------- | ---------- | ---------- | -| NEW | Should have some curiosity to fit into research teams. | Same as junior, but a curiosity to enhance the code base is required. | Should have curiosity to know in which direction to steer the project. | -| RC | Should be aware of the research life-cycle. | Should know the position of the project in the research life-cycle. | Should know what is necessary for the project to fit into its position in the research life-cycle. | -| SRU | Should be aware of software reusability tools. | Should be able to search with software reusability tools. | Should be able to effectively search with SRU tools and to evaluate and perform the integration of a library into the project. | -| SP | Should be aware that software publication needs to consider issues of intellectual property. | Should be able to correctly publish software in simple cases and to identify cases where professional legal advice is needed. | Same as senior, plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects. | -| DOMREP | The RSE should be able to interact with the domain repository. | Same as junior RSE. | Same as junior, and should know about how it fits into workflows surrounding these domain repositories. | +| \gls{NEW} | Should have some curiosity to fit into research teams. | Same as junior, but a curiosity to enhance the code base is required. | Should have curiosity to know in which direction to steer the project. | +| \gls{RC} | Should be aware of the research life-cycle. | Should know the position of the project in the research life-cycle. | Should know what is necessary for the project to fit into its position in the research life-cycle. | +| \gls{SRU} | Should be aware of software reusability tools. | Should be able to search with software reusability tools. | Should be able to effectively search with \gls{SRU} tools and to evaluate and perform the integration of a library into the project. | +| \gls{SP} | Should be aware that software publication needs to consider issues of intellectual property. | Should be able to correctly publish software in simple cases and to identify cases where professional legal advice is needed. | Same as senior, plus the ability to take the future publication of software into account when initiating and guiding larger software collaboration projects. | +| \gls{DOMREP} | The RSE should be able to interact with the domain repository. | Same as junior RSE. | Same as junior, and should know about how it fits into workflows surrounding these domain repositories. | Table: Levels of research skills expected per RSE career stage. {#tbl:comp-lvls-res} | Competency | Junior RSE | Senior RSE | Principal RSE | | --- | ---------- | ---------- | ---------- | -| TEAM | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks. | Should be able to lead the team and set the respective direction. | -| TEACH | Should be able to perform simple peer-to-peer on-boarding tasks. | Should be able to explain logical components and the general architecture to other RSEs. | Should be able to effectively communicate about all high-level parts of the project. | -| PM | Should be aware of the employed project management method. | Should be able to use and adapt the employed PM method. | Should be able to design and adapt the employed PM method. | -| USERS | Should be able to communicate with non-SE users of the project. | Same as junior RSE, and be able to interpret the feedback. | Same as senior, and should also be able to effectively take feedback into account when steering the project. | +| \gls{TEAM} | Should be able to work in the team in order to effectively fulfil the given tasks. Should be able to learn from code review. | Should be able to break down tasks into more easily digestible sub-tasks. | Should be able to lead the team and set the respective direction. | +| \gls{TEACH} | Should be able to perform simple peer-to-peer on-boarding tasks. | Should be able to explain logical components and the general architecture to other RSEs. | Should be able to effectively communicate about all high-level parts of the project. | +| \gls{PM} | Should be aware of the employed project management method. | Should be able to use and adapt the employed \gls{PM} method. | Should be able to design and adapt the employed \gls{PM} method. | +| \gls{USERS} | Should be able to communicate with non-\acrshort{SE} users of the project. | Same as junior RSE, and be able to interpret the feedback. | Same as senior, and should also be able to effectively take feedback into account when steering the project. | Table: Levels of communication skills expected per RSE career stage. {#tbl:comp-lvls-comm} @@ -638,62 +673,62 @@ It is important to note that this section does not reflect the current state of Instead, it summarises the discussions with and between workshop participants at different levels of academic progression on what they would have liked to learn at an earlier stage or know before starting their current position. While individuals already work at implementing some of these changes and teaching these skills, it has not yet reached a systemic level. -The text is organised along the academic progression path (bachelor's degree, master's degree, PhD, Postdoc, Principal Investigator (PI)/Professor). +The text is organised along the academic progression path (bachelor's degree, master's degree, PhD, Postdoc, \ac{PI}/Professor). Since each level is based on the previous levels, we presume that the skills and competencies at each level also encompass those of the previous levels. Due to the broad need throughout academic specialisations, the described levels serve as a baseline -and certain fields will require higher SE skill levels +and certain fields will require higher \ac{SE} skill levels as development is a large part of their actual research. #### Bachelor's level Students at the undergraduate level mostly consume science/knowledge. During their studies, they should also learn about the existence of digital tools and structures. -Undergrad students should be aware that RSEs exist and that software has different quality aspects (DOCBB). -They should be aware of domain specific tools (LIBS, SRU) and where to find them (SWREPOS, DOMREP). -At this level, it is sufficient to consider software as black boxes (USERS) although some training in data presentation would be very helpful and a good way to find out about programming (MOD, NEW). -They should have an awareness of software licences and whom to ask regarding licensing issues (SP). -They will be taught about the research cycle (RC) and that researchers often work in groups (TEAM). -During practicals, they will have an opportunity for peer learning (TEACH). +Undergrad students should be aware that RSEs exist and that software has different quality aspects (\gls{DOCBB}). +They should be aware of domain specific tools (\gls{LIBS}, \gls{SRU}) and where to find them (\gls{SWREPOS}, \gls{DOMREP}). +At this level, it is sufficient to consider software as black boxes (\gls{USERS}) although some training in data presentation would be very helpful and a good way to find out about programming (\gls{MOD}, \gls{NEW}). +They should have an awareness of software licences and whom to ask regarding licensing issues (\gls{SP}). +They will be taught about the research cycle (\gls{RC}) and that researchers often work in groups (\gls{TEAM}). +During practicals, they will have an opportunity for peer learning (\gls{TEACH}). #### Master's level A student at a master's level can participate in science and should therefore be able to use "some" digital structures. -A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (LIBS, SWREPOS, DOMREP). -They should be able to process and present their data (MOD). -They need to understand how their research depends on software (SWLC). -Working on their master's thesis allows them to understand the research cycle (RC), practice project management (PM) and collaborate with other members of their research group (TEAM). +A master's student needs to be aware of relevant tools and data sets for their domain, where to find them and how to use them (\gls{LIBS}, \gls{SWREPOS}, \gls{DOMREP}). +They should be able to process and present their data (\gls{MOD}). +They need to understand how their research depends on software (\gls{SWLC}). +Working on their master's thesis allows them to understand the research cycle (\gls{RC}), practice project management (\gls{PM}) and collaborate with other members of their research group (\gls{TEAM}). #### PhD A PhD student performs independent research under guidance. They need to know relevant tools and structures. -They should know where to find information about tools and where to find help using them (DOCBB, SWREPOS). -They should be able to use the tools (LIBS) and identify and report bugs (MOD). -They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (USERS). -They might produce new software (MOD, SRU), in which case they need to understand how to licence their code for publication (SP). +They should know where to find information about tools and where to find help using them (\gls{DOCBB}, \gls{SWREPOS}). +They should be able to use the tools (\gls{LIBS}) and identify and report bugs (\gls{MOD}). +They need to be aware that the user's perspective is different from the developer's perspective in order to be able to write bug reports (\gls{USERS}). +They might produce new software (\gls{MOD}, \gls{SRU}), in which case they need to understand how to licence their code for publication (\gls{SP}). PhD students need to be curious to be able to conduct their research. -In order to be able to explore new tools (NEW) they must be able to evaluate research software (SWLC). -They need to be able to interact with services (RC) and domain specific repositories (DOMREP). -They should be able to supervise a student (TEACH). +In order to be able to explore new tools (\gls{NEW}) they must be able to evaluate research software (\gls{SWLC}). +They need to be able to interact with services (\gls{RC}) and domain specific repositories (\gls{DOMREP}). +They should be able to supervise a student (\gls{TEACH}). #### Postdoc Postdocs are independent researchers. Their role is similar to that of a PhD student, with a deepened focus on their research career. However, they are proficient users of all relevant tools, which makes them active contributors to their domain of research. -They need to be aware of more advanced topics regarding intellectual property rights, such as patents (SP). +They need to be aware of more advanced topics regarding intellectual property rights, such as patents (\gls{SP}). #### PI/Professor They are experts in their field and should be able to give proper guidance to their students on which digital tools are currently relevant. They should be aware of the skills of an RSE and when they might need one in their group. -They should encourage their students to use relevant tools (LIBS). -They need to be able to judge the suitability of the software (SWLC) and follow the interactions between relevant projects (SWREPOS). -They should be able to advise their students on the legal aspects of software production and distribution (SP). -They should be able to contribute meaningfully to the steering decisions of the software in their field (USERS). -They need to guide students and give full-size lectures (TEACH). -They need to manage and lead their research group (PM, TEAM). +They should encourage their students to use relevant tools (\gls{LIBS}). +They need to be able to judge the suitability of the software (\gls{SWLC}) and follow the interactions between relevant projects (\gls{SWREPOS}). +They should be able to advise their students on the legal aspects of software production and distribution (\gls{SP}). +They should be able to contribute meaningfully to the steering decisions of the software in their field (\gls{USERS}). +They need to guide students and give full-size lectures (\gls{TEACH}). +They need to manage and lead their research group (\gls{PM}, \gls{TEAM}). ## Project team structures @@ -742,20 +777,20 @@ The current situation may differ. \cline{2-5} & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DOCBB & + \gls{DOCBB} & Focuses on getting outputs to support research. Is not very familiar with code quality and structure. Follows basic best practice guides.& Puts greater focus on reusability, documentation, and knowledge of best practices, but potentially lacks domain knowledge.& Has more opportunities to discuss and share ideas, but team members may be less aware of key practices. & - Has stronger ingrained focus on team-based PM and development + Has stronger ingrained focus on team-based \gls{PM} and development methodologies, resulting in higher quality, more reusable code.& Should offer training and other resources in core topics to support individual developers. Should have research software guidance/policies that provide advice.\\ \hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - LIBS& + \gls{LIBS}& Does not emphasise code reusability and sharing/distribution. & Puts greater focus on reusability/sharing, but likely not as part of the project aims.& May want to develop reusable shareable outputs for a specific case. Needs clear guidelines.& @@ -763,7 +798,7 @@ The current situation may differ. Should provide policies on reusability/sharing. May be driven by requirements/policies of the funding agency. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SWLC& + \gls{SWLC}& Manages the complete life-cycle, bus factor equal to 1.& The team supports parts of the software life-cycle, but with low bus factor.& The team infrastructure and tooling supports the life-cycle and sustainability.& @@ -774,7 +809,7 @@ The current situation may differ. licences for, e.g., management tools. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SWREPOS& + \gls{SWREPOS}& Uses repositories for code management and demonstrating outputs, e.g., for supporting academic credit, but may be missing skills.& As locally-based, but professional RSEs are generally very experienced @@ -789,7 +824,7 @@ The current situation may differ. for this vital research software development tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - MOD& + \gls{MOD}& Needs full awareness of entire codebase to extend/maintain. If project taken on from another developer, there may be challenges in transferring the mental model.& @@ -819,7 +854,7 @@ The current situation may differ. \cline{2-5} & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - NEW& + \gls{NEW}& Struggles to learn new methods and skills due to split curiosity between research goal and software project.& Gets support from the RSE team to explore new methods and skills, @@ -831,19 +866,19 @@ The current situation may differ. and sharing of know-how on new technical processes and tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - RC& + \gls{RC}& Is familiar with the research life-cycle in their domain, especially when embedded in a research team.& - Is familiar with the RC, + Is familiar with the \gls{RC}, although they may not have domain knowledge, which a group can provide.& - Is familiar with the RC and can share knowledge within the team.& + Is familiar with the \gls{RC} and can share knowledge within the team.& One or more members of the team are strongly aware of the - RC.& + \gls{RC}.& Should provide extensive infrastructure to manage the research life-cycle, supporting researchers/RSEs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SRU& + \gls{SRU}& Has limited awareness of existing solutions and limited support in this regard.& Is familiar with software sharing and can discover tools and platforms.& As per individual (local), but being part of a team can help to address this.& @@ -852,7 +887,7 @@ The current situation may differ. and/or provide institution-level access to platforms that support this. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - SP& + \gls{SP}& Has limited knowledge and motivation regarding software publication.& Applies practices, workflows, and policies established in the RSE team.& As per individual (local) developer.& @@ -860,7 +895,7 @@ The current situation may differ. Should raise awareness about software as a publishable scientific output, provide recommendations and checklists to support software publications, and have legal experts in place to offer advice on complex cases. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DOMREP& + \gls{DOMREP}& Domain researchers working on software are likely to be more familiar with the domain-specific solutions.& RSEs may need guidance from domain researchers around domain-specific @@ -882,7 +917,7 @@ The current situation may differ. \cline{2-5} & Locally-based & RSE-Team based & Locally-based & RSE-Team based &\\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - USERS& + \gls{USERS}& May have additional skills to safeguard potential future development and maintenance of the software for external users. Resourcing for future maintenance may be a challenge.& Has additional skills or can access support to safeguard potential @@ -894,7 +929,7 @@ The current situation may differ. Should have institutions that are able to offer support with outreach and publicising outputs. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - TEACH& + \gls{TEACH}& May be independently involved in training activities.& May be able to support researchers with core technical skills.& Shares knowledge and skills within the group (peer support).& @@ -904,17 +939,17 @@ The current situation may differ. such as an RSE curriculum, as described in~\autoref{subsec:examplemaster}. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - PM& + \gls{PM}& Is organised enough to be able to transfer the codebase to future developers.& - Follows the project management approach set by the team, or can suggest such PM approaches.& - Has additional PM challenges, but may not have awareness of or experience with key PM skills, + Follows the project management approach set by the team, or can suggest such \gls{PM} approaches.& + Has additional \gls{PM} challenges, but may not have awareness of or experience with key \gls{PM} skills, which can acquire with low-key courses.& Team provides well-structured approaches and tooling to support management of projects.& Should offer training to support management of projects. May offer organisation-level tooling. \\\hline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - TEAM& + \gls{TEAM}& N/A& Must be able to work effectively with their home RSE team, as well as with researchers they are potentially developing code for.& @@ -937,7 +972,7 @@ We talk about the "research software engineer" as a single entity but as the fie we expect to see more roles and job titles emerging around the RSE concept, many of which fit under the wider umbrella of research technology professionals (RTPs). Examples are different RSE-like computational roles of -the EMBL-EBI BioExcel competency framework [@BIOEXCEL] (also @subsec:emblbio), +the \ac{EMBL-EBI} BioExcel competency framework [@BIOEXCEL] (also @subsec:emblbio), as is a range of different roles from King's Digital Lab at King's College London [@KDL]. # RSE specialisations {#sec:rse-specialisations} @@ -955,23 +990,23 @@ while other RSEs might expand their skill set and profession to areas, that are #### Open science RSE Open science and FAIRness of data and software are increasingly important topics in research, as exemplified by the demand of an increasing amount of research funding agencies requiring openness. -Hence, an open science RSE is required to have a deeper knowledge in (RC) and how to distribute software publicly (SRU, SP). +Hence, an open science RSE is required to have a deeper knowledge in (\gls{RC}) and how to distribute software publicly (\gls{SRU}, \gls{SP}). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", -"What do I need to do to make my software FAIR?", or +"What do I need to do to make my software \ac{FAIR}?", or "How do I sustainably work with an (international) team on a large code base?". -Like the Data-focused RSE, they have a deep understanding of research data management (RDM) topics. +Like the Data-focused RSE, they have a deep understanding of \ac{RDM} topics. #### Project/community manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (PM), (USERS), and (TEAM) skills, as exemplified in @subsec:examplecareer. +processes and people. This gap can be filled by people who invest in the (\gls{PM}), (\gls{USERS}), and (\gls{TEAM}) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. #### Teaching RSEs -RSEs interested in developing their (TEACH) skill can focus on teaching the next generation of researchers and/or RSEs and will play +RSEs interested in developing their (\gls{TEACH}) skill can focus on teaching the next generation of researchers and/or RSEs and will play a vital role in improving the quality of research software. They need to have a good understanding of all RSE competencies relevant to their domain and additionally should have experience or training in the educational field. @@ -979,9 +1014,9 @@ additionally should have experience or training in the educational field. #### User interface/user experience designers for research software Scientific software is a complex product that often needs to be refined in order to be usable even by other scientists. -To facilitate this, there are people required that specialise in the (DOCBB) and probably the (LIBS) competency -with a focus on making end-user facing software really reusable and hence FAIR. -This task is supported by strong (MOD) skills to reason about the behaviour of potential users of the software. +To facilitate this, there are people required that specialise in the (\gls{DOCBB}) and probably the (\gls{LIBS}) competency +with a focus on making end-user facing software really reusable and hence \ac{FAIR}. +This task is supported by strong (\gls{MOD}) skills to reason about the behaviour of potential users of the software. ## Specialisations outside the core RSE competencies @@ -998,12 +1033,12 @@ This can often serve as a base domain for RSE specialisation as in @subsec:examp #### Data-focused RSE RSEs working at the flourishing intersection between data science and RSE. They are skilled in cleaning data and/or running data analyses and can help researchers -in setting up their analysis pipeline and/or RDM solutions. +in setting up their analysis pipeline and/or \ac{RDM} solutions. When the field requires research on sensitive data or information, e.g., patient information in medicine, this RSE should have knowledge about secure transfer methods and/or ways to anonymise the data. -As part of RDM, this RSE profile is able to support all stages of the research data life-cycle [@Nieva2020], with synchronous data management processes. -Those processes implement established best practices for planning and documenting of data acquisition in a data management plan (DMP), as well as for management, -storage, and preservation of data, and publication and sharing of data in repositories according to the FAIR principles [@FAIR]. +As part of \ac{RDM}, this RSE profile is able to support all stages of the research data life-cycle [@Nieva2020], with synchronous data management processes. +Those processes implement established best practices for planning and documenting of data acquisition in a \ac{DMP}, as well as for management, +storage, and preservation of data, and publication and sharing of data in repositories according to the \ac{FAIR} principles [@FAIR]. #### Research infrastructure RSE -This RSE is interested in SysOps and system administration and sets up IT infrastructures for and with researchers. +This RSE is interested in \glspl{SysOp} and system administration and sets up \ac{IT} infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and on the other hand knowledge about setup and configuration of particular server software, e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters machine learning. @@ -1022,27 +1057,27 @@ The constantly evolving software environment can hinder or prevent reproducibili In this changing environment, a significant amount of effort in (research) software development needs to be spent on maintenance to ensure that software remains useful or even installable. With regard to which additional competency is required, -these are people having experience with software stacks that are not part of the general curricula any more (e.g., COBOL or Fortran). +these are people having experience with software stacks that are not part of the general curricula any more (e.g., \gls{COBOL} or \gls{Fortran}). -#### High performance computing (HPC) - RSE +#### HPC-RSE -RSEs with a focus on High Performance Computing (HPC) have specialist knowledge +RSEs with a focus on \ac{HPC} have specialist knowledge about programming models that can be used to efficiently undertake large-scale computations on parallel computing clusters. They may have knowledge of (automatic) code optimisation tools and methods and will understand how to write code that is optimised for different types of computing platforms, leveraging various efficiency -related features of the target hardware. They are familiar with HPC-specific +related features of the target hardware. They are familiar with \acrshort{HPC}-specific package managers and can build dependencies from sources. They also understand the process of -interacting with job scheduling systems that are often used on HPC clusters to -manage the queuing and running of computational tasks. HPC-focused RSEs may be -involved with managing HPC infrastructure at the hardware or software level (or +interacting with job scheduling systems that are often used on \ac{HPC} clusters to +manage the queuing and running of computational tasks. \acrshort{HPC}-focused RSEs may be +involved with managing \ac{HPC} infrastructure at the hardware or software level (or both) and understand how to calculate the environmental impact of large-scale -computations. Their knowledge of how to run HPC jobs and write successful HPC +computations. Their knowledge of how to run \ac{HPC} jobs and write successful \ac{HPC} access proposals can be vitally important to researchers wanting to make use of -HPC infrastructure. +\ac{HPC} infrastructure. -#### Machine learning (ML) - RSE -The development of research software based on machine learning (ML) requires specialised theoretical background and experienced handling of appropriate software in order to produce meaningful results. +#### ML-RSE +The development of research software based on \ac{ML} requires specialised theoretical background and experienced handling of appropriate software in order to produce meaningful results. This involves knowledge about data analysis and feature engineering, metrics that are involved in ML, ML algorithm selection and cross validation, and knowledge in mathematical optimisation methods and statistics. ML-RSEs analyse and check the suitability of an algorithm if it fulfils the needs of a certain task and they play a main role in deciding and selecting machine learning libraries for a given task. The increasing usage of ML in numerous scientific areas with social impact involves an emphasised awareness and consideration of possible manipulative or discriminatory influences. @@ -1075,7 +1110,7 @@ we foresee the need for RSEs that still have a background in RSE but extend it w that cover corner cases and go beyond applying Best Practice guides. These requirements may arise in the area of publication of research software, as this also requires knowledge about particular laws or regulatory frameworks concerning data protection, -like the General Data Protection Regulation (GDPR) within the European Union (EU) [@GDPR]. +like the \ac{GDPR} within the \ac{EU} [@GDPR]. Another area are legal aspects of cybersecurity and export control in science and research (see @ExportControl for Germany). Legal-RSEs focus on facilitating the achievement of technically feasible solutions, while adhering to regulatory mandates. They are able to communicate and collaborate with lawyers. @@ -1134,7 +1169,7 @@ At the same time, being software engineers, we cherish that we have to take responsibility for our tools. We continue with core competencies that have been intentionally formulated abstractly without referencing any particular information-processing device. -As expected, we draw equally upon notions from SE and research, +As expected, we draw equally upon notions from \ac{SE} and research, but find that we likewise require teamwork capabilities. We continue with detailing these competencies in various dimensions and find that a different amount is required in different positions and scientific domains, @@ -1148,7 +1183,7 @@ and their values make them responsible members of a digital society. This yields a qualification profile which makes an education based on it highly attractive to young people. At an institutional level, research performing organisations have a growing -interest in fostering RSE training to support the use of FAIR data and FAIR software in the academic world, +interest in fostering RSE training to support the use of \ac{FAIR} data and \ac{FAIR} software in the academic world, a direction determined by new incentives created by scientific journals and librarians. How we update existing institutions and set up new ones that provide this education will be the topic of a follow-up paper. @@ -1176,7 +1211,7 @@ Everybody contributed to the final review and editing. The target audience for such a master's programme would be students holding a bachelor's degree from a domain science, which we will call "home domain" in the following. There is explicitly -no restriction on the candidates' home domain: it may be from the STEM disciplines, life +no restriction on the candidates' home domain: it may be from the \ac{STEM} disciplines, life sciences, humanities or social sciences. Candidates with a bachelor's degree in computer science are also explicitly included, although we acknowledge that their master's programme should include adaptations to make their interaction effective with other domain scientists. @@ -1190,20 +1225,20 @@ and attend these additional modules to deepen their knowledge in the field. Core modules are of course drawn from the three pillars of the RSE and can be categorised accordingly. -- SE skills: - - Foundational module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., Python or R) and a language for designing complex, performance-critical systems (e.g., C/C++). This exposes them to computers in a hands-on fashion and is the foundation for (DOCBB, LIBS). - - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools such as the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (LIBS, DOCBB, SWREPOS, SRU). - - Software architecture module: Here we teach software design and SE, again strengthening (DOCBB, LIBS) on a more abstract level. +- \ac{SE} skills: + - Foundational module: Here we have an introduction to programming: Students learn at least two languages: a language that facilitates prototyping and data processing (e.g., \gls{Python} or \gls{R}) and a language for designing complex, performance-critical systems (e.g., \gls{C}/\gls{Cpp}). This exposes them to computers in a hands-on fashion and is the foundation for (\gls{DOCBB}, \gls{LIBS}). + - Digital ecosystem module: Programming languages are not enough to work in a digital ecosystem, hence we require something like software craftsmanship, where tools such as the Unix shell, version control systems, build systems, documentation generators, package distribution platforms, and software discovery systems are taught to strengthen skills in (\gls{LIBS}, \gls{DOCBB}, \gls{SWREPOS}, \gls{SRU}). + - Software architecture module: Here we teach software design and \ac{SE}, again strengthening (\gls{DOCBB}, \gls{LIBS}) on a more abstract level. - Research skills: - Optional domain mastery module: Additional minor research courses, but students with a home-domain already have the research part well-covered. - - Research tools module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (SRU, SP, DOMREP). + - Research tools module: Here we teach tools used to distribute and publish software, as well as introducing students to domain specific data repositories. Thereby gaining foundational knowledge in (\gls{SRU}, \gls{SP}, \gls{DOMREP}). - Meta-research module: Here we teach people how research works. The research life cycle is introduced, as well as the data life cycle and the software life cycle are abstractly introduced. - Communication skills: - - Project management methods: Here we teach project management methods that are useful in science, such as agile ones (PM). - - Communication skills module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (USERS) skill. - - Teaching module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (TEACH) skill. + - Project management methods: Here we teach project management methods that are useful in science, such as agile ones (\gls{PM}). + - Communication skills module: Here we have courses focusing on interdisciplinary communication, interacting across cultures, communication in hierarchies, supporting end users effectively. These are all facets of the (\gls{USERS}) skill. + - Teaching module: This module covers topics to effectively design courses and teaching material for the various digital tools, thereby strengthening the (\gls{TEACH}) skill. Given that RSE work also involves a lot of craftsmanship skills, hands-on practice is an integral part of the curriculum. @@ -1211,21 +1246,21 @@ At least two lab projects are required within the mandatory curriculum. These should be executed as a team and involve a question from a domain science. We recommend covering both the candidate's home domain and another domain of science. Ideally, projects stem from collaborations with scientists within the institution and RSE -students take the role of a consultant. This setup strengthens the (TEAM, TEACH, USERS) skill -and most likely also the (MOD) skill through interaction. +students take the role of a consultant. This setup strengthens the (\gls{TEAM}, \gls{TEACH}, \gls{USERS}) skill +and most likely also the (\gls{MOD}) skill through interaction. To emphasise the exposure to domains outside their bachelor's degree domain, we recommend that RSEs also support their non-home-domain project by supporting it with introductory courses from this discipline. We support the idea of broadening the interaction with other domains even more. -This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (MOD). +This schools their ability to quickly adapt their vocabulary and thinking to other disciplines. This is an aspect of (\gls{MOD}). To align with the specialisations listed in this paper, example optional modules include topics on -HPC engineering/parallel programming, numerical mathematics/scientific computing, web technologies, +\ac{HPC} engineering/parallel programming, numerical mathematics/scientific computing, web technologies, data stewardship, AI models/statistics, and community management/training. The programme is finalised with a master's thesis which should be dual-supervised by an RSE supervisor from an actual project, and a domain supervisor. -The thesis should answer a relevant research question (strengthening (NEW)) from the domain using computational methods. +The thesis should answer a relevant research question (strengthening (\gls{NEW})) from the domain using computational methods. Software development is required, and the code is part of the gradable deliverables. The RSE supervisor ensures and grades the software craftsmanship aspects of the project. This setup ensures that we are grading the effectiveness of applying RSE skills in an actual research environment. @@ -1262,8 +1297,8 @@ Kay chooses digital archaeology and develops a pipeline for reconstructing 3D mo The project management skills that are being taught as part of the core RSE curriculum really help her to not get lost in this project. Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. -She also has to liaise with the central IT department to organise storage for the large data sets. -Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (SWLC, RC) in action +She also has to liaise with the central \ac{IT} department to organise storage for the large data sets. +Towards the end of the programme, she visits her first RSE conference where she sees a lot of notions (\gls{SWLC}, \gls{RC}) in action that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish @@ -1272,10 +1307,10 @@ Kay has now completed the RSE programme and has reached Junior RSE level. #### Junior RSE -Kay finds a position in the central RSE department at her university with a competitive IT salary. +Kay finds a position in the central RSE department at her university with a competitive \ac{IT} salary. Although the contract is temporary, there is a good chance that it will lead to a permanent position. Kay completes the Software Carpentry Instructor training and teaches basic research computing, -while advising fellow students of her department on better programming (DOCBB and MOD skill). +while advising fellow students of her department on better programming (\gls{DOCBB} and \gls{MOD} skill). She also runs a seminar in the RSE Master's programme. She publishes a condensed version of that in JOSE[@JOSE]. During her teaching duties, she becomes aware of a new project in her department that requires a community manager RSE, and she gladly signs up to focus more on her communication skills. @@ -1286,10 +1321,10 @@ After three years, she takes an exciting opportunity to work in another universi The new position involves taking responsibility for the RSE related aspects of a large inter-organisational project involving different organisations. With her new responsibilities comes a shift in the importance of various aspects of her work. Having this position in an inter-organisational project places far more emphasis on communication and organisation skills. -She is spending time teaching people (TEACH skill) to onboard them into the project. -There is a lot of interaction with different stakeholders in the project like funders and user groups (USERS skill). -To oversee the project, she uses an amalgamation of both agile and traditional project-management concepts and methods which she acquires on-the-job (PM skills). -Her work so far has already been heavy on (TEAM) skills, but now also the leadership aspect comes into play. +She is spending time teaching people (\gls{TEACH} skill) to onboard them into the project. +There is a lot of interaction with different stakeholders in the project like funders and user groups (\gls{USERS} skill). +To oversee the project, she uses an amalgamation of both agile and traditional project-management concepts and methods which she acquires on-the-job (\gls{PM} skills). +Her work so far has already been heavy on (\gls{TEAM}) skills, but now also the leadership aspect comes into play. #### RSE-focused principal investigator @@ -1298,7 +1333,7 @@ from an institutionalised centre of RSE education. The certificate confirms her track record of valuable software contributions and of teaching and mentoring people, as well as her capability to enable, foster and contribute to high-quality research in a leading position. -It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a Principal Investigator for RSE-focused grant applications. It is also recognised by many prestigious universities and opens many career options that are also typical for PhDs. +It is recognised by various funding agencies, such as the DFG, and hence enables RSEs to act as a \ac{PI} for RSE-focused grant applications. It is also recognised by many prestigious universities and opens many career options that are also typical for PhDs. Kay can now write her own grant proposals to effectively fund work of moving research software projects from prototypes to infrastructure. ## Existing frameworks {#subsec:existingframeworks} @@ -1306,31 +1341,30 @@ Kay can now write her own grant proposals to effectively fund work of moving res ### HPC skills and certification As an area that generally requires a range of advanced skills, -High Performance Computing (HPC) is one field where there is ongoing work -to identify relevant sets of skills for HPC practitioners and potential paths -to develop these skills. The HPC Certification Forum [@HPCCFCompetencies] has -developed a competence standard for HPC that defines a range of skills and +\ac{HPC} is one field where there is ongoing work +to identify relevant sets of skills for \ac{HPC} practitioners and potential paths +to develop these skills. The \acrshort{HPC} Certification Forum [@HPCCFCompetencies] has +developed a competence standard for \ac{HPC} that defines a range of skills and how they are related in the context of a skill tree [@Kunkel2020a; @Kunkel2020b]. This competence standard is currently being built upon by the CASTIEL 2 [@CASTIEL2] project -in collaboration with initiatives funded by the European High Performance Computing -Joint Undertaking (EuroHPC JU) to create a framework for HPC certification [@EuroHPCJU2023]. -While this framework focuses mostly on skills specific to HPC, there are a couple of similarities +in collaboration with initiatives funded by the \ac{EuroHPC-JU} to create a framework for \ac{HPC} certification [@EuroHPCJU2023]. +While this framework focuses mostly on skills specific to \ac{HPC}, there are a couple of similarities to the framework proposed in this paper. The "SD: Software Development" skill set -is very similar to the SE skills discussed in @sec:required-generic-skills, +is very similar to the \ac{SE} skills discussed in @sec:required-generic-skills, describing a wide range of such skills. This skill set contains Programming Best Practices (SD2), Software Configuration Management (SD3), Software Quality (SD5), -Software Design and Software Architecture (SD6), and explicit mention of documentation (SD7, see our DOCBB). -Besides the Software Concepts for HPC (SD1), which mainly concerns HPC-focused RSEs, +Software Design and Software Architecture (SD6), and explicit mention of documentation (SD7, see our \gls{DOCBB}). +Besides the Software Concepts for \ac{HPC} (SD1), which mainly concerns \acrshort{HPC}-focused RSEs, most of the skills contained in the SD2-SD7 categories apply to all RSEs. A significant difference compared to the framework proposed in this paper is the absence of skills related to research or communication. Noteworthy is already now the level of detail in their skill tree which is more similar to @subsec:examplemaster. Also looking at pathways and how different skills are related, -the UNIVERSE-HPC project [@UNIVERSEHPC], funded under the UK's ExCALIBUR +the \ac{UNIVERSE-HPC} project [@UNIVERSEHPC], funded under the \acrshort{UK}'s ExCALIBUR research programme [@EXCALIBUR], is looking to understand and develop -training pathways to support the development of specialist skills in the HPC +training pathways to support the development of specialist skills in the \ac{HPC} and exascale domains. The project is gathering open source training materials to develop curricula that support the training pathways that are underpinned by high-quality training materials. @@ -1346,7 +1380,7 @@ and the ELIXIR Data Stewardship Competency Framework for Life Sciences [@Scholte are examples of grassroots efforts aiming at defining the set of skills of various bioinformatics specialities, one of them as a taxonomy [@Mulder2018]. -These frameworks eventually converged into the EMBL-EBI Competency Hub +These frameworks eventually converged into the \ac{EMBL-EBI} Competency Hub [@CompetencyHub; @Lloret-Llinares2022], where typical RSE and bioinformatician profiles at different levels of seniority can be queried @@ -1362,20 +1396,19 @@ The Mastery Rubric for Bioinformatics [@Tractenberg2019] and the ELIXIR Data Stewardship Competency Framework for Life Sciences [@Scholtens2019] are examples of KSA frameworks for bioinformatics curricula. -The Curriculum Task Force of the International Society for Computational -Biology (ISCB) curates a database of degrees and certificates +The Curriculum Task Force of the \ac{ISCB} curates a database of degrees and certificates in bioinformatics [@BioinformaticsCertification; @Mulder2018]. The database includes bachelor's and master's degree programs and specialisations, PhD programs, and certificates from graduate schools. BioExcel has research competencies that combine some of our research competencies and some notions from the communication skills. Their computing competencies roughly map to our software skills. -Here, we find competencies such as "package and distribute software", which maps to our (LIBS) competencies, -and "comply with licensing policy", which would in our framework be part of (SP) in the research competencies. +Here, we find competencies such as "package and distribute software", which maps to our (\gls{LIBS}) competencies, +and "comply with licensing policy", which would in our framework be part of (\gls{SP}) in the research competencies. In addition, they have a dedicated parallel computing competency section, -thereby shifting the emphasis of the knowledge of their computational tools towards the HPC-RSE specialisation in our framework. +thereby shifting the emphasis of the knowledge of their computational tools towards the \acrshort{HPC}-RSE specialisation in our framework. Career profiles, such as the computational chemist, bring additional domain specific knowledge; -we would classify those as a mixture of \${DOMAIN}-RSE and HPC-RSE. +we would classify those as a mixture of \${DOMAIN}-RSE and \acrshort{HPC}-RSE. It is noteworthy, however, that the BioExcel framework puts very little emphasis on communication skills, which are often involved in RSE-related tasks. [^JuniorRSE]: [https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2) diff --git a/glossary.tex b/glossary.tex new file mode 100644 index 00000000..63b90f4e --- /dev/null +++ b/glossary.tex @@ -0,0 +1,63 @@ +%%%%%%%%%%%% +% glossary % +%%%%%%%%%%%% + +% programming languages +\newglossaryentry{COBOL}{name={COBOL},description={business-oriented programming language}} +\newglossaryentry{Fortran}{name={Fortran},description={general-purpose compiled programming language}} +\newglossaryentry{Cpp}{name={C++},description={general-purpose compiled programming language}} +\newglossaryentry{C}{name={C},description={general-purpose compiled programming language}} +\newglossaryentry{R}{name={R},description={general-purpose scripting language}} +\newglossaryentry{Python}{name={Python},description={general-purpose scripting language}} + +% platforms, services, companies +\newglossaryentry{GitHub}{name={GitHub},description={online software repository hosting and collaboration platform}} +\newglossaryentry{GitLab}{name={GitLab},description={online software repository hosting and collaboration platform}} + +% software engineering +\newglossaryentry{design-pattern}{name={design pattern},description={general and reusable solution to solve a \ac{SE} problem (often a best practice, or a ``recipe'')}} +\newglossaryentry{static-analysis}{name={static analysis},description={automated procedure to detect software bugs in source code without executing the code}} + +% other +\newglossaryentry{SysOp}{name={SysOp},description={system administrator in charge of a computing infrastructure}} +\newglossaryentry{DevOps}{name={DevOps},description={set of practices and tools for code development and computing infrastructure maintenance}} + +%%%%%%%%%%%% +% acronyms % +%%%%%%%%%%%% + +% organisations and institutions +\newacronym{EMBL-EBI}{EMBL-EBI}{European Molecular Biology Laboratory - European Bioinformatics Institute} +\newacronym{EuroHPC-JU}{EuroHPC JU}{European High-Performance Computing Joint Undertaking} +\newacronym{UNESCO}{UNESCO}{United Nations Educational, Scientific and Cultural Organization} +\newacronym{MIT}{MIT}{Massachusetts Institute of Technology} +\newacronym{ISCB}{ISCB}{International Society for Computational Biology} +\newacronym{ENCCS}{ENCCS}{EuroCC National Competence Center Sweden} +\newacronym{PRACE}{PRACE}{Partnership for Advanced Computing in Europe} +\newacronym[first={German Research Foundation (DFG, Deutsche Forschungsgemeinschaft)}]{DFG}{DFG}{German Research Foundation (Deutsche Forschungsgemeinschaft)} +\newacronym[first={National Research Data Infrastructure (NFDI, Nationale Forschungsdateninfrastruktur)}]{NFDI}{NFDI}{National Research Data Infrastructure (Nationale Forschungsdateninfrastruktur)} +\newacronym{UNIVERSE-HPC}{UNIVERSE-HPC}{Understanding and Nurturing an Integrated Vision for Education in RSE and \glsentrytext{HPC}} + +% other acronyms +\newacronym[plural=IDEs,firstplural=integrated development environments (IDE)]{IDE}{IDE}{integrated development environment} +\newacronym[plural=KPIs,firstplural=key performance indicators (KPIs)]{KPI}{KPI}{key performance indicator} +\newacronym[plural=LLMs,firstplural={large language models (LLMs)}]{LLM}{LLM}{large language model} +\newacronym{HPC}{HPC}{High-Performance Computing} +\newacronym{HTC}{HTC}{High-Throughput Computing} +\newacronym{STEM}{STEM}{science, technology, engineering and mathematics} +\newacronym{SE}{SE}{software engineering} +\newacronym{FAIR}{FAIR}{Findability, Accessibility, Interoperability and Reusability} +\newacronym{IT}{IT}{information technology} +\newacronym{ML}{ML}{machine learning} +\newacronym{GPL}{GPL}{General Public License} +\newacronym{CI}{CI}{continuous integration} +\newacronym{CD}{CD}{continuous delivery} +\newacronym{CICD}{CI/CD}{continuous integration and continuous delivery} +\newacronym{RDM}{RDM}{research data management} +\newacronym{GDPR}{GDPR}{General Data Protection Regulation} +\newacronym{PI}{PI}{Principal Investigator} +\newacronym{TDD}{TDD}{test-driven development} +\newacronym{HIFIS}{HIFIS}{Helmholtz Federated IT Services} +\newacronym{DMP}{DMP}{data management plan} +\newacronym{EU}{EU}{European Union} +\newacronym{UK}{UK}{United Kingdom} From e1b9a1d93041e98fd00277227c8b5fdd45988246 Mon Sep 17 00:00:00 2001 From: Toby Hodges Date: Sat, 2 Dec 2023 21:27:59 +0100 Subject: [PATCH 083/108] Link to pre-print from README (#216) --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 6936ea12..832e70b8 100644 --- a/README.md +++ b/README.md @@ -73,3 +73,8 @@ All people that have participated in discussions with us, e.g. at deRSE23 or undeRSE23 are at least eligible for contributor status. If you have participated regularly at our weekly working meetings you are eligible for authorship. + +The first paper, +_Foundational Competencies and Responsibilities of a Research Software Engineer_, +is now available as a pre-print: https://arxiv.org/abs/2311.11457 +Feedback is welcome as an issue on this repository. From 6e41c6c86211c2388ec2dfbd1925610f64cfbfda Mon Sep 17 00:00:00 2001 From: ljgarcia Date: Sat, 16 Dec 2023 14:53:53 +0100 Subject: [PATCH 084/108] Add info to sections ML-RSEs and other important tasks (#214) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add info to ML-RSEs and other important tasks * use our acronym symbols for ML * happify spellchecker * remove duplicated parts Co-authored-by: Jeremy Cohen Remove superfluous BibTeX fields, fix author names, add semantic line breaks, add reference on FAIRification of research data. * move some of the metadata links to survey document; add using metadata actively * update terms as suggested by @jpthiele --------- Co-authored-by: Florian Goth Co-authored-by: Magnus Hagdorn Co-authored-by: Jeremy Cohen Co-authored-by: Jean-Noël Grad Co-authored-by: Florian Goth --- .github/spellignore.txt | 3 ++ bibliography.bib | 74 ++++++++++++++++++++++++++++++++++ competencies.md | 20 +++++---- institutionalised_education.md | 57 -------------------------- survey.md | 7 ++++ 5 files changed, 97 insertions(+), 64 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index 888464a3..a176babc 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -21,6 +21,7 @@ CarpentriesSoftware Center CHAOSS codebase +CodeMeta CodeRefinery comp-lvls-se Coursera @@ -30,6 +31,7 @@ cybersecurity DALIA DaLiJe de +deRSE DFG DigComp DigCompEdu @@ -108,6 +110,7 @@ MOOCs MPI multicore multithreading +neuro-symbolic NFDI NFDI4Ing numpy diff --git a/bibliography.bib b/bibliography.bib index e70223c2..014fdf2a 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -498,6 +498,18 @@ @Online{BioinformaticsCertification urldate = {2023-07-20}, } +@Article{Bird2016, + title = {Using Metadata Actively}, + volume = {11}, + rights = {All rights reserved}, + issn = {1746-8256}, + doi = {10.2218/ijdc.v11i1.412}, + number = {1}, + journaltitle = {International Journal of Digital Curation}, + author = {Bird, Colin and Coles, Simon and Garrelfs, Iris and Griffin, Tom and Hagdorn, Magnus and Klyne, Graham and Mineter, Mike and Willoughby, Cerys}, + date = {2016}, +} + @Online{BluefieldIBMBadges, author = {{Bluefield State}}, title = {{B}luefield State College Now Offering {IBM} Badge Certification}, @@ -1905,6 +1917,19 @@ @Article{Gey2019 doi = {10.18452/21407}, } +@Article{Ghiringhelli2023, + author = {Ghiringhelli, Luca M. and Baldauf, Carsten and Bereau, Tristan and Brockhauser, Sandor and Carbogno, Christian and Chamanara, Javad and Cozzini, Stefano and Curtarolo, Stefano and Draxl, Claudia and Dwaraknath, Shyam and Fekete, {\'A}d{\'a}m and Kermode, James and Koch, Christoph T. and K{\"u}hbach, Markus and Ladines, Alvin Noe and Lambrix, Patrick and Himmer, Maja-Olivia and Levchenko, Sergey V. and Oliveira, Micael and Michalchuk, Adam and Miller, Ronald E. and Onat, Berk and Pavone, Pasquale and Pizzi, Giovanni and Regler, Benjamin and Rignanese, Gian-Marco and Schaarschmidt, J{\"o}rg and Scheidgen, Markus and Schneidewind, Astrid and Sheveleva, Tatyana and Su, Chuanxun and Usvyat, Denis and Valsson, Omar and W{\"o}ll, Christof and Scheffler, Matthias}, + title = {Shared metadata for data-centric materials science}, + journal = {Scientific Data}, + year = {2023}, + volume = {10}, + number = {1}, + month = sep, + issn = {2052--4463}, + doi = {10.1038/s41597-023-02501-8}, + publisher = {Springer Science and Business Media LLC}, +} + @Misc{GitHubCHAOSS, author = {Cheatham, Demetris}, title = {Announcing the {A}ll {I}n {CHAOSS} {DEI} {B}adging pilot initiative}, @@ -5481,3 +5506,52 @@ @TechReport{Zignani2020 publisher = {ALL DIGITAL AISBL}, } +@misc{jones_codemeta_2016, + title = {{CodeMeta}: an exchange schema for software metadata. {KNB} {Data} {Repository}}, + urldate = {2020-09-05}, + publisher = {KNB Data Repository}, + author = {Jones, Matthew B and Boettiger, Carl and Mayes, Abby Cabunoc and Arfon Smith and Slaughter, Peter and Niemeyer, Kyle and Gil, Yolanda and Fenner, Martin and Nowak, Krzysztof and Hahnel, Mark and Coy, Luke and Allen, Alice and Crosas, Merc{\`e} and Sands, Ashley and Hong, Neil Chue and Cruse, Patricia and Katz, Dan and Goble, Carole}, + year = {2016}, + doi = {10.5063/SCHEMA/CODEMETA-1.0}, +} + +@misc{alves_elixir_2021, + title = {{ELIXIR} {Software} {Management} {Plan} for {Life} {Sciences}}, + doi = {10.37044/osf.io/k8znb}, + urldate = {2022-06-23}, + publisher = {BioHackrXiv}, + author = {Alves, Renato and Bampalikis, Dimitrios and Castro, Leyla Jael and Fern{\'a}ndez, Jos{\'e} M. and Harrow, Jennifer and Kuzak, Mateusz and Mart{\'i}n del Pico, Eva and Psomopoulos, Fotis and Via, Allegra}, + month = oct, + year = {2021}, +} + +@techreport{martinez_ortiz_practical_2022, + title = {Practical guide to {Software} {Management} {Plans}}, + urldate = {2023-04-06}, + institution = {Zenodo}, + author = {Martinez-Ortiz, Carlos and Martinez Lavanchy, Paula and Sesink, Laurents and Olivier, Brett G. and Meakin, James and de Jong, Maaike and Cruz, Maria}, + month = oct, + year = {2022}, + doi = {10.5281/zenodo.7248877}, +} + +@techreport{castro_research_sw_metadata_2023, + type = {Charta}, + title = {``{Research} {Software} {Metadata}'' - {Working} {Group} {Charter} ({NFDI} section-metadata)}, + language = {en}, + urldate = {2023-11-05}, + author = {Castro, Leyla Jael and Ferenz, Stephan and Fuhrmans, Marc and G{\"o}pfert, Jan and Iglezakis, Dorothea and Karras, Oliver and Struck, Alexander}, + month = oct, + year = {2023}, + doi = {10.5281/zenodo.10036379}, +} + +@inproceedings{giraldo_metadata_2023, + title = {A metadata schema for machine-actionable {Software} {Management} {Plans}}, + doi = {10.4126/FRL01-006444988}, + language = {en}, + urldate = {2023-06-19}, + publisher = {PUBLISSO-FRL}, + author = {Giraldo, Olga and Geist, Lukas and Qui{\~n}ones, Nelson and Solanki, Dhwani and Alves, Renato and Bampalikis, Dimitrios and Fern{\'a}ndez Gonz{\'a}lez, Jos{\'e} M. and Martin Del Pico, Eva and Psomopoulos, Fotis E. and Via, Allegra and Rebholz-Schuhmann, Dietrich and Castro, Leyla Jael}, + year = {2023}, +} diff --git a/competencies.md b/competencies.md index 73483070..a59a793a 100644 --- a/competencies.md +++ b/competencies.md @@ -96,7 +96,7 @@ Computers and software have played a key role in the research life-cycle for man decades, while they are now vital elements of the research process across almost all domains. They enable researchers to collect and process ever-increasing amounts of data, simulate a wide range of physical phenomena across previously unexplored scales of the universe, -and discover previously inconceivably complex structures in nature and societies via machine learning. +and discover previously inconceivably complex structures in nature and societies via \ac{ML}. This prevalence of computations in research means that basic software skills are now required by researchers at all career levels, and in fields significantly beyond the previously expected. @@ -599,6 +599,10 @@ Beyond that, we feel that today other important tasks of RSEs are @Schlauch2018b classify applications based on their scope and criticality and provide \ac{SE} recommendations. The RSE needs to be able to identify the application class they are dealing with and apply the respective RSE practices. - Enforcing reproducibility. Projects like ReproHack [@ReproHack] can greatly help in fostering that competency. +- Understanding metadata for research and research software. + There are ongoing efforts on metadata for research software such as CodeMeta [@jones_codemeta_2016] + and the \ac{NFDI} working group [@castro_research_sw_metadata_2023] on the subject. + Metadata can also be used actively during and within a research project to inform the decision making processes [@Bird2016]. # How much do different people need to know? {#sec:how-much-to-know} @@ -1049,7 +1053,7 @@ New areas of expertise This RSE is interested in \glspl{SysOp} and system administration and sets up \ac{IT} infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and on the other hand knowledge about setup and configuration of particular server software, -e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters machine learning. +e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters for \ac{ML}. As an interface between the researchers and the infrastructure, they take care of user management, access permissions, and configuration of required services. #### Maintenance RSEs @@ -1090,11 +1094,13 @@ compiled software.--> #### ML-RSE The development of research software based on \ac{ML} requires specialised theoretical background and experienced handling of appropriate software in order to produce meaningful results. -This involves knowledge about data analysis and feature engineering, metrics that are involved in ML, ML algorithm selection and cross validation, and knowledge in mathematical optimisation methods and statistics. -ML-RSEs analyse and check the suitability of an algorithm if it fulfils the needs of a certain task and they play a main role in deciding and selecting machine learning libraries for a given task. -The increasing usage of ML in numerous scientific areas with social impact involves an emphasised awareness and consideration of possible manipulative or discriminatory influences. +This involves knowledge about data analysis and feature engineering, metrics that are involved in \ac{ML}, \ac{ML} algorithm selection and cross validation, and knowledge in mathematical optimisation methods and statistics. +Here, we use \ac{ML} in a broad sense of machine-based learning including deep learning, reinforcement learning, neuro-symbolic learning and similar. + +ML-RSEs analyse and check the suitability of an algorithm if it fulfils the needs of a certain task and they play a main role in deciding and selecting \ac{ML} libraries for a given task. +The increasing usage of \ac{ML} in numerous scientific areas with social impact involves an emphasised awareness and consideration of possible influences and biases. At the intersection of data science [@SSIDataScience] and data-focused RSEs, -the complex way of solving problems utilising machine learning calls for this separate specialisation. +the complex way of solving problems utilising \ac{ML} calls for this separate specialisation. #### Web-development RSE This RSE is skilled in web applications, front- and/or backend, and/or building @@ -1293,7 +1299,7 @@ which makes her happier than the subdued sense of achievement from having a rese For her, coding and sharing knowledge in the form of software is of similar importance to writing a paper focused mostly on the obtained results. The domain-agnostic RSE Master programme consists of a core of RSE topics with various electives for specialisation, some of them domain-specific (e.g., chemistry) or topic-specific (e.g., cloud computing for research). -Kay chooses digital archaeology and develops a pipeline for reconstructing 3D models from ground penetrating radar data, to simplify the process for archaeologists (reproducibility, big data, machine learning). +Kay chooses digital archaeology and develops a pipeline for reconstructing 3D models from ground penetrating radar data, to simplify the process for archaeologists (reproducibility, big data, \ac{ML}). The project management skills that are being taught as part of the core RSE curriculum really help her to not get lost in this project. Apart from working with the researchers in her archaeology group, she has to work with members of the central RSE department to help her with the pipelines. diff --git a/institutionalised_education.md b/institutionalised_education.md index c1884eef..cd96fb8e 100644 --- a/institutionalised_education.md +++ b/institutionalised_education.md @@ -393,63 +393,6 @@ FIXME: The career path discussion. # Appendix -## An applied example curriculum -## An example of a possible career path -- We can follow Kim, who has been the protagonist of the original deRSE Paper. - -## HPC skills and certification - -As an area that generally requires a range of advanced skills, -High Performance Computing (HPC) is one field where there is ongoing work -to identify relevant sets of skills for HPC practitioners and potential paths -to develop these skills. The HPC Certification Forum [@HPCCFCompetencies] has -developed a competence standard for HPC that defines a range of skills and -how they are related in the context of a skill tree [@Kunkel2020a; @Kunkel2020b]. -This competence standard is currently being built upon by the CASTIEL 2 [@CASTIEL2] project -in collaboration with initiatives funded by the European High Performance Computing -Joint Undertaking (EuroHPC JU) to create a framework for HPC certification [@EuroHPCJU2023]. - -Also looking at pathways and how different skills are related, -the UNIVERSE-HPC project [@UNIVERSEHPC], funded under the UK's ExCALIBUR -research programme [@EXCALIBUR], is looking to understand and develop -training pathways to support the development of specialist skills in the HPC -and exascale domains. The project is gathering open source training materials -to develop curricula that support the training pathways that are underpinned -by high-quality training materials. - -## Bioinformatics skills and certification - -Bioinformatics is another field that actively works on developing skill trees. -The Bioinformatics Core Competencies [@Mulder2018; @Welch2016; @Welch2014], -the BioExcel competency framework [@Matser2016], -the PerMedCoE competency framework [@Lloret-Llinares2021], -the Research Data Management and Data Stewardship competence framework [@Demchenko2021] -and the ELIXIR Data Stewardship Competency Framework for Life Sciences [@Scholtens2019] -are examples of grassroots efforts aiming at defining the set of skills -of various bioinformatics specialities, -one of them as a taxonomy [@Mulder2018]. -These frameworks eventually converged into the EMBL-EBI Competency Hub -[@CompetencyHub; @Lloret-Llinares2022], -where typical RSE and bioinformatician profiles at different levels -of seniority can be queried -(e.g. [Junior RSE](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10115/alex-2), -[Senior Computational Chemist](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profile/view/10121/kim-0)) -and compared against one another -(e.g. [Junior vs. Senior RSE](https://competency.ebi.ac.uk/framework/bioexcel/3.0/profiles/compare/10115/10117)). - -Competencies can be divided into more fine-grained building blocks: -knowledge, skills and abilities (KSAs). They can be organised in a taxonomy, -and are also transferable, i.e. a KSA can be a pre-requisite to multiple competencies. -The Mastery Rubric for Bioinformatics [@Tractenberg2019] and the ELIXIR -Data Stewardship Competency Framework for Life Sciences [@Scholtens2019] -are examples of KSA frameworks for bioinformatics curricula. - -The Curriculum Task Force of the International Society for Computational -Biology (ISCB) curates a database of degrees and certificates -in bioinformatics [@BioinformaticsCertification; @Mulder2018]. -The database includes Bachelor and Master's degree programs and specialisations, -PhD programs, and certificates from graduate schools. - ## Digital competencies and certification The European Commission Joint Research Center developed the "DigComp" framework diff --git a/survey.md b/survey.md index 72778ca2..7039f411 100644 --- a/survey.md +++ b/survey.md @@ -297,6 +297,13 @@ FIXME: - survey of 8 OER repositories with non-standardised metadata [@SimaodeDeus2020] - OER certification proposal in Austria [@Schon2023] - databases: see Appendix section [Directories of resources] +- from competencies document: Other efforts focus on Software Management Plans (e.g., [@alves_elixir_2021; + @martinez_ortiz_practical_2022]) which could be helpful for RSEs at early stages + (i.e., with not much experience of project management). They give quick hints on what to look for regarding basic + management for research software (including information on e.g., licenses, releases, publication, citation) + together with some ongoing work on corresponding metadata [@giraldo_metadata_2023]. +- [Bioschemas Computational Tool](https://bioschemas.org/profiles/ComputationalTool/) + \appendix From 2fbd0b11ab8d3c15ba4056dea2f56a520fb00763 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 07:14:38 +0000 Subject: [PATCH 085/108] Bump actions/download-artifact from 3 to 4 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 87503899..ccc9b703 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -34,7 +34,7 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: path: github_artifacts - name: move From 7a4e39790b2a4b577789b45782270b1725d5b3c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 07:14:41 +0000 Subject: [PATCH 086/108] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 87503899..478d16ce 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -23,7 +23,7 @@ jobs: - name: move run: mkdir -p github_artifacts && mv ${{ env.DIR }}/*.pdf ./github_artifacts/ - name: Upload pdf as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: PDF files path: ./github_artifacts From e1cf5f7b15a6e72fda531d9905cfe5b5c59d53b6 Mon Sep 17 00:00:00 2001 From: Stephan Druskat Date: Mon, 18 Dec 2023 16:50:15 +0100 Subject: [PATCH 087/108] Embed software metadata, publication and citation (#221) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add info to ML-RSEs and other important tasks * use our acronym symbols for ML Remove superfluous BibTeX fields, fix author names, add semantic line breaks, add reference on FAIRification of research data. * Fix wording in SP skills section - "second" is incorrect, as this section deals with at least A and R. - If "second" was meant to refer to the implicit "first" in the paragraph above, this is misleading for cross-reading as it has no explicit counterpart. * Update CodeMeta reference to CodeMeta 2.0 * Add software publication and metadata to skills * Add software citation skills to software re-use skill * Describe extension of research software lifecycle * Add citability as a criterion for open science RSEs * Extend the metadata section * Add myself to contributors file * Add some metadata work to Kay's journey * move some of the metadata links to survey document; add using metadata actively * update terms as suggested by @jpthiele --------- Co-authored-by: ljgarcia Co-authored-by: Florian Goth Co-authored-by: Magnus Hagdorn Co-authored-by: Jeremy Cohen Co-authored-by: Jean-Noël Grad Co-authored-by: Florian Goth Co-authored-by: CaptainSifff --- bibliography.bib | 46 +++++++++++++++++++++++++++++++++++++++------- competencies.md | 39 +++++++++++++++++++++++++++++++++------ contributors.yml | 10 ++++++++++ glossary.tex | 1 + 4 files changed, 83 insertions(+), 13 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index 014fdf2a..0bf5aed2 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -5506,15 +5506,15 @@ @TechReport{Zignani2020 publisher = {ALL DIGITAL AISBL}, } -@misc{jones_codemeta_2016, - title = {{CodeMeta}: an exchange schema for software metadata. {KNB} {Data} {Repository}}, - urldate = {2020-09-05}, - publisher = {KNB Data Repository}, - author = {Jones, Matthew B and Boettiger, Carl and Mayes, Abby Cabunoc and Arfon Smith and Slaughter, Peter and Niemeyer, Kyle and Gil, Yolanda and Fenner, Martin and Nowak, Krzysztof and Hahnel, Mark and Coy, Luke and Allen, Alice and Crosas, Merc{\`e} and Sands, Ashley and Hong, Neil Chue and Cruse, Patricia and Katz, Dan and Goble, Carole}, - year = {2016}, - doi = {10.5063/SCHEMA/CODEMETA-1.0}, +@article{jones_codemeta_2017, + title = {{{CodeMeta}}: An Exchange Schema for Software Metadata}, + shorttitle = {{{CodeMeta}}}, + author = {Jones, Matthew B and Boettiger, Carl and Mayes, Abby Cabunoc and Arfon Smith and Slaughter, Peter and Niemeyer, Kyle and Gil, Yolanda and Fenner, Martin and Nowak, Krzysztof and Hahnel, Mark and Coy, Luke and Allen, Alice and Crosas, Merc{\`e} and Sands, Ashley and Hong, Neil Chue and Cruse, Patricia and Katz, Dan and Goble, Carole}, + year = {2017}, + doi = {10.5063/schema/codemeta-2.0} } + @misc{alves_elixir_2021, title = {{ELIXIR} {Software} {Management} {Plan} for {Life} {Sciences}}, doi = {10.37044/osf.io/k8znb}, @@ -5555,3 +5555,35 @@ @inproceedings{giraldo_metadata_2023 author = {Giraldo, Olga and Geist, Lukas and Qui{\~n}ones, Nelson and Solanki, Dhwani and Alves, Renato and Bampalikis, Dimitrios and Fern{\'a}ndez Gonz{\'a}lez, Jos{\'e} M. and Martin Del Pico, Eva and Psomopoulos, Fotis E. and Via, Allegra and Rebholz-Schuhmann, Dietrich and Castro, Leyla Jael}, year = {2023}, } + +@article{druskat_hermes_2022, + title = {Software Publications with Rich Metadata: State of the Art, Automated Workflows and {{HERMES}} Concept}, + shorttitle = {Software Publications with Rich Metadata}, + author = {Druskat, Stephan and Bertuch, Oliver and Juckeland, Guido and Knodel, Oliver and Schlauch, Tobias}, + year = {2022}, + month = jan, + journal = {arXiv}, + doi = {10.48550/arXiv.2201.09015}, +} + +@article{druskat_cff_2021, + title = {Citation {{File Format}}}, + author = {Druskat, Stephan and Spaaks, Jurriaan H. and Chue Hong, Neil and Haines, Robert and Baker, James and Bliven, Spencer and Willighagen, Egon and {P\'erez-Su\'arez, David} and Konovalov, Olexandr}, + year = {2021}, + month = aug, + journal = {{Zenodo}}, + doi = {10.5281/zenodo.1003149}, + copyright = {Creative Commons Attribution 4.0 International, Open Access}, +} + +@article{turing_way_2022, + title = {The {{Turing Way}}: {{A}} Handbook for Reproducible, Ethical and Collaborative Research}, + shorttitle = {The {{Turing Way}}}, + author = {{The Turing Way Community}}, + year = {2022}, + month = jul, + doi = {10.5281/zenodo.3233853}, + publisher = {{Zenodo}}, + urldate = {2023-06-07}, + keywords = {collaboration,community,data science,ethics,handbook,reproducibility,research practices} +} diff --git a/competencies.md b/competencies.md index a59a793a..be78e8f7 100644 --- a/competencies.md +++ b/competencies.md @@ -415,8 +415,10 @@ Initial development generally involves a creative process where requirements are followed by a formulation of a plan to fulfil them that is finally implemented. This is then followed by testing that things work as expected and that they continue to do so into the future. Often the development is iterated. -We emphasise that the life-cycle is not complete here but also includes periods of maintaining a software -and also withdrawing software from its original use. +We emphasise that the life-cycle as described here is not complete, +as it includes periods of software maintenance and software retirement. +Additionally, the research software life-cycle extends the traditional life-cycle +with a \gls{software-publication} stage. The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. @@ -471,16 +473,22 @@ existing work instead. To (re-) use software, researchers have to be able to find it and then easily evaluate if the software actually suits their needs. Apart from functionality, the integration with other software, expected sustainability, and extensibility also have to be part of this evaluation. +Additional software citation and metadata skills are necessary to provide evidence +of software re-use in the scientific record. \skillsection{SP} -The second part of \ac{FAIR} software is concerned with publishing new and derived works +Another part of \ac{FAIR} software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. RSEs need to have a basic understanding of common software licence types, such as "proprietary", "copyleft", and "permissive", the compatibility of different common licences and the ramifications for re-using and composing programs. -Finally, RSEs will need to properly execute the technicalities of software publishing, +Beyond that, RSEs will need to properly execute the technicalities of software publishing, such as applying licences, honouring copyright statements and crediting contributors. +RSEs also need to understand and apply principles and good practices of software publication. +This includes the collection, curation and provision of relevant software publication metadata +both for software citation, and +for generic and domain-specific software description [@druskat_hermes_2022]. \skillsection{DOMREP} @@ -491,6 +499,9 @@ home domain, with which it needs to be able to interact. The RSE needs to be aware of any domain specific software repositories, data sets and catalogues. The RSE also needs to be aware of how their software can interact with the existing domain-specific data repositories. +Finally, they need to be able to assess and use software repositories - +domain-specific or generic - +for publishing software with the relevant metadata. ## Communication skills @@ -600,8 +611,16 @@ Beyond that, we feel that today other important tasks of RSEs are The RSE needs to be able to identify the application class they are dealing with and apply the respective RSE practices. - Enforcing reproducibility. Projects like ReproHack [@ReproHack] can greatly help in fostering that competency. - Understanding metadata for research and research software. - There are ongoing efforts on metadata for research software such as CodeMeta [@jones_codemeta_2016] + There are ongoing efforts on metadata for research software such as CodeMeta [@jones_codemeta_2017] and the \ac{NFDI} working group [@castro_research_sw_metadata_2023] on the subject. + These are complemented by the development of new tools and methods + for providing and working with software metadata, such as + the Citation File Format project [@druskat_cff_2021] and HERMES [@druskat_hermes_2022]. + Other efforts focus on Software Management Plans (e.g., [@alves_elixir_2021; @martinez_ortiz_practical_2022]) + which could be helpful for RSEs at early stages (i.e., with not much experience of project management). + They give quick hints on what to look for regarding basic management for research + software (including information on e.g., licenses, releases, publication, citation) + together with some ongoing work on corresponding metadata [@giraldo_metadata_2023]. Metadata can also be used actively during and within a research project to inform the decision making processes [@Bird2016]. # How much do different people need to know? {#sec:how-much-to-know} @@ -997,6 +1016,7 @@ as exemplified by the demand of an increasing amount of research funding agencie Hence, an open science RSE is required to have a deeper knowledge in (\gls{RC}) and how to distribute software publicly (\gls{SRU}, \gls{SP}). Open Science RSEs can help researchers navigate the technical questions that come up when practising Open Science, such as "How do I make my code presentable?", +"How do I make my code citable?", "What do I need to do to make my software \ac{FAIR}?", or "How do I sustainably work with an (international) team on a large code base?". Like the Data-focused RSE, they have a deep understanding of \ac{RDM} topics. @@ -1308,7 +1328,14 @@ Towards the end of the programme, she visits her first RSE conference where she that so far have been abstract in her master's degree. The exposure to the wider RSE community inspires her to invest additional time into her thesis to publish -her software project under a licence approved by the Open Source Initiative and write an accompanying article in the open source journal JOSS[@JOSS]. +her software project under a licence approved by the Open Source Initiative and write an accompanying article in the open source journal JOSS [@JOSS]. +Inspired by the discussion with reviewers of her JOSS paper, +and the citation metadata file that JOSS created automatically for her when her paper is published, +Kay starts to think more about making her software FAIR. +She reads up on the topic in a guide suggested to her, the Turing Way [@turing_way_2022], +and creates metadata files that provide the citation metadata and general description for her software. +She adds the files to her source code repository, +and also adds an automated \gls{CI}/\gls{CD} pipeline that updates metadata and creates a new publication record in the Zenodo repository for each new release. Kay has now completed the RSE programme and has reached Junior RSE level. #### Junior RSE diff --git a/contributors.yml b/contributors.yml index b1afc123..24f7bcaf 100644 --- a/contributors.yml +++ b/contributors.yml @@ -213,6 +213,16 @@ authors: orcid: 0000-0002-9935-4428 email: g.juckeland@hzdr.de + - author: "Stephan Druskat" + firstName: Stephan + lastName: Druskat + initials: SD + affiliations: + - German Aerospace Center (DLR), Institute for Software Technology, Berlin, Germany + - Humboldt-Universität zu Berlin, Department of Computer Science, Berlin, Germany + orcid: 0000-0003-4925-7248 + email: stephan.druskat@dlr.de + # please use the following author template (all fields are optional): # - author: "F. D. C. Willard, Jr." diff --git a/glossary.tex b/glossary.tex index 63b90f4e..5ecedfa5 100644 --- a/glossary.tex +++ b/glossary.tex @@ -21,6 +21,7 @@ % other \newglossaryentry{SysOp}{name={SysOp},description={system administrator in charge of a computing infrastructure}} \newglossaryentry{DevOps}{name={DevOps},description={set of practices and tools for code development and computing infrastructure maintenance}} +\newglossaryentry{software-publication}{name={software publication},description={the practice of long-term archiving software artifacts with software metadata under a permanent identifier}} %%%%%%%%%%%% % acronyms % From 0e0d25968c1125a89bfc7b3ed034e8b823fe1452 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Mon, 18 Dec 2023 17:00:19 +0100 Subject: [PATCH 088/108] happify spell-checker --- .github/spellignore.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index a176babc..e7949b6a 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -20,6 +20,7 @@ CarpentriesLibrary CarpentriesSoftware Center CHAOSS +citable codebase CodeMeta CodeRefinery @@ -27,6 +28,7 @@ comp-lvls-se Coursera CRSP CSE +curation cybersecurity DALIA DaLiJe From c483f6b4315e0097817d97976791ecf25feb02ea Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Fri, 19 Jan 2024 17:54:17 +0100 Subject: [PATCH 089/108] Update README.md Add link to meeting notes. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 832e70b8..0b02169a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ This paper is intended as a collaborative effort and we are looking for input fr **We use British English** +**We have regular meetings, out meeting notes can be found here: https://pad.gwdg.de/s/pVBQ3Sh7Z# ** + - competencies.md will be published on arxiv. LaTeX tags/code is fine in here. - survey.md will move to a website, hence this file has to be Markdown - We utilise tags to categorise issues and PRs to the respective paper. From 7afc9f060396f573caf41f7b1e5c337466025df5 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Tue, 23 Jan 2024 16:29:49 +0100 Subject: [PATCH 090/108] Update README.md add link to mailing list --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b02169a..a2145319 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,9 @@ This paper is intended as a collaborative effort and we are looking for input fr **We use British English** -**We have regular meetings, out meeting notes can be found here: https://pad.gwdg.de/s/pVBQ3Sh7Z# ** +**We have regular meetings, out meeting notes can be found here: https://pad.gwdg.de/s/pVBQ3Sh7Z#** + +**If you want to get notified of our calls, and participate in the discussion by E-Mail, we have a Mailing-List: https://lists.uni-wuerzburg.de/mailman/listinfo/teachingrse** - competencies.md will be published on arxiv. LaTeX tags/code is fine in here. - survey.md will move to a website, hence this file has to be Markdown From c0dbeb1a0f5a39f430f6cf6629cbb06a95745213 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 26 Jan 2024 15:50:40 +0100 Subject: [PATCH 091/108] change icons --- competencies.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/competencies.md b/competencies.md index aec0a261..dc4ce361 100644 --- a/competencies.md +++ b/competencies.md @@ -35,11 +35,11 @@ header-includes: - \newcommand*{\faicon}[1]{{\FA \symbol{#1}}} - \newcommand*{\DOCBB}{\faicon{"F0E8}\nobreakspace{}DOCBB} - \newcommand*{\LIBS}{\faicon{"E4C7}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\faicon{"E4E2}\nobreakspace{}SWLC} + - \newcommand*{\SWLC}{\faicon{"E4BB}\nobreakspace{}SWLC} - \newcommand*{\SWREPOS}{\faicon{"E13C}\nobreakspace{}SWREPOS} - \newcommand*{\MOD}{\faicon{"F5FC}\nobreakspace{}MOD} - - \newcommand*{\NEW}{\faicon{"E54D}\nobreakspace{}NEW} - - \newcommand*{\RC}{\faicon{"E4BB}\nobreakspace{}RC} + - \newcommand*{\NEW}{\faicon{"F0EB}\nobreakspace{}NEW} + - \newcommand*{\RC}{\faicon{"F19D}\nobreakspace{}RC} - \newcommand*{\SRU}{\faicon{"F1B8}\nobreakspace{}SRU} - \newcommand*{\SP}{\faicon{"F1EA}\nobreakspace{}SP} - \newcommand*{\DOMREP}{\faicon{"F07B}\nobreakspace{}DOMREP} From 171d0fa302b1b7854337e2376676019812fc14d6 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 26 Jan 2024 18:15:56 +0100 Subject: [PATCH 092/108] change latex engine --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7f7ca2c2..c4477db5 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ all: $(objects) makeglossaries "${@:.pdf=}"; \ fi latexmk \ - -pdflatex -bibtex -halt-on-error \ + -xelatex -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" @mv "build/${@}" "${@}" From b6e30bd3b3f559bbaec6f00b57f094ebcfa141c2 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 26 Jan 2024 18:39:20 +0100 Subject: [PATCH 093/108] take 2 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c4477db5..eb7d1956 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ all: $(objects) makeglossaries "${@:.pdf=}"; \ fi latexmk \ - -xelatex -bibtex -halt-on-error \ + -pdfxe -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" @mv "build/${@}" "${@}" From 1a26edb5e5b55fab8c9204d1ac3fb8111633737b Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 9 Feb 2024 12:10:58 +0100 Subject: [PATCH 094/108] use svgs --- Makefile | 2 +- competencies.md | 37 ++++++++++++------------ fonts/Font Awesome 6 Free-Solid-900.otf | Bin 1031688 -> 0 bytes fonts/arrows-spin.svg | 1 + fonts/boxes-packing.svg | 1 + fonts/chalkboard-user.svg | 1 + fonts/clipboard-list.svg | 1 + fonts/code-pull-request.svg | 1 + fonts/comments.svg | 1 + fonts/folder.svg | 1 + fonts/graduation-cap.svg | 1 + fonts/laptop-code.svg | 1 + fonts/lightbulb.svg | 1 + fonts/newspaper.svg | 1 + fonts/recycle.svg | 1 + fonts/sitemap.svg | 1 + fonts/user-group.svg | 1 + 17 files changed, 33 insertions(+), 20 deletions(-) delete mode 100644 fonts/Font Awesome 6 Free-Solid-900.otf create mode 100644 fonts/arrows-spin.svg create mode 100644 fonts/boxes-packing.svg create mode 100644 fonts/chalkboard-user.svg create mode 100644 fonts/clipboard-list.svg create mode 100644 fonts/code-pull-request.svg create mode 100644 fonts/comments.svg create mode 100644 fonts/folder.svg create mode 100644 fonts/graduation-cap.svg create mode 100644 fonts/laptop-code.svg create mode 100644 fonts/lightbulb.svg create mode 100644 fonts/newspaper.svg create mode 100644 fonts/recycle.svg create mode 100644 fonts/sitemap.svg create mode 100644 fonts/user-group.svg diff --git a/Makefile b/Makefile index eb7d1956..7f7ca2c2 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ all: $(objects) makeglossaries "${@:.pdf=}"; \ fi latexmk \ - -pdfxe -bibtex -halt-on-error \ + -pdflatex -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" @mv "build/${@}" "${@}" diff --git a/competencies.md b/competencies.md index f7ea5d9f..cc49f5b9 100644 --- a/competencies.md +++ b/competencies.md @@ -35,24 +35,23 @@ header-includes: - \usepackage{multirow} - \usepackage{array} - \usepackage{longtable} + - \usepackage{svg} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - - '\newfontfamily\FA[Path=../fonts/, Extension=.otf]{Font Awesome 6 Free-Solid-900}' - - \newcommand*{\faicon}[1]{{\FA \symbol{#1}}} - - \newcommand*{\DOCBB}{\faicon{"F0E8}\nobreakspace{}DOCBB} - - \newcommand*{\LIBS}{\faicon{"E4C7}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\faicon{"E4BB}\nobreakspace{}SWLC} - - \newcommand*{\SWREPOS}{\faicon{"E13C}\nobreakspace{}SWREPOS} - - \newcommand*{\MOD}{\faicon{"F5FC}\nobreakspace{}MOD} - - \newcommand*{\NEW}{\faicon{"F0EB}\nobreakspace{}NEW} - - \newcommand*{\RC}{\faicon{"F19D}\nobreakspace{}RC} - - \newcommand*{\SRU}{\faicon{"F1B8}\nobreakspace{}SRU} - - \newcommand*{\SP}{\faicon{"F1EA}\nobreakspace{}SP} - - \newcommand*{\DOMREP}{\faicon{"F07B}\nobreakspace{}DOMREP} - - \newcommand*{\TEAM}{\faicon{"F500}\nobreakspace{}TEAM} - - \newcommand*{\TEACH}{\faicon{"F51C}\nobreakspace{}TEACH} - - \newcommand*{\PM}{\faicon{"F46D}\nobreakspace{}PM} - - \newcommand*{\USERS}{\faicon{"F086}\nobreakspace{}USERS} + - \newcommand*{\DOCBB}{\includesvg{fonts/sitemap}\nobreakspace{}DOCBB} + - \newcommand*{\LIBS}{\includesvg{fonts/boxes-packing}\nobreakspace{}LIBS} + - \newcommand*{\SWLC}{\includesvg{fonts/arrows-spin}\nobreakspace{}SWLC} + - \newcommand*{\SWREPOS}{\includesvg{fonts/code-pull-request}\nobreakspace{}SWREPOS} + - \newcommand*{\MOD}{\includesvg{fonts/laptop-code}\nobreakspace{}MOD} + - \newcommand*{\NEW}{\includesvg{fonts/lightbulb}\nobreakspace{}NEW} + - \newcommand*{\RC}{\includesvg{fonts/graduation-cap}\nobreakspace{}RC} + - \newcommand*{\SRU}{\includesvg{fonts/recycle}\nobreakspace{}SRU} + - \newcommand*{\SP}{\includesvg{fonts/newspaper}\nobreakspace{}SP} + - \newcommand*{\DOMREP}{\includesvg{fonts/folder}\nobreakspace{}DOMREP} + - \newcommand*{\TEAM}{\includesvg{fonts/user-group}\nobreakspace{}TEAM} + - \newcommand*{\TEACH}{\includesvg{fonts/chalkboard-user}\nobreakspace{}TEACH} + - \newcommand*{\PM}{\includesvg{fonts/clipboard-list}\nobreakspace{}PM} + - \newcommand*{\USERS}{\includesvg{fonts/comments}\nobreakspace{}USERS} - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} - \makeglossaries @@ -431,7 +430,7 @@ Initial development generally involves a creative process where requirements are followed by a formulation of a plan to fulfil them that is finally implemented. This is then followed by testing that things work as expected and that they continue to do so into the future. Often the development is iterated. -We emphasise that the life-cycle as described here is not complete, +We emphasise that the life-cycle as described here is not complete, as it includes periods of software maintenance and software retirement. Additionally, the research software life-cycle extends the traditional life-cycle with a \gls{software-publication} stage. @@ -1088,7 +1087,7 @@ New areas of expertise #### Research infrastructure RSE This RSE is interested in \glspl{SysOp} and system administration and sets up \ac{IT} infrastructures for and with researchers. Therefore, this specialisation on the one hand requires a deep knowledge of physical computer and network hardware and -on the other hand knowledge about setup and configuration of particular server software, +on the other hand knowledge about setup and configuration of particular server software, e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters for \ac{ML}. As an interface between the researchers and the infrastructure, they take care of user management, access permissions, and configuration of required services. @@ -1433,7 +1432,7 @@ These frameworks eventually converged into the \ac{EMBL-EBI} Competency Hub [@CompetencyHub; @Lloret-Llinares2022], where typical RSE and bioinformatician profiles at different levels of seniority can be queried -(e.g., Junior RSE[^JuniorRSE], +(e.g., Junior RSE[^JuniorRSE], Senior Computational Chemist[^SeniorCC]) and compared against one another (e.g., Junior vs. Senior RSE[^Comp]). diff --git a/fonts/Font Awesome 6 Free-Solid-900.otf b/fonts/Font Awesome 6 Free-Solid-900.otf deleted file mode 100644 index 81e67fd631ff60af121188d14158082a0c3c74e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031688 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.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¥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

NCdE13oEC*}yh^zC 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 V?8ri3fV{E@c4G;0Q \ No newline at end of file diff --git a/fonts/boxes-packing.svg b/fonts/boxes-packing.svg new file mode 100644 index 00000000..428d2de4 --- /dev/null +++ b/fonts/boxes-packing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/chalkboard-user.svg b/fonts/chalkboard-user.svg new file mode 100644 index 00000000..516f2eda --- /dev/null +++ b/fonts/chalkboard-user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/clipboard-list.svg b/fonts/clipboard-list.svg new file mode 100644 index 00000000..48c81ecd --- /dev/null +++ b/fonts/clipboard-list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/code-pull-request.svg b/fonts/code-pull-request.svg new file mode 100644 index 00000000..875e2994 --- /dev/null +++ b/fonts/code-pull-request.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/comments.svg b/fonts/comments.svg new file mode 100644 index 00000000..69361416 --- /dev/null +++ b/fonts/comments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/folder.svg b/fonts/folder.svg new file mode 100644 index 00000000..53c4a496 --- /dev/null +++ b/fonts/folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/graduation-cap.svg b/fonts/graduation-cap.svg new file mode 100644 index 00000000..6d34bbde --- /dev/null +++ b/fonts/graduation-cap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/laptop-code.svg b/fonts/laptop-code.svg new file mode 100644 index 00000000..9278a70b --- /dev/null +++ b/fonts/laptop-code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/lightbulb.svg b/fonts/lightbulb.svg new file mode 100644 index 00000000..696fa4e0 --- /dev/null +++ b/fonts/lightbulb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/newspaper.svg b/fonts/newspaper.svg new file mode 100644 index 00000000..15886c4a --- /dev/null +++ b/fonts/newspaper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/recycle.svg b/fonts/recycle.svg new file mode 100644 index 00000000..6a955f28 --- /dev/null +++ b/fonts/recycle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/sitemap.svg b/fonts/sitemap.svg new file mode 100644 index 00000000..11732298 --- /dev/null +++ b/fonts/sitemap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fonts/user-group.svg b/fonts/user-group.svg new file mode 100644 index 00000000..fc06cfb1 --- /dev/null +++ b/fonts/user-group.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2f61116ed254b3a2c8c76e00d7fc387f32bfb86a Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 9 Feb 2024 12:22:02 +0100 Subject: [PATCH 095/108] debug 1 --- competencies.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/competencies.md b/competencies.md index cc49f5b9..c5c276db 100644 --- a/competencies.md +++ b/competencies.md @@ -39,18 +39,18 @@ header-includes: - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - \newcommand*{\DOCBB}{\includesvg{fonts/sitemap}\nobreakspace{}DOCBB} - - \newcommand*{\LIBS}{\includesvg{fonts/boxes-packing}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\includesvg{fonts/arrows-spin}\nobreakspace{}SWLC} - - \newcommand*{\SWREPOS}{\includesvg{fonts/code-pull-request}\nobreakspace{}SWREPOS} - - \newcommand*{\MOD}{\includesvg{fonts/laptop-code}\nobreakspace{}MOD} + - \newcommand*{\LIBS}{\includesvg{{fonts/boxes-packing}}\nobreakspace{}LIBS} + - \newcommand*{\SWLC}{\includesvg{{fonts/arrows-spin}}\nobreakspace{}SWLC} + - \newcommand*{\SWREPOS}{\includesvg{{fonts/code-pull-request}}\nobreakspace{}SWREPOS} + - \newcommand*{\MOD}{\includesvg{{fonts/laptop-code}}\nobreakspace{}MOD} - \newcommand*{\NEW}{\includesvg{fonts/lightbulb}\nobreakspace{}NEW} - - \newcommand*{\RC}{\includesvg{fonts/graduation-cap}\nobreakspace{}RC} + - \newcommand*{\RC}{\includesvg{{fonts/graduation-cap}}\nobreakspace{}RC} - \newcommand*{\SRU}{\includesvg{fonts/recycle}\nobreakspace{}SRU} - \newcommand*{\SP}{\includesvg{fonts/newspaper}\nobreakspace{}SP} - \newcommand*{\DOMREP}{\includesvg{fonts/folder}\nobreakspace{}DOMREP} - - \newcommand*{\TEAM}{\includesvg{fonts/user-group}\nobreakspace{}TEAM} - - \newcommand*{\TEACH}{\includesvg{fonts/chalkboard-user}\nobreakspace{}TEACH} - - \newcommand*{\PM}{\includesvg{fonts/clipboard-list}\nobreakspace{}PM} + - \newcommand*{\TEAM}{\includesvg{{fonts/user-group}}\nobreakspace{}TEAM} + - \newcommand*{\TEACH}{\includesvg{{fonts/chalkboard-user}}\nobreakspace{}TEACH} + - \newcommand*{\PM}{\includesvg{{fonts/clipboard-list}}\nobreakspace{}PM} - \newcommand*{\USERS}{\includesvg{fonts/comments}\nobreakspace{}USERS} - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} From c0b1a38f24033d4638c6b45d67cb821e53026de7 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 9 Feb 2024 12:30:14 +0100 Subject: [PATCH 096/108] add inkscape --- .github/workflows/compile.yml | 1 + Makefile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 6b0bb3eb..037b15f8 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -11,6 +11,7 @@ jobs: - name: Install pandoc run: | sudo apt-get update && sudo apt-get install -y --no-install-recommends \ + inkscape \ texlive texlive-latex-extra pandoc latexmk \ texlive-bibtex-extra biber \ texlive-fonts-recommended texlive-fonts-extra lmodern fonts-linuxlibertine \ diff --git a/Makefile b/Makefile index 7f7ca2c2..daf9c631 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ all: $(objects) makeglossaries "${@:.pdf=}"; \ fi latexmk \ - -pdflatex -bibtex -halt-on-error \ + -pdflatex -shell-escape -bibtex -halt-on-error \ -jobname="${@:.pdf=}" -cd "build/${@:.pdf=}.tex" @mv "build/${@}" "${@}" From 3323e2f764623b70ff62575344dbe55e9d114356 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Fri, 9 Feb 2024 12:59:11 +0100 Subject: [PATCH 097/108] set width --- competencies.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/competencies.md b/competencies.md index c5c276db..ace8187b 100644 --- a/competencies.md +++ b/competencies.md @@ -38,20 +38,20 @@ header-includes: - \usepackage{svg} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - - \newcommand*{\DOCBB}{\includesvg{fonts/sitemap}\nobreakspace{}DOCBB} - - \newcommand*{\LIBS}{\includesvg{{fonts/boxes-packing}}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\includesvg{{fonts/arrows-spin}}\nobreakspace{}SWLC} - - \newcommand*{\SWREPOS}{\includesvg{{fonts/code-pull-request}}\nobreakspace{}SWREPOS} - - \newcommand*{\MOD}{\includesvg{{fonts/laptop-code}}\nobreakspace{}MOD} - - \newcommand*{\NEW}{\includesvg{fonts/lightbulb}\nobreakspace{}NEW} - - \newcommand*{\RC}{\includesvg{{fonts/graduation-cap}}\nobreakspace{}RC} - - \newcommand*{\SRU}{\includesvg{fonts/recycle}\nobreakspace{}SRU} - - \newcommand*{\SP}{\includesvg{fonts/newspaper}\nobreakspace{}SP} - - \newcommand*{\DOMREP}{\includesvg{fonts/folder}\nobreakspace{}DOMREP} - - \newcommand*{\TEAM}{\includesvg{{fonts/user-group}}\nobreakspace{}TEAM} - - \newcommand*{\TEACH}{\includesvg{{fonts/chalkboard-user}}\nobreakspace{}TEACH} - - \newcommand*{\PM}{\includesvg{{fonts/clipboard-list}}\nobreakspace{}PM} - - \newcommand*{\USERS}{\includesvg{fonts/comments}\nobreakspace{}USERS} + - \newcommand*{\DOCBB}{\includesvg[height=10pt]{fonts/sitemap}\nobreakspace{}DOCBB} + - \newcommand*{\LIBS}{\includesvg[height=10pt]{{fonts/boxes-packing}}\nobreakspace{}LIBS} + - \newcommand*{\SWLC}{\includesvg[height=10pt]{{fonts/arrows-spin}}\nobreakspace{}SWLC} + - \newcommand*{\SWREPOS}{\includesvg[height=10pt]{{fonts/code-pull-request}}\nobreakspace{}SWREPOS} + - \newcommand*{\MOD}{\includesvg[height=10pt]{{fonts/laptop-code}}\nobreakspace{}MOD} + - \newcommand*{\NEW}{\includesvg[height=10pt]{fonts/lightbulb}\nobreakspace{}NEW} + - \newcommand*{\RC}{\includesvg[height=10pt]{{fonts/graduation-cap}}\nobreakspace{}RC} + - \newcommand*{\SRU}{\includesvg[height=10pt]{fonts/recycle}\nobreakspace{}SRU} + - \newcommand*{\SP}{\includesvg[height=10pt]{fonts/newspaper}\nobreakspace{}SP} + - \newcommand*{\DOMREP}{\includesvg[height=10pt]{fonts/folder}\nobreakspace{}DOMREP} + - \newcommand*{\TEAM}{\includesvg[height=10pt]{{fonts/user-group}}\nobreakspace{}TEAM} + - \newcommand*{\TEACH}{\includesvg[height=10pt]{{fonts/chalkboard-user}}\nobreakspace{}TEACH} + - \newcommand*{\PM}{\includesvg[height=10pt]{{fonts/clipboard-list}}\nobreakspace{}PM} + - \newcommand*{\USERS}{\includesvg[height=10pt]{fonts/comments}\nobreakspace{}USERS} - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} - \makeglossaries From e46c9bf9f1a99067e2026875850ae1f4abab0aec Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Sat, 10 Feb 2024 00:39:57 +0100 Subject: [PATCH 098/108] add a definition for Researchers (#237) * add a definition for Researchers * incorporate the suggestion by Magnus --------- Co-authored-by: Florian Goth --- competencies.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/competencies.md b/competencies.md index be78e8f7..1cd3a661 100644 --- a/competencies.md +++ b/competencies.md @@ -214,6 +214,11 @@ However, we also recognise that many RSEs have chosen specifically to focus on a role as an alternative to a traditional research role because they enjoy and wish to focus on the development of research software. +**Researchers**: +We use researchers to identify people who are using the services provided by Research Software Engineers. +These not only include academics but also people from related fields such as librarians and technicians +who are at most sporadically performing RSE actions. + # Related work {#sec:related-work} Various initiatives are working to support technical professionals develop their computational skills. From b3bb475d0df39f8aa1536b2fe3af64b3e0974401 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Sat, 10 Feb 2024 00:48:35 +0100 Subject: [PATCH 099/108] include consistency fixes by Gerasimos --- competencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/competencies.md b/competencies.md index 1cd3a661..bf171140 100644 --- a/competencies.md +++ b/competencies.md @@ -215,7 +215,7 @@ role as an alternative to a traditional research role because they enjoy and wis on the development of research software. **Researchers**: -We use researchers to identify people who are using the services provided by Research Software Engineers. +People who are using the services provided by Research Software Engineers. These not only include academics but also people from related fields such as librarians and technicians who are at most sporadically performing RSE actions. From e56319caafbd29c9ab6adb3c933d80f548466203 Mon Sep 17 00:00:00 2001 From: Stephan Druskat Date: Fri, 16 Feb 2024 12:34:59 +0100 Subject: [PATCH 100/108] Scope software publication skill section to add precision and discuss software citation (#243) * Add necessary software publication skills beyond licensing * Broaden scope of SP to include software citation * Adapt authors list --- bibliography.bib | 11 +++++++++++ competencies.md | 16 +++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index 0bf5aed2..363f697f 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -5587,3 +5587,14 @@ @article{turing_way_2022 urldate = {2023-06-07}, keywords = {collaboration,community,data science,ethics,handbook,reproducibility,research practices} } + +@article{smith_SoftwareCitationPrinciples2016, + title = {Software Citation Principles}, + author = {Smith, Arfon M. and Katz, Daniel S. and Niemeyer, Kyle E. and {FORCE11 Software Citation Working Group}}, + year = {2016}, + journal = {PeerJ Computer Science}, + volume = {2}, + number = {e86}, + issn = {2376-5992}, + doi = {10.7717/peerj-cs.86} +} diff --git a/competencies.md b/competencies.md index bf171140..54aea335 100644 --- a/competencies.md +++ b/competencies.md @@ -9,6 +9,7 @@ author: - Gerasimos Chourdakis - Simon Christ - Jeremy Cohen + - Stephan Druskat - Fredo Erxleben - Jean-Noël Grad - Magnus Hagdorn @@ -49,7 +50,7 @@ header-includes: - \newglossaryentry{NEW}{name={NEW},type={skills},description={Curiosity}} - \newglossaryentry{RC}{name={RC},type={skills},description={Understanding the research cycle}} - \newglossaryentry{SRU}{name={SRU},type={skills},description={Software re-use}} - - \newglossaryentry{SP}{name={SP},type={skills},description={Software publication}} + - \newglossaryentry{SP}{name={SP},type={skills},description={Software publication and citation}} - \newglossaryentry{DOMREP}{name={DOMREP},type={skills},description={Using domain repositories/directories}} - \newglossaryentry{TEAM}{name={TEAM},type={skills},description={Working in a team}} - \newglossaryentry{TEACH}{name={TEACH},type={skills},description={Teaching}} @@ -488,12 +489,13 @@ Another part of \ac{FAIR} software is concerned with publishing new and derived and making them available for re-use by the research community and the general public. RSEs need to have a basic understanding of common software licence types, such as "proprietary", "copyleft", and "permissive", the compatibility of different common licences and the ramifications for re-using and composing programs. -Beyond that, RSEs will need to properly execute the technicalities of software publishing, -such as applying licences, honouring copyright statements and crediting contributors. -RSEs also need to understand and apply principles and good practices of software publication. -This includes the collection, curation and provision of relevant software publication metadata -both for software citation, and -for generic and domain-specific software description [@druskat_hermes_2022]. +Beyond that, RSEs will need to properly execute the technicalities of software publishing. +These include the application of licences and copyright statements, +understanding and assigning software authorship, crediting contributors, +maintaining FAIR software metadata and publishing software artefacts. +Finally, RSEs will need to understand the principles of software citation [@smith_SoftwareCitationPrinciples2016]. +This concerns both the potential for reuse of their own work, which demands the provision of complete and correct up-to-date citation metadata for their software, +as well as their own citation obligations deriving from building on previous work in the form of dependencies. \skillsection{DOMREP} From 45c43943c2249ccc37f281fa96edccebcc459556 Mon Sep 17 00:00:00 2001 From: Stephan Druskat Date: Fri, 16 Feb 2024 13:28:07 +0100 Subject: [PATCH 101/108] Define Legacy RSE role and redistribute maintenance role skills and tasks into Project/community manager RSE role (#222) * Split Maintenance RSE role into Maintenance RSEs and Legacy RSEs * Add governance skill * Make scalable a word * Sharpen the context of Legacy RSE role * Redistribute Maintenance RSE tasks and skills under PM/CM RSE Co-authored-by: Stephan Druskat --- .github/spellignore.txt | 1 + competencies.md | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/spellignore.txt b/.github/spellignore.txt index e7949b6a..c5d64e21 100644 --- a/.github/spellignore.txt +++ b/.github/spellignore.txt @@ -142,6 +142,7 @@ RSE RSE's rse-specialisations RTPs +scalable scipy SeniorCC SRU diff --git a/competencies.md b/competencies.md index 54aea335..1708598d 100644 --- a/competencies.md +++ b/competencies.md @@ -1031,7 +1031,11 @@ Like the Data-focused RSE, they have a deep understanding of \ac{RDM} topics. #### Project/community manager RSEs When research software projects become larger, they need someone who manages -processes and people. This gap can be filled by people who invest in the (\gls{PM}), (\gls{USERS}), and (\gls{TEAM}) skills, as exemplified in @subsec:examplecareer. +processes and people. +In practice, this concerns change management for code and documentation +and community work to safeguard usability and adaptability, +but also handling project governance and scalable decision-making processes. +This gap can be filled by people who invest in the (\gls{PM}), (\gls{USERS}), and (\gls{TEAM}) skills, as exemplified in @subsec:examplecareer. Building a community around a research project is an important building block in building sustainable software [@Segal2009], so these RSEs play an important role, even if they do not necessarily touch much of the code themselves. @@ -1083,12 +1087,12 @@ on the other hand knowledge about setup and configuration of particular server s e.g., setup of virtual machines on hypervisors or the planning and setup of compute server clusters for \ac{ML}. As an interface between the researchers and the infrastructure, they take care of user management, access permissions, and configuration of required services. -#### Maintenance RSEs -The constantly evolving software environment can hinder or prevent reproducibility. -In this changing environment, a significant amount of effort in (research) software development -needs to be spent on maintenance to ensure that software remains useful or even installable. -With regard to which additional competency is required, -these are people having experience with software stacks that are not part of the general curricula any more (e.g., \gls{COBOL} or \gls{Fortran}). +#### Legacy RSEs +Research software may be used and evolved over generations of research without change management or governance processes, while software ecosystems (e.g., programming languages, frameworks, operating systems) constantly evolve. +This may lead to the emergence of legacy code that is actively used. +To safeguard continued usability and adoption, +these RSEs have experience in working with legacy code, +and are competent in the application of software stacks that are no longer part of the general curricula (e.g., \gls{COBOL} or \gls{Fortran}). #### HPC-RSE From fbf27dda59b56564f000c2f1d0db1d8efc641cf2 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Mon, 19 Feb 2024 19:58:55 +0100 Subject: [PATCH 102/108] move it to glossary names --- .gitignore | 1 + Makefile | 1 + competencies.md | 88 ++++++++++++++++++++++++------------------------- 3 files changed, 46 insertions(+), 44 deletions(-) diff --git a/.gitignore b/.gitignore index 906c9b67..38e1e238 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ institutionalised_education.pdf intro.pdf survey.pdf build/ +svg-inkscape/ diff --git a/Makefile b/Makefile index daf9c631..55efc2b1 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,7 @@ all: $(objects) --biblatex \ --toc \ --template="build/template.tex" \ + -f markdown-latex_macros \ -M pdfa-$(MAKE_PDFA)=1 \ -M date="`date "+%B %e, %Y"`" \ -M datexmp="`date "+%F"`" \ diff --git a/competencies.md b/competencies.md index ace8187b..0ec8a1f6 100644 --- a/competencies.md +++ b/competencies.md @@ -35,41 +35,41 @@ header-includes: - \usepackage{multirow} - \usepackage{array} - \usepackage{longtable} - - \usepackage{svg} + - \usepackage[inkscapepath=../svg-inkscape]{svg} - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - - \newcommand*{\DOCBB}{\includesvg[height=10pt]{fonts/sitemap}\nobreakspace{}DOCBB} - - \newcommand*{\LIBS}{\includesvg[height=10pt]{{fonts/boxes-packing}}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\includesvg[height=10pt]{{fonts/arrows-spin}}\nobreakspace{}SWLC} - - \newcommand*{\SWREPOS}{\includesvg[height=10pt]{{fonts/code-pull-request}}\nobreakspace{}SWREPOS} - - \newcommand*{\MOD}{\includesvg[height=10pt]{{fonts/laptop-code}}\nobreakspace{}MOD} - - \newcommand*{\NEW}{\includesvg[height=10pt]{fonts/lightbulb}\nobreakspace{}NEW} - - \newcommand*{\RC}{\includesvg[height=10pt]{{fonts/graduation-cap}}\nobreakspace{}RC} - - \newcommand*{\SRU}{\includesvg[height=10pt]{fonts/recycle}\nobreakspace{}SRU} - - \newcommand*{\SP}{\includesvg[height=10pt]{fonts/newspaper}\nobreakspace{}SP} - - \newcommand*{\DOMREP}{\includesvg[height=10pt]{fonts/folder}\nobreakspace{}DOMREP} - - \newcommand*{\TEAM}{\includesvg[height=10pt]{{fonts/user-group}}\nobreakspace{}TEAM} - - \newcommand*{\TEACH}{\includesvg[height=10pt]{{fonts/chalkboard-user}}\nobreakspace{}TEACH} - - \newcommand*{\PM}{\includesvg[height=10pt]{{fonts/clipboard-list}}\nobreakspace{}PM} - - \newcommand*{\USERS}{\includesvg[height=10pt]{fonts/comments}\nobreakspace{}USERS} + - \newcommand*{\DOCBB}{\includesvg[height=10pt]{{../fonts/sitemap}}\nobreakspace{}DOCBB} + - \newcommand*{\LIBS}{\includesvg[height=10pt]{{../fonts/boxes-packing}}\nobreakspace{}LIBS} + - \newcommand*{\SWLC}{\includesvg[height=10pt]{{../fonts/arrows-spin}}\nobreakspace{}SWLC} + - \newcommand*{\SWREPOS}{\includesvg[height=10pt]{{../fonts/code-pull-request}}\nobreakspace{}SWREPOS} + - \newcommand*{\MOD}{\includesvg[height=10pt]{{../fonts/laptop-code}}\nobreakspace{}MOD} + - \newcommand*{\NEW}{\includesvg[height=10pt]{../fonts/lightbulb}\nobreakspace{}NEW} + - \newcommand*{\RC}{\includesvg[height=10pt]{{../fonts/graduation-cap}}\nobreakspace{}RC} + - \newcommand*{\SRU}{\includesvg[height=10pt]{../fonts/recycle}\nobreakspace{}SRU} + - \newcommand*{\SP}{\includesvg[height=10pt]{../fonts/newspaper}\nobreakspace{}SP} + - \newcommand*{\DOMREP}{\includesvg[height=10pt]{../fonts/folder}\nobreakspace{}DOMREP} + - \newcommand*{\TEAM}{\includesvg[height=10pt]{{../fonts/user-group}}\nobreakspace{}TEAM} + - \newcommand*{\TEACH}{\includesvg[height=10pt]{{../fonts/chalkboard-user}}\nobreakspace{}TEACH} + - \newcommand*{\PM}{\includesvg[height=10pt]{{../fonts/clipboard-list}}\nobreakspace{}PM} + - \newcommand*{\USERS}{\includesvg[height=10pt]{../fonts/comments}\nobreakspace{}USERS} - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} - \makeglossaries - \input{glossary.tex} - - \newglossaryentry{DOCBB}{name={DOCBB},type={skills},description={Creating documented code building blocks}} - - \newglossaryentry{LIBS}{name={LIBS},type={skills},description={Building distributable libraries}} - - \newglossaryentry{SWLC}{name={SWLC},type={skills},description={Adapting to the software life-cycle}} - - \newglossaryentry{SWREPOS}{name={SWREPOS},type={skills},description={Use repositories}} - - \newglossaryentry{MOD}{name={MOD},type={skills},description={Software behaviour awareness and analysis}} - - \newglossaryentry{NEW}{name={NEW},type={skills},description={Curiosity}} - - \newglossaryentry{RC}{name={RC},type={skills},description={Understanding the research cycle}} - - \newglossaryentry{SRU}{name={SRU},type={skills},description={Software re-use}} - - \newglossaryentry{SP}{name={SP},type={skills},description={Software publication}} - - \newglossaryentry{DOMREP}{name={DOMREP},type={skills},description={Using domain repositories/directories}} - - \newglossaryentry{TEAM}{name={TEAM},type={skills},description={Working in a team}} - - \newglossaryentry{TEACH}{name={TEACH},type={skills},description={Teaching}} - - \newglossaryentry{PM}{name={PM},type={skills},description={Project management}} - - \newglossaryentry{USERS}{name={USERS},type={skills},description={Interaction with users and other stakeholders}} + - \newglossaryentry{DOCBB}{name={\DOCBB},type={skills},description={Creating documented code building blocks}} + - \newglossaryentry{LIBS}{name={\LIBS},type={skills},description={Building distributable libraries}} + - \newglossaryentry{SWLC}{name={\SWLC},type={skills},description={Adapting to the software life-cycle}} + - \newglossaryentry{SWREPOS}{name={\SWREPOS},type={skills},description={Use repositories}} + - \newglossaryentry{MOD}{name={\MOD},type={skills},description={Software behaviour awareness and analysis}} + - \newglossaryentry{NEW}{name={\NEW},type={skills},description={Curiosity}} + - \newglossaryentry{RC}{name={\RC},type={skills},description={Understanding the research cycle}} + - \newglossaryentry{SRU}{name={\SRU},type={skills},description={Software re-use}} + - \newglossaryentry{SP}{name={\SP},type={skills},description={Software publication}} + - \newglossaryentry{DOMREP}{name={\DOMREP},type={skills},description={Using domain repositories/directories}} + - \newglossaryentry{TEAM}{name={\TEAM},type={skills},description={Working in a team}} + - \newglossaryentry{TEACH}{name={\TEACH},type={skills},description={Teaching}} + - \newglossaryentry{PM}{name={\PM},type={skills},description={Project management}} + - \newglossaryentry{USERS}{name={\USERS},type={skills},description={Interaction with users and other stakeholders}} include-before: - \newpage include-after: @@ -390,7 +390,7 @@ the different RSE specialisations (**RSE specialisations**). ## Software engineering skills \newcommand{\skillsection}[1]{\hypertarget{skills-#1}{% -\subsubsection{\glsentrydesc{#1} (\glsentrytext{#1})}\label{skills-#1}}} +\subsubsection{\glsentrydesc{#1}(\glsentrytext{#1})}\label{skills-#1}}} There are many \ac{SE} curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example @@ -402,7 +402,7 @@ software reusability and the extent to which the \ac{SE} skills need to be applied to reach them. -\skillsection{\DOCBB} +\skillsection{DOCBB} The RSE should be able to create building blocks from source code that are reusable. This ranges from simple libraries of functions up to complex @@ -414,7 +414,7 @@ documentation. Documentation ranges from commenting code blocks to using documentation (building) tools. -\skillsection{\LIBS} +\skillsection{LIBS} The RSE should be able to distribute their code on their domain/language specific distribution platforms. This almost always encompasses @@ -423,7 +423,7 @@ requires knowledge of using build systems to enable interoperability with other systems. -\skillsection{\SWLC} +\skillsection{SWLC} The traditional software life-cycle defines the stages that form the process of building a piece of software. Initial development generally involves a creative process where requirements are gathered and analysed, @@ -438,13 +438,13 @@ The RSE should be aware of this life-cycle and be able to predict and cater to the changing needs of software as it moves through the stages. -\skillsection{\SWREPOS} +\skillsection{SWREPOS} The RSE should be able to identify and use fitting public platforms (so-called software repositories or repos) to share the artefacts they have created and invite the public to scrutinise them for public review. -\skillsection{\MOD} +\skillsection{MOD} We define this as a certain quality of analytical thinking that enables an RSE to form a mental model of a piece of software in a specific environment. @@ -458,7 +458,7 @@ and make sure that they do not negatively impact the integrity of their institut ## Research skills -\skillsection{\NEW} +\skillsection{NEW} RSEs gain their reputation from their effectiveness in interacting with their domain peers. Therefore, some curiosity together with a broad overview of the @@ -468,7 +468,7 @@ trying out new tools. Lifelong learning is then no longer just a phrase but becomes a motivation to work. -\skillsection{\RC} +\skillsection{RC} One of the crucial skills of RSEs is their mental proximity to research. They embrace being part of a larger community which, @@ -481,7 +481,7 @@ their own expertise and appreciate the underlying principles of good research, including publications, reviews and reproducibility. -\skillsection{\SRU} +\skillsection{SRU} One goal of \ac{FAIR} software is to avoid unnecessary duplication of work by reusing existing work instead. To (re-) use software, researchers have to be able to @@ -492,7 +492,7 @@ Additional software citation and metadata skills are necessary to provide eviden of software re-use in the scientific record. -\skillsection{\SP} +\skillsection{SP} Another part of \ac{FAIR} software is concerned with publishing new and derived works and making them available for re-use by the research community and the general public. @@ -506,7 +506,7 @@ both for software citation, and for generic and domain-specific software description [@druskat_hermes_2022]. -\skillsection{\DOMREP} +\skillsection{DOMREP} Almost all research software is developed within a specific scientific domain. Some software may be able to cross boundaries, but the majority will have a @@ -530,7 +530,7 @@ However, the interpersonal and organisational skills and the capacity for adapti warrants a much stronger emphasis on this field of competence. -\skillsection{\TEAM} +\skillsection{TEAM} Working in a team is all about communication and teamwork. For example, RSEs need to be able to explain particular implementation choices made and may even need to defend them. @@ -541,7 +541,7 @@ The shared values come into play and each RSE needs to ensure that these values Senior RSEs may lead a team of RSEs. -\skillsection{\TEACH} +\skillsection{TEACH} RSEs have many opportunities to teach. These range from inducting new colleagues to teaching digital skills either through short courses, @@ -550,7 +550,7 @@ RSEs may also act as mentors and consultants. Code review also includes aspects of the teaching skill. -\skillsection{\PM} +\skillsection{PM} The RSE should have knowledge about project management. At some institutes, it follows the practices of the local research groups, but it is useful if an RSE knows its place in a \gls{PM} scheme, or can bring in new ideas for improvement. @@ -558,7 +558,7 @@ Project management in research software engineering poses specific challenges (s to flexibly adapt to changing conditions and deviate from common project management methods. -\skillsection{\USERS} +\skillsection{USERS} Since research software is often developed as part of the research process itself, its requirements and specifications might change with the progression of research. From ce304c0201ca078e2081047e3a914f530bfee7b8 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Mon, 19 Feb 2024 20:35:24 +0100 Subject: [PATCH 103/108] remove } --- competencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/competencies.md b/competencies.md index 3a1cf949..c754a428 100644 --- a/competencies.md +++ b/competencies.md @@ -65,7 +65,7 @@ header-includes: - \newglossaryentry{NEW}{name={\NEW},type={skills},description={Curiosity}} - \newglossaryentry{RC}{name={\RC},type={skills},description={Understanding the research cycle}} - \newglossaryentry{SRU}{name={\SRU},type={skills},description={Software re-use}} - - \newglossaryentry{SP}{name={\SP},type={skills},description={Software publication and citation}}} + - \newglossaryentry{SP}{name={\SP},type={skills},description={Software publication and citation}} - \newglossaryentry{DOMREP}{name={\DOMREP},type={skills},description={Using domain repositories/directories}} - \newglossaryentry{TEAM}{name={\TEAM},type={skills},description={Working in a team}} - \newglossaryentry{TEACH}{name={\TEACH},type={skills},description={Teaching}} @@ -230,7 +230,7 @@ However, we also recognise that many RSEs have chosen specifically to focus on a role as an alternative to a traditional research role because they enjoy and wish to focus on the development of research software. -**Researchers**: +**Researchers**: People who are using the services provided by Research Software Engineers. These not only include academics but also people from related fields such as librarians and technicians who are at most sporadically performing RSE actions. From 4f15ee6b75a18d4b1c0a385bb74ef59b09fdac1d Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Wed, 21 Feb 2024 00:29:40 +0100 Subject: [PATCH 104/108] add a license file (#234) Co-authored-by: Florian Goth --- LICENSE.md | 395 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 395 insertions(+) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..4ea99c21 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. From f32b39b8b44d56cf2662c5b27bda45b28d14e163 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Thu, 22 Feb 2024 01:11:44 +0100 Subject: [PATCH 105/108] use our project name --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a2145319..d2c3f5bd 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ -# Paper: Teaching and Learning Research Software Engineering +# The teachingRSE project: "Teaching and Learning Research Software Engineering" -Output of the de-RSE 2023 Conference Workshop on "Teaching and Learning Research Software Engineering". +It started all at a workshop at deRSE23 in Paderborn where the community came together to discuss what to teach to future RSEs +and in which institutions to bring up the next generation of RSEs. -Since the original idea grew in size and scope we had to split the paper in different subpapers highlighting different aspects +As we discovered, the scope of this task is so big that +we had to split the paper in different subpapers highlighting different aspects Get the latest version of the respective PDF files here: From a7c9b21bf0186233b1223da1f0151a7d58a36a90 Mon Sep 17 00:00:00 2001 From: Florian Goth Date: Thu, 22 Feb 2024 14:42:14 +0100 Subject: [PATCH 106/108] integrate learn-and-teach, now that we have the project into the main text --- bibliography.bib | 7 +++++++ competencies.md | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bibliography.bib b/bibliography.bib index 363f697f..41e87a4a 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -498,6 +498,13 @@ @Online{BioinformaticsCertification urldate = {2023-07-20}, } +@Online{learnandteach, + author = {{The teachingRSE project}}, + title = {Learning and teaching RSE}, + url = {https://de-rse.org/learn-and-teach/}, + urldate = {2024-02-22}, +} + @Article{Bird2016, title = {Using Metadata Actively}, volume = {11}, diff --git a/competencies.md b/competencies.md index 1708598d..5e24ed12 100644 --- a/competencies.md +++ b/competencies.md @@ -1182,9 +1182,9 @@ That publication will again intentionally be free of regional specifics, to also as a blueprint that other national RSE societies can build upon. Another important building block is to provide people with online resources for use in their -courses. This is the intention of the so-called "survey-publication". -That survey of existing resources will not be carried out as a traditional publication, but -it will be made available as a continuously-evolving online resource. +courses. This is the intention of the learn-and-teach project [@learnandteach]. +Surveying and curating of existing resources is not carried out as a traditional publication, +but we make it available as a continuously-evolving online resource at [@learnandteach]. And finally, we will formulate the call to action - building on the previous publication on the necessary institutions, From 588c0b7d9201f090b1c973be2ecd6c42d22fee31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Fri, 23 Feb 2024 16:48:38 +0100 Subject: [PATCH 107/108] Fix LaTeX warnings and accessibility issues --- .gitignore | 1 - Makefile | 5 +++-- competencies.md | 34 ++++++++++++++++++---------------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 38e1e238..906c9b67 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ institutionalised_education.pdf intro.pdf survey.pdf build/ -svg-inkscape/ diff --git a/Makefile b/Makefile index 55efc2b1..d43ad397 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,7 @@ all: $(objects) %.pdf: %.md bibliography.bib contributors.yml preamble.sty build/template.tex glossary.tex filter.py @mkdir -p build + @mkdir -p build/svg-inkscape @rm -f build/pdfa.xmpi cp --update preamble.sty build/ cp --update bibliography.bib build/ @@ -21,7 +22,7 @@ all: $(objects) --biblatex \ --toc \ --template="build/template.tex" \ - -f markdown-latex_macros \ + -f markdown-latex_macros \ -M pdfa-$(MAKE_PDFA)=1 \ -M date="`date "+%B %e, %Y"`" \ -M datexmp="`date "+%F"`" \ @@ -34,7 +35,7 @@ all: $(objects) @sed -i '/\\author{}/d' "build/${@:.pdf=}.tex" if grep -q "\\makeglossaries" "${<}"; then \ cd build; \ - pdflatex --jobname="${@:.pdf=}" "${@:.pdf=}.tex"; \ + pdflatex -shell-escape --jobname="${@:.pdf=}" "${@:.pdf=}.tex"; \ makeglossaries "${@:.pdf=}"; \ fi latexmk \ diff --git a/competencies.md b/competencies.md index c754a428..4e48cc83 100644 --- a/competencies.md +++ b/competencies.md @@ -36,23 +36,25 @@ header-includes: - \usepackage{multirow} - \usepackage{array} - \usepackage{longtable} - - \usepackage[inkscapepath=../svg-inkscape]{svg} + - \usepackage[inkscapepath=svg-inkscape]{svg} + - \pdfsuppresswarningpagegroup=1 - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} - - \newcommand*{\DOCBB}{\includesvg[height=10pt]{{../fonts/sitemap}}\nobreakspace{}DOCBB} - - \newcommand*{\LIBS}{\includesvg[height=10pt]{{../fonts/boxes-packing}}\nobreakspace{}LIBS} - - \newcommand*{\SWLC}{\includesvg[height=10pt]{{../fonts/arrows-spin}}\nobreakspace{}SWLC} - - \newcommand*{\SWREPOS}{\includesvg[height=10pt]{{../fonts/code-pull-request}}\nobreakspace{}SWREPOS} - - \newcommand*{\MOD}{\includesvg[height=10pt]{{../fonts/laptop-code}}\nobreakspace{}MOD} - - \newcommand*{\NEW}{\includesvg[height=10pt]{../fonts/lightbulb}\nobreakspace{}NEW} - - \newcommand*{\RC}{\includesvg[height=10pt]{{../fonts/graduation-cap}}\nobreakspace{}RC} - - \newcommand*{\SRU}{\includesvg[height=10pt]{../fonts/recycle}\nobreakspace{}SRU} - - \newcommand*{\SP}{\includesvg[height=10pt]{../fonts/newspaper}\nobreakspace{}SP} - - \newcommand*{\DOMREP}{\includesvg[height=10pt]{../fonts/folder}\nobreakspace{}DOMREP} - - \newcommand*{\TEAM}{\includesvg[height=10pt]{{../fonts/user-group}}\nobreakspace{}TEAM} - - \newcommand*{\TEACH}{\includesvg[height=10pt]{{../fonts/chalkboard-user}}\nobreakspace{}TEACH} - - \newcommand*{\PM}{\includesvg[height=10pt]{{../fonts/clipboard-list}}\nobreakspace{}PM} - - \newcommand*{\USERS}{\includesvg[height=10pt]{../fonts/comments}\nobreakspace{}USERS} + - \newcommand{\fonticon}[2]{\includesvg[height=1.5ex]{{../fonts/#1}}\nobreakspace{}#2} + - \newcommand*{\DOCBB}{\fonticon{sitemap}{DOCBB}} + - \newcommand*{\LIBS}{\fonticon{boxes-packing}{LIBS}} + - \newcommand*{\SWLC}{\fonticon{arrows-spin}{SWLC}} + - \newcommand*{\SWREPOS}{\fonticon{code-pull-request}{SWREPOS}} + - \newcommand*{\MOD}{\fonticon{laptop-code}{MOD}} + - \newcommand*{\NEW}{\fonticon{lightbulb}{NEW}} + - \newcommand*{\RC}{\fonticon{graduation-cap}{RC}} + - \newcommand*{\SRU}{\fonticon{recycle}{SRU}} + - \newcommand*{\SP}{\fonticon{newspaper}{SP}} + - \newcommand*{\DOMREP}{\fonticon{folder}{DOMREP}} + - \newcommand*{\TEAM}{\fonticon{user-group}{TEAM}} + - \newcommand*{\TEACH}{\fonticon{chalkboard-user}{TEACH}} + - \newcommand*{\PM}{\fonticon{clipboard-list}{PM}} + - \newcommand*{\USERS}{\fonticon{comments}{USERS}} - \usepackage[acronym,toc,shortcuts,nogroupskip]{glossaries} - \newglossary[skills.glg]{skills}{skills.gls}{skills.glo}{Skill codes} - \makeglossaries @@ -396,7 +398,7 @@ the different RSE specialisations (**RSE specialisations**). ## Software engineering skills \newcommand{\skillsection}[1]{\hypertarget{skills-#1}{% -\subsubsection{\glsentrydesc{#1}(\glsentrytext{#1})}\label{skills-#1}}} +\subsubsection{\glsentrydesc{#1} (\texorpdfstring{\glsentrytext{#1}}{#1})}\label{skills-#1}}} There are many \ac{SE} curricula out there, that try to define which tasks a software engineer should be able to perform. A recent example From c4751b6c3b6354bffa2e9c15ce4541393e170008 Mon Sep 17 00:00:00 2001 From: CaptainSifff Date: Fri, 1 Mar 2024 22:10:58 +0100 Subject: [PATCH 108/108] make the teach-and-learn project visible in our README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2c3f5bd..a8ad708f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Get the latest version of the respective PDF files here: * "Foundational competencies and responsibilities of an RSE" ([competencies.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/competencies.pdf)) * "Institutionalized Organisation of RSE Education" ([institutionalised_education.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/institutionalised_education.pdf)) +* A separate web project on surveying and curating existing resources, the [learn-and-teach project](https://github.com/DE-RSE/learn-and-teach) [website](https://de-rse.org/learn-and-teach/) * "A Survey of Initiatives Providing Educative Material in the RSE Space" ([survey.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/survey.pdf)) * "Educating RSEs in Germany - What Needs to Be Done" ([call_to_action.pdf](https://github.com/CaptainSifff/paper_teaching-learning-RSE/blob/build/call_to_action.pdf))