profile

Dr. Heidi Seibold

Code Clubs - good coding practices for all

Published 3 months ago • 2 min read

Code clubs are initiatives where people meet to improve their coding skills and help each other out. I am a big fan of them as I believe that they can help improving the quality of research. Because as we all know: Better Software, Better Research.

I recently learned more about the code club at the Max Planck Institue of Psychiatry (MPIP) in Munich and would like to share how they organize it in the hopes that it might inspire you. Thanks to the organizers Vera Karlbauer and Jonas Hagenberg for helping me write this post.

CodeClub at MPIP

Target audience: researchers who use code but may have quite varying programming skills (from wet-lab scientists to bioinformaticians).

Goal: increase the quality of their research software and code scripts for better reproducibility and fewer errors.

Structure:

Meetings: 1x per month, ca. 1h

Format:

  • Short presentations (ca. 10 min) about a relevant topic
  • Short exercises in small groups

Code Review:

  • Platform to find a partner
  • Help with how to perform a code review
  • Discuss problems and experiences in the group

Implementation:

  • Ask everyone to present – does not need to be polished
  • Set realistic goals (only 1h)
  • Use breakout rooms for exercises when online
  • Mix experienced with less experienced participants
  • Collect presentations at one place

Organizers: Two PhD students (currently Vera and Jonas). They recruit a new candidate from the attending students when one of the two PhD students graduates.

Implementing a code club can be challenging. In their talk, Vera and Jonas mentioned the problems, but they also found some solutions:

  • Beginners are reluctant to join:
    • Communicate and advertise during onboarding
    • Low entry barrier and easy first wins (use a project template!)
  • Wide range of different projects and software.
    • Topics that are programming language agnostic but useful for many, e.g. literature review tools.
    • Promote a project template for better comparability.
    • Best practice template scripts for R and Python (still work in progress).
  • Often data analysis scripts instead of software development.
    • Be pragmatic. E.g. instead of full documentation or github code reviews, code comments may be enough.
  • Code review is time-consuming and is not considered an important contribution.
    • Long-term solution: change culture and recognize achievements.
    • Clear code review guide.

Other code clubs

There are many similar initiatives and quite some useful resources. Here is a list of a bunch of them. Please check them out and consider starting join a code club or even starting one ;)

Support needed?

Need help with starting a code club or implement other strategies in your group/institution/project to improve the quality of your code?

The Digital Research Academy does just that.

All the best,

Heidi


P.S. If you're enjoying this newsletter, please consider supporting my work by leaving a tip.

Heidi Seibold, MUCBOOK Clubhouse, Elsenheimerstr. 48, Munich, 81375
Unsubscribe · Preferences · My newsletters are licensed under CC-BY 4.0

Dr. Heidi Seibold

https://heidiseibold.com

All things open and reproducible data science.

Read more from Dr. Heidi Seibold

Guest post: Meet Dr Elisabeth Kugler, director of Zeeks – Art for Geeks. In this post she will share her career path and how her work connects with open science now that she is an entrepreneur. I am Dr Elisabeth Kugler, director of Zeeks – Art for Geeks – a company that transforms how people think about data. We achieve this by data analysis, visualization, and communication. And our speciality is image-based data and strategies. In this article, I aim to discuss Zeeks' perspective on open...

10 days ago • 2 min read

Making your research or code project FAIR (Findable, Accessible, Interoperable, Reusable) and reproducible can feel like a chore. But if you have access to the right templates and resources, it can be quite the simple and rewarding task. Let's make it easy for ourselves to do the right thing! So today let me share some templates for setting up #FAIR and #reproducible projects. I asked folks on social media what suggestions they had and got so many that I was not able to put them all here...

about 1 month ago • 2 min read
Shrugging stick figure

I have volunteered for many initiatives and was always happy to do so. Recently I started to realize that being able to volunteer is a privileged position to be in. To be truly fair and allow all enthusiasts to join an initiative we have to rethink the way we do things. A constructive criticism. I've got to get this off my chest, you all! I've received yet another email asking whether I could speak at an event. For free. "Why for free?" you ask? It's an event from and for enthusiasts. I am a...

2 months ago • 3 min read
Share this post