[ Sponsorenlogos: Förderverein CampusSource e.V., Helmholtz Open Science Office und de-RSE e.V. ]

campusSOURCE vergibt im Jahr 2022 in Kooperation mit
dem Helmholtz Open Science Office und de-RSE e.V. den

campusSOURCE Award 2022

Bekanntgabe Preisträger Infos zu den Preisträgern Ausschreibung Call for Application

Sonderpreis:
The CodeClub at the Max Planck Institue of Psychiatry

Jonas Hagenberg
jonas_hagenberg@psych.mpg.de

Linda Dieckmann
linda_dieckmann@psych.mpg.de

Dept. Translational Research in Psychiatry
MPI of Psychiatry
Kraepelinstr. 2-10
80804 Munich
Germany

Introduction

At the Max Planck Institute of Psychiatry (MPIP) people with different programming skills, from wet-lab scientists to bioinformaticians, work together. Also, quite a lot of PhD students who have not received a formal education in computer science perform primarily computational work. Hence, we revived and reorganized the CodeClub at the MPIP with monthly meetings. Here, we hold presentations about programming topics, discuss problems encountered in the last month and find partners for code review.

Goals

Our main goal is to increase the quality of research software and scripts developed and used for our research. By increasing code quality, we aim to make our research more reproducible and reduce the number of errors.

Especially in sight of the last two years, where most people have been working from home, we want to foster collaboration between computational researchers at our institute and connect people across different groups and backgrounds.

To have an impact beyond the MPIP, we encourage Open Science practices so that our software and scripts can be used by a wider scientific community.

Lastly, we hope that by having a central organization for programming related topics, the importance of research software engineering is better represented and recognized within our institute.

Organizational details

The CodeClub is organized by us two PhD students. Our project has the support of our department head. Therefore, we were able to fit the CodeClub into an existing schedule of rotating meetings and could replace another meeting. Also, we are supported by a staff scientist so that a transition is provided when we leave the institute.

Our approach

We hold regular meetings with scheduled short presentations about programming topics either specific to one programming language or language agnostic such as dependency management or how to obtain a DOI to publish your code. We use a peer-to-peer approach where each researcher presents a topic they are experienced in. Doing so, we encourage exchange and knowledge sharing between researchers. Often, some people know certain libraries or approaches for a problem encountered by another researcher who has not been aware of that solution.

One important industry standard to increase code quality is code review. As this has not been widely adapted at the MPIP, we want to provide a low-threshold entry. For this, we prepared checklists for both code reviewers as well as code authors on what to look for when performing a code review and an example GitHub repository that shows the review functionality. Additionally, we created a central document to find code reviewer and to document past code reviews. In this way, the researchers who participate in code review are honored.

Project status

The codeclub was restarted in October 2021. Since then, we have held monthly meetings. The approach that the members of the codeclub propose topics, where they are knowledgeable in, works well and the program for the next months is fixed. Also, researchers at the MPIP have already used the code review framework to perform code reviews.

Learnings

Outlook

We prepare a central sharing point where the tutorial presentation is saved together with the materials of other presentations. In this way we will have a central repository where (new) lab members can look up the collected knowledge.

For the future, we also plan to invite external speakers to get introductions to topics that are not represented yet at our institute.

Guidelines for code review

For reviewers

Generals

Areas to check

Code style / understandability

Functionality

Maintainability

Reproducibility

Data protection (especially important for the phase before publishing)

For code authors

Prepare your code for the review

Example tutorials