By Jeremy Cohen, Imperial College London (editor). See Contributors section at the end of the report for full list of contributors
The Collaborations Workshop 2018, run by the Software Sustainability Institute, provided a great opportunity for a wide range of people involved in software development or management within a research environment to come together and discuss a variety of current community issues. As part of the event, a series of mini-workshop sessions were held and this short report provides an overview of the session on building effective, sustainable research software communities.
Research software groups and communities are springing up at institutions around the UK and internationally. They offer the potential for software developers working in a research environment to meet their peers, find new collaboration opportunities, learn new skills and produce better software. This report has been produced collaboratively and summarises the discussion during the session. The raw content for this report was added interactively to a shared document by the attendees during the discussion. All session attendees are therefore credited as contributors.
RSE Groups and Communities
The session attracted more than 20 attendees representing at least 16 institutions. More than 85% of attendees said that their institution already has an RSE group or community, or is in the process of setting one up. At least two more institutions that are not represented among the listed session participants were highlighted as having RSE groups or communities and it is likely that there are several other institutions with existing or planned groups. Should we be surprised by this response? At one level probably not — CW18’s target audience includes individuals who are actively involved in RSE activities so these are more likely to be individuals from institutions where there are existing or emerging RSE teams/communities. At another level, this is quite a remarkable response. Looking back only 5 or 6 years, the term Research Software Engineer had only just been coined and the vast majority of research developers were unaware of it. Moving from this position to a place where a significant number of UK institutions have embraced the concept and are taking a new approach to how they support and handle software development for research is a huge achievement.
How can RSE groups and communities help?
We wanted to understand how RSE groups and communities can help individuals involved in the development of research software. What are the activities and services that are considered most important? This aspect of the discussion resulted in a range of different responses that can be grouped into three general areas:
Community encompasses a range of ways that RSE groups and communities can help bring together individuals involved in research software development. These include providing a forum where researchers, developers and RSEs can meet others and chat in person regularly, sharing technical problems to get ideas about different approaches to solving them. A general openness to people with all levels of expertise provides an inclusive and friendly environment for people to ask questions, no matter how basic, and receive help and support from their peers.
Communication includes a number of aspects in common with the community area, however, it focuses more on communicating and sharing of information and knowledge. For example, highlighting new perspectives on existing, and new, research questions, sharing of best practice, understanding what RSEs want and how they can best be supported in order to build engagement between individuals and the RSE community.
Culture is a more complex area but something that represents a very important aspect of how RSE groups and communities can help their members. This encompasses both the process of promoting culture change amongst RSEs and researchers, but also promoting institutional understanding and culture change in the way that institutions support and work with research developers. If RSE groups and communities can build an understanding at an institutional level of how the best practices advocated by the RSE movement can benefit research institutions, this should result in positive outcomes for the institution and its RSEs.
What RSE activities do RSEs feel are beneficial? What’s missing?
Session attendees felt that they had benefitted from a range of RSE activities:
- Training: This includes software carpentry courses, domain-specific training courses and technical talks providing an overview of interesting projects or software development technologies/processes.
- Mailing lists: Being on a list that disseminates community information, both local and national, and provides details of relevant events and opportunities, is a great way to keep up to date with what’s going on in the RSE field and to have the opportunity to get involved and take part.
- Community events, conferences, workshops: These provide a great way to get together with peers, learn new things and also meet and network with existing and potential collaborators and just generally meet fellow community members. Key RSE events include the annual RSE Conference and the Software Sustainability Institute’s Collaboration Workshops but smaller scale local events can also be very useful for meeting RSEs from different domains within your institution.
There were a few thoughts on what is missing in existing groups. It was highlighted that there are not currently RSE conferences similar to the annual UK RSE conference in other countries and efforts are underway to address this within some national communities, e.g. Germany. It was also felt that there is a lack of training to support people who are already intermediate-level developers. There is lots of basic-level training available through software carpentry and similar courses, and there are opportunities for specialist, domain-specific training, however, mid-level training to boost the skills of existing developers is lacking. Examples of this may include teaching advanced language concepts, advanced software architecture models/patterns, agile development techniques, managing software teams, etc.
Supporting RSEs, developers and researchers through local RSE groups/communities
How can RSE groups/communities support their local base of developers/researchers/RSEs? What can these individuals do to help build and sustain a local community?
These questions generated a number of responses. A general theme was that communication and engagement from both sides are required. RSE groups or local communities need to reach out to a wide range of individuals in an institution to highlight their existence. This may be via posters, email lists, departmental seminars, etc. They also need to make sure their contact details are easily accessible and it’s clear how to join a community mailing list and how to get involved with a community. However, the individuals who can benefit from these groups also need to support the group by attending events, publicising the group’s existence and, most of all, communicating what is good, what is not so good and what is missing. There were varying reports of both highly-successful, well-attended local RSE events, but also not so successful attempts to run events where there is limited attendance and difficulty in getting traction to grow the community. It is not at this stage clear exactly how these different scenarios come about since many groups are running similar types of events aimed at individuals of similar profiles.
A further point made was that local RSE groups and communities should look to provide a range of resources to their local members. These could include project templates, best practice guidelines and online materials providing guidance and support to RSEs. Great benefits can also be obtained through running or providing institutional-level access to supporting infrastructure such as code repositories, testing frameworks or tooling and project management tooling.
The CW18 session on building effective, sustainable research software communities summarised in this report benefitted from hearing a wide range of views and comments from its attendees. The session gathered an array of useful information that will be beneficial to the wider RSE domain in understanding both the positive and more challenging elements of building an RSE community. As awareness of the benefits of good quality research software development grows, RSE communities stand to provide an important role in helping to support networking and knowledge exchange, and in promoting and advancing best practice for the development of research software.
This report was produced collaboratively with all session participants being credited as contributors. Contributors include: Richard Adams, Cranfield University, Tania Allard, University of Sheffield, Ed Bennett, Swansea University, Louise Brown, University of Nottingham, Jeremy Cohen, Imperial College London (Editor), Sam Cox, University of Leicester, Mark Dawson, Swansea University, Stephan Druskat, Humboldt-Universität zu Berlin, Anastasis Georgoulas, University College London, James Graham, SSI / University of Southampton, Robert Haines, University of Manchester, Alexander Konovalov, University of St Andrews, Robin Long, University of Lancaster, Patrick McCann, University of St Andrews, Aleksandra Nenadic, SSI & University of Manchester, Martin O’Reilly, The Alan Turing Institute, Joseph Parker, STFC, Shoaib Sufi, SSI, University of Manchester, Matt Williams, University of Bristol, Mark Woodbridge, Imperial College London, Yo Yehudi, University of Cambridge