Research Software Development
Our goal is to help researchers to produce high quality research software, from the simplest scripts to complex simulations running on state-of-the-art supercomputers.
Our flexible approach means we have been able to help researchers from every part of UCL with research programming projects. Whether helping to coax an improved level of performance out of code running on high performance systems, updating legacy code to extend its life, or developing new tools from scratch, we aim to make a crucial difference to research at UCL across all disciplines.
You can see the projects we're currently working on in the carousel above, or find a full list of projects below.
Computationally based research has the potential to set the highest standards for openness, reproducibility, and reliability in research methods. However, a lack of appreciation for the significance of software as a research output often leads to software created in research institutions being treated as a secondary concern. Research software is often developed quickly to solve one-off problems, leading to fragile code that is generally not sustainable or usable beyond the lifetime of a given project, and is hard for other researchers to read and understand. Whilst commercial software engineers tend to follow a more disciplined approach to software development, collaborations with academia can fail due to lack of understanding of the research context.
Our solution has been to create a dedicated group of Research Software Engineers at UCL who combine academic research experience with an appreciation of good software engineering principles. We provide a service which helps researchers to build more readable, reliable and efficient code. Our work is not just about producing software on behalf of researchers; we work collaboratively, providing the tools, advice and training researchers need in order to follow best practice and continue to develop sustainable software in future.
We also work with partners such as the Software Sustainability Institute to advocate on behalf of research programmers for software as a first-class research output. Research Software Engineers will be an important part of the twenty-first century research team, and building a stable home for these skills in academia will help secure for research the benefits of a high quality, sustainable software infrastructure.
We are keen to engage with research groups from across UCL who are developing their own software, to learn about existing projects and to understand the needs of the research community. If you are interested in using any of our services, please visit our support pages on the ISD website for more information.