Research Software Engineering

The ACRC Research Software Engineering Group is a mix of grant-funded and core-funded engineers whose focus is to improve the reusability, robustness, sustainability and quality of research software developed across the University.

The ACRC Research Software Engineering (RSE) team is an "enabling" research group, which exists to collaborate with researchers at all levels across the University. You can get in touch with us either via emailing, or by following @BristolRSE on Twitter.

We can collaborate with you in many ways:

  • Training - We provide training workshops in programming, good software engineering, data analysis and machine learning, in a range of languages including Python, R, and C++. These workshops are available either as part of the ACRC training programme, or via partnerships with, e.g. CDTS and DTPs (please email us if you want to set up a partnership). More information and a link to all training material can be found here.

.Example of an RSE python training workshop

  • Consultancy - We can provide you with free consultancy support via ask-rse. We have a wealth of expertise within the group, and are happy to answer questions and provide one-to-one meetings with researchers who want to improve the quality of engineering of the software that they produce. For example, this could take the form of providing advice on how to better debug code, how to set up unit testing or continuous integration, how to design code for better maintainability and development, or general advice on how to progress software development. Please email us if you want to arrange a consultancy session.

Example RSE consultancy meeting

  • Partnership - We are an academic group, and can contribute credible and useful software engineering expertise and track-record to funding proposals. We run a pool of RSEs who can be costed onto research grants in an identical way as PDRAs. RSEs are costed in units of 50% fte in 6-month blocks, e.g. 50% for one year, 100% for 6 months, 100% for 2 years etc. In addition, as co-investigator members of the project management team, we can provide hot-desking space within the RSE group. Your researchers can co-locate to work with and learn from other software developers and RSEs. We provide mentoring, training, co-coding, code-review and peer-support to researchers engaged in software development on active funded research projects. In addition, as members of the project management team, we can help manage the software developent process, for example via proper setting of software development milestones, monitoring of progress, risk management and project reporting. Take a look at our case studies to see what we can do. Please get in touch if this is of interest.
  • Funding Advice - We have a good knowledge of the UK software funding landscape, and can provide advice on which schemes would be appropriate for different software development proposals. The RSE group can also provide advice on how best to structure a software development proposal, including what should be included to ensure that the software is engineered to a high standard. In addition, we can advise on realistic timescales for different types of software development.
  • Lectures / Talks - We have a range of lecture and talk material on the subject of good software engineering, best practice, and how it can be applied within an academic setting. We are always very happy to present these talks on request.
  • Cloud - We have a lot of experience of developing and adapting software for use on a variety of different cloud platforms, and using cloud technologies such as containers (e.g. docker), orchestrators (e.g. kubernetes) and notebooks (e.g. Jupyter). We have also developed cluster-in-the-cloud, which is used to create and manage on-demand HPC clusters. If you are interested in using the cloud, writing software for the cloud, or just learning how the cloud could support your research, please feel free to get in touch.‌
Edit this page