By Scott Henwood | Director, Research Software Program
In September 2018, CANARIE, in conjunction with the UK Software Sustainability Institute (SSI), launched the second Canadian Research Software Developer Survey, to learn more about Canadians who write software to support academic research. This was one of several similar surveys launched simultaneously in other countries and the SSI will be creating a report comparing these surveys over the coming months. In the meantime, I’d like to share some Canadian highlights.
First, thanks to all of you who contributed to the survey. This year, we received 102 complete responses. CANARIE relies on feedback from the community in order to evolve our Research Software program to best support research in Canada. As much research now includes software components, other research funders and the research institutions themselves may also benefit from these findings.
There’s a bit of a stereotype in the international community that research software developers are typically postdocs with expertise in non-software disciplines, who write software because they have to in order to support their own research. Whether or not this stereotype is correct, it is certainly not the case with our respondents.
Who are the Canadian academic research software developers then?
Responses to the survey shows a variety of levels of formal education, but with most having a background in Information Technology (IT) rather than in a specific scientific discipline. More importantly, 50% of respondents self-identify as professional software developers and 75% are full-time employees of their institutions.
Dispelling the myth that researchers often write their own code, 31% of respondents reported that they mostly write code for use by other people vs. 4% who reported that their code was mostly used by themselves. Further, 56% indicated that the researchers they work with regularly changed.
Exploring the Work Environment
As is the case in other countries, Research Software developers in Canada are difficult to identify due to a vast range of job titles. In fact, there were 70 different job titles among the 100 people who answered the question. The most popular response (“Application Programmer”) was reported only 5 times.
Despite a lean towards IT and physics in their formal education, respondents support researchers in 42 different disciplines across all areas of inquiry.
Most interestingly, 48% of those who took the survey indicated that they were already part of a software group dedicated to supporting researchers within their institution. Based on previous discussions with the community, we believe that such groups (at least in the university setting) are limited to working with a single faculty rather than with all researchers at the institution, but this will certainly be an area for investigation in the next survey.
The Development Landscape
In terms of software development technologies, research software developers operate in environments similar to that of their private sector counterparts. The relative popularity of programming languages seems to be similar to that listed in general polls of all software developers and the most popular OS is Linux.
There are some striking differences as well. Almost half (49%) of respondents indicated that their teams followed no formal development methodology. In my experience, private sector organizations usually have some methodology in place, even if it’s home-grown. The next two most popular answers, Scrum (32%) and Kanban (13%) were created outside of academia. Perhaps this is a case of the academy being slow to adopt methodologies created by industry.
Testing is another interesting area with only 12% of respondents indicating that their software was tested by dedicated test engineers and 4% stating that there was no formal testing at all. The majority (63%) indicated that the developers did their own testing. See my previous blog post on tips to build the best software for scientific research for my thoughts on why this may not be ideal.
The top two deployment hardware platforms are laptop/desktop computers (22%) and stand-alone servers (21%). Although there’s nothing inherently wrong with this, cloud deployments have advantages in terms of portability and collaboration. We’ll delve into deployment platforms more in future surveys.
The software developers themselves seem to agree that there is room for improvement, with 68% indicating they would be interested in joining an organization of research software developers in Canada and 52% citing training as a possible benefit.
So, what will CANARIE do with this information?
We’re always looking for ways to improve software to support academic research in Canada and we’ll be using the results of this survey to guide future activities. For example, as a result of previous feedback from the community, we transitioned our annual Research Software Developers’ Workshop to a full-fledged Canadian Research Software Conference in 2018 (researchsoftware.ca). We’ll be investigating the survey results in detail over the next few months and will report back any significant findings.
These surveys also help us understand which aspects of research software development require more investigation. Look for some new questions in the next survey to investigate research software groups and software reuse.
In the meantime, the results of the survey belong to the community and we’ve released it under a Creative Commons license. You can access the raw data and basic graphs of the results on GitHub (DOI 10.5281/zenodo.1472354).