SWD 3: Software development practices for research programming

Workshop content

The purpose of this workshop is to introduce a number of the techniques and concepts that professional software developers use to manage their code, projects and teams. Although the development of research codes and software has different needs and challenges to the development of commercial software, there are nonetheless some tools and techniques that we can adopt or adopt to improve our Research Software Engineering.

This isn’t a programming workshop, so it will be relevant to you whichever programming language (on Windows, Linux or Mac) or infrastructure (HPC, Cloud, Desktop) you use.

This will be a hands-on session with lots of discussion and small group activities. We’ll be joined by a number of people who develop codes and software who will share their experiences.

Sessions in the workshop will cover:

  • Defining and managing projects and teams
  • Software and data management plans
  • Effective communication tools and techniques
  • Planning and software design
  • Git and version control workflows
  • Testing and code review
  • Continuous Integration (CI) and Continuous Development (CD): Tools and techniques
  • End of project reviews


This is an intermediate level workshop for people who are already programming in any programming language.


one day


This workshop usually runs once each academic year.


This workshop is suitable for all research staff and students.


This course can be booked through the IT Training Unit. Click here to book.