2018-05-04

How do we build a Nordic-wide community of scientific software developers, application experts and other e-science experts?

This blog post is the result of the speed blogging session during NeIC All Hands Meeting 2018, where participants were given one hour to collaboratively write an opinion piece on various subject matters.

Research groups across a wide range of disciplines rely on software in day-to-day research activities, and much of this software is developed within the research groups themselves. The required software development is typically performed by PhD students and postdocs who possess extensive domain expertise, but lack formal training in software development. At the same time, people with technical expertise relevant to scientific software development exist across the Nordic countries. Various approaches have been developed in the different Nordic countries for connecting technical experts with academic communities. Swedish SNIC centres have application experts who can provide long-term support to research groups; the CSC centre in Finland has Science Support and HPC Support groups which support code development and HPC programming; Norway has a system for advanced user support in time-limited projects where Sigma2 funds personnel at HPC centres for some time to collaborate with a research group on a well-defined project.

However, the current situation is suboptimal in several ways. While the expertise and the demand for advanced application and software support exists, the relevant experts and researchers are often disconnected and unaware of each other. For example, even though NeIC hosts several prominent teams of researchers and software experts, the coherency is not quite there yet, and NeIC expertise is not widely advertised. Researchers tend to solve their problems by consulting either fellow researchers or a few known individual experts.

As a result, there are many disparate specialised clusters, with little exchange of technical expertise, and researchers lack a common entry point to seek professional advice and assistance on writing scientific software. Another problem is that while scientific software development is an integral part of modern science, it suffers from both a lack of recognition and career opportunities in an environment of short term positions that favour fundraising ability and publications metrics. Scientific software is therefore often developed with no long-term view of the upkeep or reusability of the software, leading to unnecessary repetition of effort. This is not just a problem for the people writing the software, but also adds to the crisis of reproducibility when no one really understands software used to publish articles only a few years earlier. It might not even be possible to compile or run the software anymore because software environments (OS, hardware and standard libraries) have changed too much, unless the software has been developed with this portability in mind.

What can be done to improve the situation? One possible approach would be for NeIC to initiate a project-setup for a Nordic e-Science community containing at least 5 national ambassador positions, coordinated and managed by a project leader. Each country would appoint its own (set of) national ambassador(s) which would be responsible for outreach activities, training events hosted at national level, HPC centre collaborations and other types of dissemination, such as communication through websites, social media, etc. The project leader and national ambassadors would jointly drive the Nordic e-Science community, through sharing and building up competencies nationally as well as across our Nordic borders.

An alternative approach is to gradually build up a RSE (research software engineer) community from the grassroots in a similar way as has been done with great success in other countries including the UK, Netherlands and Germany (the UK initiative paved the way: http://rse.ac.uk/). In fact, the first steps along this direction have already been taken in the form of the Nordic RSE initiative (http://nordic-rse.org/). This initiative aims to bring together a community of people writing and contributing to research software from Nordic universities, research institutes, companies and other organizations to share knowledge, organize meetings, and raise awareness for the scientific recognition of research software. As a first step towards building an RSE community in the Nordics, a survey will be conducted to better understand the various environments in which software development takes place in Nordic research communities and what can be done to support them. To facilitate efficient communication between members of the community, both a mailing list and a Slack channel have been created. However, growing online communities can be difficult without physical meeting places where people can get to know each other. Annual meetings will therefore be organized for people in RSE positions and other researchers who would like to meet and discuss with software experts. Such meetings will provide a platform to share experiences, challenges and solutions, which could really spark new collaborations and provide learning opportunities. In addition, the Nordic RSE community would become a part of the greater international RSE network, an opening for even wider collaborations and knowledge-sharing.

It remains to be seen how successful the Nordic-RSE initiative will be in building a community of research software developers in the Nordics, but the fact that such networks exist and thrive in other countries provides grounds for optimism. NeIC’s role in growing and supporting an emerging RSE community could take many forms, even without additional funding or formal project structure. First, many NeIC employees could contribute to, and benefit from, taking active part in online discussions on scientific software development - after all, NeIC staff is already accustomed to working in decentralized and distributed teams! Second, NeIC could support Nordic RSE-related training activities through the Ratatosk mobility enhancement programme. Finally, NeIC could provide much needed help in engaging universities and funding agencies in a discussion on the situation for RSEs in research projects, and the importance of establishing alternative career pathways for these people in universities. If any lesson can be drawn from other national RSE communities, it is that by organizing and mobilizing a community of research software engineers, much can be accomplished to improve the quality of research software, the reproducibility of research, and not least the job satisfaction of the RSEs themselves.

Authors: Máni Maríus Viðarsson, Thor Wikfeldt, Radovan Bast, Oxana Smirnova, Juha Fagerholm, Christian Søttrup, Matthias Obst, Lene Krøl Andersen, Maja, Bjørn, Lars Viklund

Contributions from: Radek Lonka and Anne Claire Fouilloux