The future of the scientific software developer in academia
In this guest post, Quanbin Sun from the University of Salford discusses his experience at the Collaborations Workshop 12. Quanbin was one of five developers who received support from DevCSI to attend this event and report back for the community.
During 21st and 22nd March, the Collaboration Workshop 12 was taking place at Queen’s College of Oxford University. The workshop mainly focused on software development in academic projects and attracted more than fifteen researchers and developers. Thirty two topics were raised and discussed during the two day event and more than twenty lightning talks were presented.
Among these discussions and topics, I enjoyed the ones that were related to the collaboration between scientific researchers and software developers, and a possible new species for academic research projects – the scientific software developer – who acts between the two or plays a dual role in the research.
Who/What is a Scientific Software Developer
Alongside the rapid development of computer and computer technology, most recent scientific research will have involved computer software or software development. In the workshop someone mentioned that 40% of research projects were linked to software. We heard about topics such as “Teaching programming to scientist” and “Successful collaboration with computer scientists”, which provided some nice suggestions. However, there are some natural limitations with these approaches. For example, the strength of a scientist relies on their research ability and if they start to care about programming they may lost focus. The computer scientists (referred to as to software developers, for clarification during the discussions) usually care about the quality of the software and cannot be fully aware of the research process.
So we need someone who can act the both roles and carry a software project toward success. Someone who knows the nature of the research and also is familiar with principles of software development.
Current status of Scientific Software Developer
It is quite common that researchers do programming themselves and as we know this usually result in a poor, non-reusable, non-maintainable software.
A similar role does exist, but unfortunately there is a lack of identification and the person who does this job has usually not been recognised properly. Such a person may be treated as a RA or RF, although they do a different job. There are some groups (Scientific Software Development and Management, Computational Science, and Computational Scientists and Engineers) on LinkedIn, but we still lack a formal name for whatever we called new species.
Gorissen from University of Southampton mentioned they now have some posts for specialised scientific software developers. There was one workshop participant from Imperial University who has similar job. But the we have not heard much of these from other universities. Henji from Microsoft also mentioned that Microsoft Research (Cambridge) has “Research Software Development Engineers”, although this is not an academic position.
Where does a Scientific Software Developer go?
The main problem with the role of the scientific software developer is not the lack of a proper name, but the lack of career track and path. There isn’t a senior position for such a role. Eventually, you have to follow the route of Research Assistant –> (Research Fellow) –> Lecturer –> Senior Lecturer –> (Reader) –> Professor if you want to develop your career further. But as a scientific software developer you may lack publications or project grants, which are essential in climbing the academic ladder. If you decided to opt for a career in industry, they may consider you to have no practical experience. So basically, you have wasted your time in such a role, as it cannot provide you with a strong portfolio.
Another problem identified in the workshop is that in bids for academic research projects, the labour of software developer is usually under-estimated, so there may not be enough funding for another developer. From the university’s point of view, having a pure scientific software developer on staff who is not subject to any project is a waste and risk in finance, especially in the current situation of government funding cuts.
What is the future of the Scientific Software Developer?
Now, and in the near future, scientific software developers will still be a minority in academia. But things are getting better, as Dan Emmerson from EPSRC introduced the Action Plan of “Software as an Infrastructure”. We will expect more funding and job posts in the coming years.