RSE Training Pathways: Where to Start
One of the most common questions we hear is: “I want to improve my software skills — where do I start?” This post outlines some well-established pathways.
Foundational skills
If you are new to software development, or want to fill gaps in your foundations, these resources are widely used in the research community:
- The Carpentries — carpentries.org offers open, peer-reviewed lessons in software and data skills, with workshops run at institutions worldwide. Software Carpentry (shell, Git, Python/R) is a good starting point.
- Missing Semester (MIT) — a course covering the tools that are rarely taught formally: shell scripting, version control, debugging, and more. Freely available online.
Intermediate development practices
Once you are comfortable with the basics, the next step is learning practices that make software more reliable and maintainable:
- Version control workflows (branching, pull requests, code review)
- Testing (unit tests, continuous integration)
- Documentation (docstrings, README files, changelogs)
- Packaging and dependency management
The FAIR4RS principles (Findable, Accessible, Interoperable, Reusable for Research Software) provide a useful framework for thinking about software quality in a research context.
Community and peer learning
Formal training is only part of the picture. Joining communities — local RSE groups, online forums, or open source projects — is often where the deepest learning happens. The RSE-CEP project supports community building as part of its capacity enhancement work.
We will publish more detailed guidance on training pathways as the project develops.