Perversely, academic research penalises expert software developers for providing the tools on which the research relies. Time for a change, says Simon Hettrick of the Software Sustainability Institute.
We need software: it’s an integral part of modern research across all disciplines. However, harnessing the opportunities that software provides, whilst conducting reliable research, requires the influx of new skills. In turn, this requires a re-think of the roles that make up our research groups. Academia has yet to adapt to software-reliant research, which leads to missed opportunities and, more shamefully, disregard for the very people on whom we rely for help.
In a recent study, the Software Sustainability Institute found that almost 70 per cent of researchers at research-intensive universities in the UK reported that code was fundamental to their work. The Institute is a consortium of universities – Edinburgh, Southampton, Manchester, and Oxford – which together represent more than 25 years of collaboration on software for research with unparalleled software engineering expertise. Its mission is to cultivate better, more sustainable, research software to facilitate world-class research.
Although there is a tendency here to think about the large-scale software written by professional software development companies, the true workhorses of research are the programs and scripts written within academia.
Much of this software exists thanks to researchers whose interest in writing code has led them to become their group’s resident software expert. There is nothing inherently wrong with this situation, but a serious problem arises when some of these people – responding to the demand for their skills - begin to write just code, and not papers for publication in the scientific literature.
Recognition of status and career advancement in academia relies on publications. If your skills as a software developer lead you to focus on code to the detriment of your publication history, then your career will come to a grinding halt – despite the fact that your work may have significantly advanced research. This situation is simply not acceptable.
We rely on expert software developers to provide the tools we need for research, and then penalise them for doing so. To become a software developer in academia you must sacrifice your career aspirations, job security, and a salary commensurate to your contribution. This cost is simply too high for most people, and many move to industry where their skills are appreciated and rewarded.
The problem comes down to a lack of a career path in academia for software developers. This is not a problem for the UK alone, it’s a situation mirrored across the rest of Europe, Australia, Canada, and, to a lesser extent, the USA.
Without a career path into which software developers can be recruited, investigators have to be creative. When applying for funding, most academic software development positions are claimed as postdoctoral research positions – but again, this is a role where your publications determine your future. Although this allows research groups to acquire the skills they need, it does so at the cost of recruiting a person into a dead-end position.
The solution is conceptually simple, but a nightmare of logistics and politics. We must create a career path for software developers with appropriate metrics to track their contribution.
Since software developers in academia lacked a formal job title (other than ‘postdoc’) the first step was to create one. In 2012, we coined the term Research Software Engineer to describe people who combine an intimate understanding of research with expertise in software engineering. We also helped set up the UK Association of Research Software Engineers to gauge interest and have campaigned for recognition of the role. This campaign received a major boost this year when the UK’s Engineering and Physical Sciences Research Council invested £3 million into a fellowship programme for Research Software Engineers.
Since 2013, we have attracted almost 500 people to the association – 150 in this year alone. What’s more, there appears to be much room for growth. Early research into academic job adverts, conducted by the Software Sustainability Institute, indicates that up to 7 per cent of academic roles -- or almost 20,000 people in the UK -- may have a role in software development.
Now that we have a job title that appears to be popular with the community, our efforts are focused on creating a career path. This will take considerable work. The duties of a Research Software Engineer must be understood and transformed into a career path with skills and responsibilities that track seniority.
By the end of this year, the Institute will begin this work by surveying Research Software Engineers to gather information. Each university and research organisation has its own accepted career paths, so we must work with these organisations to find an acceptable way of adding a new one. This is a problem of considerable scale, so we’re starting with the universities at which the Institute is based, and then plan to use these early adopters as examples for others – in the UK and beyond.
With the growth of software in research, it is logical to expect a corresponding growth in skilled people who can produce software that meets the requirements of reliability and reproducibility that we expect from any other research tool. This will not happen if we continue to rely on the goodwill of software developers hidden in research positions.
If we are to assure that research software receives the professional attention it requires, we must welcome software developers into a role in academia. If we do not, we run the risk that many more scientific findings will have to be retracted from the academic literature, as a result of poor quality code. In this respect, not to recognise the contribution of Research Software Engineers is to place an artificial constraint on the research we could conduct, and to alienate the very people who could help.
Simon Hettrick is Deputy Director of the Software Sustainability Institute