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 Carpentriescarpentries.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.