The Research Software Engineering Initiative: Past, Present and Future
Research Software Engineering is an important and ubiquitous skill in today’s academia and a skill that is being used in almost all disciplines. We know from two surveys that were carried out in the last ten years that research software is everywhere and fundamental to research. One survey from the UK concluded that 92% of researchers confirmed that they are using research software and 69% said it was fundamental to their research. The second survey from the US confirmed that 95% of researchers said they are using research software and 66% said it is fundamental to their research. These surveys were in 2014 and 2017 respectively so as these were conducted a while ago, we can safely propose that the number of researchers who would say research software is fundamental to their research is even higher today.
A central pillar of science
Software is vital to research and therefore Research Software should be considered as a central pillar of science and a research output in its own right. Around the world, more needs to be achieved to recognise the value of research software engineering and provide a career path for those whose job it is to develop and maintain software in research environments.
Reward structures
The existing reward structures in academia have developed over many decades with many metrics remaining the same but they are not suitable anymore for all research output. Software is still not considered as a first-class research output by much of the research community and that needs to change. Research Software needs to be adopted into key performance indicators which should lead to enabling career paths and further recognition. At the same time, writing good code requires experience, training, expertise and specialist skills. Those doing research software engineering, (for example domain scientists, researchers, post docs, PhDs students) aren’t typically rewarded for good code but are pressured to produce results quickly.
Training
Some of the primary developers are unaware of what’s missing from their work so a concurrent goal is to improve techniques through training and knowledge exchange. All researchers, regardless of the discipline, should be exposed to good practices in research software development with the fundamentals of good software engineering forming part of basic research training. Many of the high-level FAIR data principles can be directly applied to research software by treating software and data as similar digital research objects. This asks that researchers improve the findability, accessibility, interoperability, and reusability of all research software.
The Mission
The goal of the worldwide RSE movement is to raise awareness of the role “research software engineer” and the practice of “research software engineering”. It is important to change the way scientific achievements are measured making research software engineering more visible to stakeholders and funders while also improving the quality and sustainability of research software to fully utilise the outputs long into the future.
Recognising the importance of Research Software Engineering is fundamental in a world where most research is powered by software and this can be summarised by the well-known motto ‘Better Software, Better Research’.
(the motto for research software engineering created by the Software Sustainability Institute in the UK and adopted around the world)
What is Research Software Engineering?
A common definition of Research Software Engineering is ‘the use of software engineering practices in research applications’. It’s an intricate understanding of research with software engineering experience which focuses on making research software reproducible, sustainable and reusable.
What is Research Software?
Research Software can be considered as ‘any software that is used to generate, process and analyse results that you intend to appear in a publication’. This definition may seem controversial because it makes us question whether research software must be intended to appear in publications. Some would argue that sometimes a proof of concept is needed or something is written for a grant proposal, so not all research software output will be published. Research Software can be anything from a few lines of code to a developed software package.
How did the RSE Movement start?
The history of the RSE movement begins at the ‘Collaborations Workshop’, an event run by the Software Sustainability Institute at Queen’s College Oxford in March 2012, when a small group discussed the lack of careers for software developers in academia. The lack of a career path for academic software developers wasn’t new but it hadn’t been tackled comprehensively. At that workshop, they realised that there was a group of people with extremely valuable skills who weren’t being recognised in the academic system for their contribution and therefore not rewarded appropriately.
Research Software Engineer
They coined the term ‘Research Software Engineer’ for this role and ‘Research Software Engineering’ for the practice. A new job title that fused together the two skills that make it unique: an understanding of domain-specific research and software engineering.
The purpose of the new job title and the RSE campaign that followed was to raise awareness of the importance of research software engineering, gain recognition for the role, improve the lack of career path and job security, and show that this role could be an interesting career for graduates and PhD students. The campaign also wanted to improve research incentives and the way in which they act against good software development and against providing support for software developers.
The first RSE workshop in 2013 at Oxford University was just 56 people and after that first workshop, the UK RSE Association was created with the Software Sustainability Institute (SSI) representing the fledgling community. In 2016, the SSI hosted the first ever RSE Conference and in 2017, they hosted the first International RSE Leaders meeting in the UK which inspired the creation of the USA and Germany national RSE Associations with other groups like the Nordics, Australia, New Zealand coming soon afterwards.
In 2019, the charity ‘The Society of Research Software Engineering’ was created so that the profession and community would have a formal central organisation that represented and advocated for the changes needed to their career.
RSE in Germany
A vibrant international RSE Community has developed from this campaign and in particular, Germany formed a national group called ‘de-RSE’ in 2018. Their aims are varied and ambitious and membership is open to all, see https://de-rse.org/de/index.html. They have an online community space where RSEs can network and organise an annual conference in the spring of each year.
The future of RSE
The vision for the future is to continue improving the research environment so that it recognises the vital role of software in research. We need to increase software skills, to promote collaboration between researchers and software experts, and to support the creation of a career path for Research Software Engineers.
How to get involved?
Getting involved is simple: find your local institutional RSE group and if there isn’t one, start to form one! Find others doing a similar role to you and start building your community of professional practice. Join the national community which in Germany is the de-RSE and get involved in the annual conference, volunteer for a working group, help to write a position paper and of course you can always join the international RSE community through the UK and US slack community platforms where you’ll find the largest community online and the largest annual conferences. As we create and expand our RSE community both online and in-person, we continue to show that Research Software Engineering is everywhere and vital to research and must be viewed as a first-class research output.