• Skip to primary navigation
  • Skip to main content

cultivate

  • Home
  • Services
  • Products
  • About us
  • Blog
  • Newsletter
  • Contact

Global Day of Coderetreat

This year’s Global Day of Coderetreat was another great success! Last Friday, we came together in our Berlin office to improve our craft as software engineers.

Software developers usually have to focus on daily work and getting things done.

❌ they like to work alone and stay within their comfort zone
❌ they skip writing tests and do not refactor
❌ they don’t think about design and over-engineer
❌ they cannot find time to experiment and learn new practices

A code retreat is a great and fun opportunity for developers to course correct.

In six 45-minute sessions, they work on implementing Conway’s Game of Life.

The Game of Life plays on an infinite, two-dimensional grid of square cells, where the interactions between each cell and its neighbors decide the fate of each cell.

The goal of each 45-minute session is not to finish the implementation. Instead, it is to write the perfect code.

Test-first Programming

The code retreat encourages Test-first Programming (a.k.a. Test-driven Development or TDD). A test-first approach solves multiple of the above problems at the same time:

✅ tests are written first (and skipping them becomes impossible)
✅ having to think about tests leads to better design
✅ refactoring is built into the Red-Green-Refactor cycle of TDD
✅ having a safety net of tests encourages experimentation

Pair Programming

Pair Programming is another excellent practice used in the code retreat.

Two developers work together on the same problem using one computer

Pair Programming is one of the most efficient ways to exchange knowledge. And after so many years of attending the code retreat, even I have learned something new this year:

Our most junior team member contributed a creative approach to counting the neighbors of a cell that involves taking a snapshot of the area around a cell and a simple regular expression. 🤯

You are not your code

Another principle of the code retreat is that after each session, all developers have to delete their code.

Developers dislike deleting their code – especially not without version control. It is a tough pill to swallow for most first-time participants. And in the past, I caught participants red-handed trying to sneak the last session’s code into a hidden folder.

But deleting the code is super important. It allows the participants to start fresh in the next session. The output of each session is not relevant. Developers will not be judged for it. The only thing they take into the next session is experience.

Great things never came from comfort zones

As a trainer and facilitator of the code retreat, I aim to guide the participants out of their comfort zones to maximize learning.

Rotating pairs every 45 minutes certainly gets them out of their comfort zones. But some participants need a little extra nudge (surprisingly, most often, the more senior ones).

When I notice that they chose the same approach to the problem of Conway’s Game of Life session after session, I mix in some additional challenges.

Not allowing them to use arrays or loops in the following session helps the participants to come up with new strategies and solutions.

Satisfaction

And as an employer and team lead, I am happy to see their progress over just one day.

In the first round, most first-time participants struggle with the game’s basic rules and don’t get far. However, the last round is often about finding a better solution that supports an infinite universe and is not bound to a finite two-dimensional grid.

It actually goes both ways. The code retreat is also a great way to increase employee satisfaction and long-term retention.

It was really nice today and a pleasure to pair-program with you. 🙌

I love to read things like this, especially when they come from employees who usually do not bother to share these messages with the rest of the team.

Summary

Code retreats are a fun and highly effective way of improving your or your team’s software development skills.

If you are interested in learning more about the practices and principles behind the code retreat, don’t hesitate to get in touch or sign up for our newsletter.

See you around,
-David

Test-first

Master the Art of Test-driven Development (TDD) and learn how the Top 1% of Developers create software.

Enroll now

Connect

  • Email
  • LinkedIn
  • Phone
  • YouTube

Legal

Imprint
Privacy Policy

Copyright © 2023 · cultivate GmbH

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. ACCEPTCookie settingsRead More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT