Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Material #2

Closed
CaptainSifff opened this issue Dec 4, 2023 · 20 comments
Closed

Material #2

CaptainSifff opened this issue Dec 4, 2023 · 20 comments
Assignees

Comments

@CaptainSifff
Copy link
Collaborator

I found something that might be useful:
https://aisel.aisnet.org/wi2022/sustainable_it/sustainable_it/2/

@CaptainSifff
Copy link
Collaborator Author

More MAterial:
https://zenodo.org/records/8324828

@CaptainSifff
Copy link
Collaborator Author

@MakisH
Copy link
Collaborator

MakisH commented Dec 15, 2023

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

@MakisH
Copy link
Collaborator

MakisH commented Jan 19, 2024

It would be great help to start if everyone could give one resource about each pillar:

  • Software Engineering
  • Research skills
  • Communication/team skills

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.

@MakisH
Copy link
Collaborator

MakisH commented Jan 19, 2024

Let me start with an example.

Software Engineering skills: Research Software Engineering with Python

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:

  • Covered: DOCBB, LIBS, SWREPOS, SRU, TEAM, PM
  • Kind-of covered: MOD, SP, USERS
  • Not covered at all: NEW, RC, DOMREP, TEACH,

Notes: This has not much to do with Python and Python is not required.

Research skills: Nature Masterclasses

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:

  • Covered: RC, PM
  • Kind-of covered: USERS, ??? SRU, SP, DOMREP ??? Not sure how to even acquire the NEW.
  • Not covered at all: DOCBB, LIBS, SWREPOS, SRU, TEAM, MOD, TEACH

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.

Communication skills: Julia Evans - Help! I have a manager!

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:

  • Covered: USERS
  • Kinda covered: TEAM, TEACH, PM
  • Not covered: DOCBB, LIBS, SWLC, SWREPOS, MOS, NEW, RC, SRU, SP, DOMREP

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.

Further impulses

@CaptainSifff
Copy link
Collaborator Author

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

@CaptainSifff
Copy link
Collaborator Author

CaptainSifff commented Jan 23, 2024

Research Skills:

Good Scientific practice:

DFG Codex
SWC Code of Conduct

Covered: RC, SRU, TEAM, TEACH, SP, USERS

@samumantha
Copy link

CodeRefinery

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, ..?

@samumantha
Copy link

samumantha commented Jan 24, 2024

Better Scientific Software

Materials all around writing better scientific software and beyond: https://bssw.io/items

covered: DOCBB, LIBS (?), SWLC (?) , SWREPOS, MOD (?), SRU, SP , TEACH, PM

@samumantha
Copy link

Another porject, similar to CodeRefinery and Bssw: INTERSECT

In addition to their own materials they also provide a list of other RSE learning materials

@samumantha
Copy link

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/

@samumantha
Copy link

Specific to Python but with lots of good general hints too: https://www.pyopensci.org/python-package-guide/index.html
Linking to SP

@jpthiele
Copy link

Sadly somewhat in between SE and R
but the Good enough practices for scientific computing are a nice ressource.

@guadabsb15
Copy link

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

@CaptainSifff
Copy link
Collaborator Author

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

@samumantha
Copy link

TEACHING, related to above mentioned Carpentries instructor training: CodeRefinery instructor training and built on both there is the ENCCS - best practices for HPC training

@CaptainSifff
Copy link
Collaborator Author

CaptainSifff commented Feb 2, 2024

I have a strong feeling, that it wouldn't hurt if we mention this: https://www.computer.org/education/bodies-of-knowledge/software-engineering

This was referenced Feb 15, 2024
@MakisH
Copy link
Collaborator

MakisH commented Feb 17, 2024

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. 😅 I have reacted to everything I have already transferred as 👀.

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.

@MakisH
Copy link
Collaborator

MakisH commented Feb 17, 2024

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.

@MakisH MakisH self-assigned this Feb 19, 2024
@MakisH
Copy link
Collaborator

MakisH commented Apr 17, 2024

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.

@MakisH MakisH closed this as completed Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants