Closed CaptainSifff closed 7 months ago
More MAterial: https://zenodo.org/records/8324828
Yet another list, which took over the nice name first: https://github.com/hifis-net/awesome-rse-education, linked from https://github.com/hifis-net/awesome-rse
I am wondering if it makes sense to start yet another standard
It would be great help to start if everyone could give one resource about each pillar:
Please describe why a resource is good and which skills one could learn from there (roughly), relating to the competencies in the paper.
Let's get a first batch till February 2.
Let me start with an example.
This is an ebook that one can read from front to back, covering the shell and CLI tools, Git basics, Makefiles, Configuration files, as well as a bit of Teamwork, Testing, Error-Handling, and Packaging. The level is mostly basic (also for people that have barely any previous experience with programming), but covers a wide range of essential skills.
Skill codes from the paper:
Notes: This has not much to do with Python and Python is not required.
This is a video series discussing topics from academic writing and analyzing data, planning and performing experiments and data collections, managing data, leading, or planning a career in research. Available through university libraries.
Skill codes:
Notes: I have not yet used this resource, but the table of contents sounds like something I wish I had discovered early in my PhD, when I had more time to read and watch such material. I still hope to follow some of these courses eventually.
This is a (paid) zine, discussing how to communicate with your manager (here: postdoc/professor). How to set clear expectations, ask and process feedback, and how to keep conversations constructive.
Skill codes from the paper:
Notes:
Other zines in this series cover a plethora of technical/software engineering skills, such as Bash, Git, Debugging, and more, giving a good overview and showcasing some more advanced tools.
Let's start one by one: Software Engineering skills: Solid Principles The solid principles are covered in multiple resources from the clean code community. What to me sounded the most applicable things were the SOLID principles, where the C++ community has some nice videos As one principle that I find universally applicable from the set of SOLID principles(all of them are to varying degree) is the Single Responsibility Principle, to which this video invest almost half his time of his keynote talk. Tony has also coined the nice moniker for it, the "KYSS" principle: Keep Your Stuff Separate.
Skill codes from the paper:
Covered: DOCBB, LIBS, SRU, TEAM, MOD, USERS Not covered at all: NEW, RC, DOMREP, TEACH, PM, SP
Research Skills:
Covered: RC, SRU, TEAM, TEACH, SP, USERS
Project currently funded by Nordic e- infrastructure collaboration. RSE network/community and workshops with public and mainly self-learning ready materials. General workshop and materials topics (programming language agnostic; but introduces some specific tools in hands-on materials): Intro to and collaborative git, reproducible research, social coding, documentation, jupyter, automated testing and modular code development. Also provides materials on community teaching and instructor training, as well as some other related materials, eg on CMake or data visualization with Python. All lessons
covered : DOCBB, SWREPOS, SRU, SP, ..? with instructor training also: TEAM, TEACH, ..?
Materials all around writing better scientific software and beyond: https://bssw.io/items
covered: DOCBB, LIBS (?), SWLC (?) , SWREPOS, MOD (?), SRU, SP , TEACH, PM
Another porject, similar to CodeRefinery and Bssw: INTERSECT
In addition to their own materials they also provide a list of other RSE learning materials
Not sure how this fits in here, but it is linked to SRU and SP : Self assessment tool for FAIR research software: https://fairsoftwarechecklist.net/v0.2/
Specific to Python but with lots of good general hints too: https://www.pyopensci.org/python-package-guide/index.html Linking to SP
Sadly somewhat in between SE and R but the Good enough practices for scientific computing are a nice ressource.
Mostly SE skills but also some Research skills
This O'REILLY book: Effective Computation in Physics is a great resource that in my opinion can be very useful for other fields as well. One of the authors, Kathryn Huff, has contributed and been involved with the carpentries, JOSS ...etc. The topics range from terminal, classes and objects to deploying software, testing, debugging, and copy right.
skills from paper: DOCBB, LIBS, SWLC, SWREPOS, MOD, SRU, SP, DOMREP
Oh well, thinking hard about something that I could put under the communication skills, I remembered the 4 hour work week I feel this ties in somewhat with PM skills?
The other resource relevant for the TEACHING skill could of course be the SWC Instructor training
TEACHING, related to above mentioned Carpentries instructor training: CodeRefinery instructor training and built on both there is the ENCCS - best practices for HPC training
I have a strong feeling, that it wouldn't hurt if we mention this: https://www.computer.org/education/bodies-of-knowledge/software-engineering
There is now a contributing guide on how to add new resources on the website: https://github.com/DE-RSE/survey_rse_training/blob/main/CONTRIBUTING.md
I transferred some of the material in the new structure via #11. @CaptainSifff @jpthiele since I did not see any ready-to-copy descriptions and skills for the (very nice) resources you posted, and since I assume you would like to try out the system, I leave transferring your contributions as an exercise to you. :sweat_smile: I have reacted to everything I have already transferred as :eyes:.
Let's try to already transfer everything we have collected here and close this issue. Next contributions can happen directly via PRs (very easy) or individual issues.
If we want to link to lists of resources as well, I would make a separate tag for that (maybe a different audience option meta
). Maybe we could also rename the audience
to intent
.
Some of the material originally suggested here (by @CaptainSifff and @jpthiele) are still not on the website, but please open separate PRs for that. I am closing this for now, please always open one issue/PR for each resource / group of resources.
I found something that might be useful: https://aisel.aisnet.org/wi2022/sustainable_it/sustainable_it/2/