Free training resources to upskill on research software topics

Posted by s.aragon on 14 May 2022 - 11:24am
person with orange and grey trainers going upstairs
Photo by Bruno Nascimento

By Aleksandra Nenadic, SSI Training Lead.

There are many free and open training resources available to researchers and Research Software Engineers to upskill on various topics around software development, research data management/analysis, software project management, open and reproducible science, teaching and lesson development skills, and more. We listed some of them in our previous blog post “Training resources for researchers that want to learn to code”. Here, we expand that reference resource with more training entries. Note that this reference is not an exhaustive list - if you’d like a training resource mentioned here, please get in touch.

Some of these courses are being delivered at our Research Software Camp: Next Steps in Coding, 16 - 27 May 2022. To help you navigate the Camp’s schedule - we have created attendee profiles and signed-posted the Camp’s sessions based on the interests and current skill levels of our audiences. 

Jargon Busting Resources

If you are a beginner at developing code for your research or work, an excellent place to start is to familiarise yourself with the terminology used by the computational research communities. This is an important step as our learners come from different backgrounds, and may not be native English speakers – a term in one domain may mean something else entirely in another.

The Turing Way’s HandBook to reproducible, ethical and collaborative data science contains a very useful and comprehensive glossary of terms.

The Carpentries Glossario is another open-source and multilingual glossary of data science terms. 

The Carpentries workshops often start with a jargon-busting session to make sure everyone understands the terminology used - one such example is Library Carpentry’s Jargon Busting.

Computational Skills Resources


If you are a researcher who's begun writing code/software for research, who perhaps aspires to improve their skills and how to apply them, and perhaps needs help understanding some research software-related problems - try the following introductory resources on software development, data management and analysis and open and reproducible research.


Resource Topic(s) Domain(s)
Software Carpentry; Data Carpentry; Library Carpentry R, Python, shell, Git, spreadsheets, OpenRefine, regular expressions, data analysis and visualisation, etc. Various domains; general
Good enough scientific computing practices;
Managing academic software development
Project management using GitHub General
Building websites with Jekyll and GitHub pages Markdown, GitHub Pages websites, Jekyll General
Programming Historian Python, data management and visualisation, mapping, web scraping, network analysis, etc. Humanities; information management
R, Open Research, and Reproducibility R, open and reproducible research Psychology; general
Open Intro to Python Python, open and reproducible research Psychology; general
Introductory Statistics for Public Health R, statistics, data analysis, data science Public health; biomedicine, biosciences
Data Science training programme for Health and Biosciences researchers R, Python, statistics, data analysis, data science Public health; biomedicine, biosciences
The Turing Way Handbook Open research, reproducibility, research (software) project management General
RDM Kit Data management/analysis skills, FAIR data Biosciences
Library Carpentry: Fair Data and Software FAIR data & software Humanities; information management

Research Software Engineering with Python: 

Building software that makes research possible

shell, Git, testing General


Beginner to Intermediate

For researcher developers and early career Research Software Engineers who have already attended some foundational training, the following beginner-intermediate resources may be of use to further their skills.

Resource Topic(s) Domain(s)
Python Data Science Handbook by Jake VanderPlas Data science General
Carpentries Incubator An open repository for sharing community-developed lessons on various topics Various domains; general
Super Computing Wales training HPC General
Data Carpentry HPC lesson HPC Genomics
DiRAC Training HPC General
HPC Carpentry HPC General
Level Up Your Python course by Henry Schreiner Python General
DZone tutorials Various topics General
Introduction to BinderHub Binder, BinderHub General
Docker Introduction Docker container, reproducible computational environments General
Singularity Introduction Singularity container, reproducible computational environments General
Cloud computing intro for genomics Cloud computing Genomics


Check out the resources below for more experienced RSEs and researchers developers who started working on larger, more complex research software projects and are looking at the next steps to improve their skills further to overcome challenges in such projects, particularly around collaborating on research software development in teams.

Resource Topic(s) Domain(s)
Beuzen & Timbers: Python Packages Python packaging General
Intermediate Research Software skills Software design and development in teams, Python General
CodingWithJamesMurphy YouTube channel Python General
CodeRefinery A collection of lessons on different topics; shell, Git, testing, collaborative code development, etc. General


Teaching and Training Development Skills

If you already have an RSE skills background, and have some experience with delivering teaching or training or some prior experience in building materials for knowledge transfer or training, and aspire to improve your teaching or lesson creation skills to train others (perhaps within local research domain groups or more widely as part of a project), the following training resources are for you.

Resource Topic(s) Domain(s)
Diàtaxis: A systematic framework for technical documentation authoring Writing technical documentation, how-to guides and tutorials General
Carpentries Lesson Development Pedagogical skills on developing effective lessons collaboratively General
Carpentries Instructor Training Pedagogical skills on teaching tech to novices, instructor training General
Carpentries Lesson development study groups Pedagogical skills on developing effective lessons collaboratively General
CodeRefinery’s Instructor Training Pedagogical skills on teaching tech to novices, instructor training General
ELIXIR's Train the Trainer Pedagogical skills on teaching tech to novices, instructor training General


Want to discuss this post with us? Send us an email or contact us on Twitter @SoftwareSaved.  

Share this page