Why create the Research Software Engineer’s Toolkit?
Since the term “RSE” (Research Software Engineer) term was first coined back in 2012, there has been a huge growth in awareness of research software engineering and in jobs and community activities for individuals undertaking RSE-type work.
The RSE community in the UK and beyond has been developing rapidly with groups and communities being started and growing at quite a pace as the interest in research software engineering continues to increase. This resource is intended to support this growth and provide both a summary of, and links to, details on key skills and practices for RSEs. In addition we intend the resource to offer a place where community members can link to their own materials or collaboratively develop new materials.
Software has become ever more important in supporting and undertaking research and its use has expanded to cover almost all domains. Alongside this growth in the importance of software, the amount of information available online providing tutorials, blog posts, discussions and suggestions about how to develop and work with software and related tools has grown accordingly.
There is a wealth of information out there but, with so much material, it can sometimes be difficult to find what we’re looking for, or more generally, to find a summary of the things it is useful to know or be aware of as an RSE. How do we know what information is relevant, what approaches, technologies and tools to use, and what are considered good, or bad, practices within the domain or environment that we work in.
For RSEs, additional challenges may also exist around moving between different domains and knowing what approaches to building software and applying best practices can work best within a research environment.
The RSEToolkit is being developed to help address these challenges.
It’s taken some time to get the toolkit started but it is hoped that the initial content will form a basis for additional contributions and that this will develop into a community resource that is both used and run by RSEs and researchers.
Content and resources
The initial set of resource areas for RTK is likely to change, and hopefully grow, over time. Some areas may expand, others may become less significant and some may disappear as new areas are added. We encourage members of the community to help make the content fit what you would like to see and what you find useful.
The core, initial content covers the following areas:
- Role guides: Key resources for individuals with different research software related roles or levels of experience:
- New to RSE: Information for newcomers to RSE
- Experienced RSE: Information for experienced RSEs
- Researcher: Information for researchers involved with the development of software
- Trainer: Information for individuals whose primary role is supporting or undertaking research software-related training
- Community manager: Community managers working in the research software space
- Subject guides: Subject guides for researchers/RSEs undertaking research software development work in specific domains
- This material focuses on helping to support mobility of RSEs between domains, offering core information provided by RSEs to help you get started in a new domain.
- Technical material:
- Programming languages: Guides to key resources for working in different programming languages
- Best practices: Focus on best practices around software version control, testing, continuous integration/deployment (CI/CD), etc.
We welcome contributions to the RSEToolkit. There are various different ways that you can contribute:
- Open an issue in the repository to request the addition of new content.
- Open an issue in the repository, along with a pull request, to provide new content.
- Tell us about any errors by opening “Error report” issue.
- Help to raise awareness of the resource by telling your colleagues and members of your communities.
While we very much welcome all contributions to the resource, please take a look at our contributing guidelines for additional advice and information on contributing.
The aim of the RSEToolkit is not to reinvent the wheel but to offer a concise overview, where relevant, and then to link to existing content as far as possible. Where it is felt that no existing content offers a perspective that is ideally suited to RSEs, we hope to provide this through community contributed material.
Code of Conduct
We’d also like to highlight and remind you of our Code of Conduct which applies to any interactions that you have in relation to the RSEToolkit.
Thanks for your interest in the RSEToolkit, we hope you find it an interesting and valuable resource in supporting your RSE work.