DOILink Checker

Guide

This is a guide to research software development at the Netherlands eScience Center. It is a living document, written by and for our research software engineers (RSEs) and our collaborators.

We write it for two reasons:

  1. To have a trusted source for quickly getting started on selected software development topics. We hope this will help RSEs (including our future selves!) to get off to a flying start on new projects in software/technological areas they are not yet familiar with.
  2. To discuss and reach consensus on such topics/areas. This in itself is valuable experience! Discussing your practices can be confronting and a bit uncomfortable, but often teaches you new tricks and points of view.

Openness and collaboration are at the heart of the eScience Center, which is why we develop and share these guidelines in the open. Join us!

Contents

To get started, check out the checklist of generic research software engineering advice in the Best Practices chapter. This chapter lists the most important overall attention points while developing research software. For more details, the sections refer to selected resources in community guides that we collaborate with.

If you are looking for more in-depth advise on using a specific programming language, have a look at the language guides. Here we catalogue our experiences with the languages we use the most in our research software development projects. We also provide technology guides on digital technologies we use often in our projects with research partners.

Resources

All of the text in this guide is backed by our own experiences in developing high quality research software. However, we also learn from and share knowledge with other community-driven research software guides. The two most important of these are The Turing Way and the Research Software Quality Kit. Their scope is slightly different, but we collaborate with them when we can.

Contributing

Please consider contributing to this book! It is a great way to make long-lasting impact by sharing your time-tested knowledge and expertise. You'll hone your writing skills while you're at it.

See the Contributing to this Guide chapter if you want to know more about how you can help, or ask one of the editors. Currently the editorial team consists of: