Modern research and data science rarely happen in isolation. Whether you are working on scripts, analysis pipelines, or full software projects: collaboration, version control, and reproducibility are essential for producing reliable and reusable results. Good software practices not only make your code easier to share and maintain, but also ensure that others, including your future self, can understand and build on your work.
This course introduces practical approaches to collaborative and FAIR software development. Through hands-on exercises, you will learn how to manage code using distributed version control, collaborate effectively with others, and structure projects in a clear and reproducible way. The course also covers testing, documentation, and environment management, helping you move from individual scripts to well-organised, shareable software projects.



These recordings from previous workshops allow you to revisit the course content or work through it at your own pace.
Your trainersHere you can explore the written material and exercises which are available in several languages.