DEV Community

Marabesi
Marabesi

Posted on • Originally published at marabesi.com

Global day of code retreat Madrid

What is code retreat

It is a day-long coding workshop designed to help developers improve their craft by focusing on the fundamentals of software design and clean code practices. Participants work in pairs, often changing partners throughout the day, to solve the Conway's Game of Life—but with different constraints in each session.

Why code retreat

Code Retreats focus on fundamental coding practices like Test-Driven Development (TDD), refactoring, and pair programming, allowing participants to hone these skills in a focused, structured environment. With no expectation to "finish" or ship code, participants can try new techniques, refactor aggressively, and work on complex problems without the pressure of deadlines.

The 2024 edition

For the third consecutive year, I participated in a Code Retreat with my colleagues, not only as a participant but also as an organizer. This year, my responsibilities included facilitating iterations and ensuring the event ran smoothly, in this edition Moisés Rodríguez joined the team to keep the event on track. As expected, participants arrived punctually, and we began the day with a welcome gathering and breakfast.

Image description

Image description

The day opened with a brief introduction session, followed by an ice-breaker activity to foster connections among attendees and gather insights into their preferred tech stacks. This set the stage for pairing up based on common technical backgrounds.

Image description

The day’s agenda was a mix of coding iterations and interactive breaks. We completed five coding iterations, each lasting 45 minutes and designed with unique challenges:

Iteration 1: No Rules

We began by pairing up to explore the Game of Life kata. With no restrictions in this iteration, the focus was on understanding the problem first, pairing with someone familiar with the same language.

Iteration 2: TDD + New Constraint

In this session, attendees picked an additional constraint from a list that included options like coding on paper, avoiding the mouse, baby steps, Ping-Pong pairing, no void methods, and "the evil pair partner." Coding on paper was especially popular this year.

Iteration 3: Baby Steps + Ping-Pong Pairing

Returning to our laptops, we practiced TDD basics with baby steps and Ping-Pong pairing to continue our problem-solving.

Iteration 4: Baby Steps + Ping-Pong + Object Calisthenics

This iteration introduced object calisthenics to build on the TDD approach. We encouraged attendees to keep applying previous constraints alongside this practice.

Iteration 5: TCR

Our final iteration included Test && Commit || Revert, adding a twist with a three-minute time limit to make things interesting. Every three minutes, a commit with tests in the green was required; otherwise, we reverted the changes.

Between iterations, we enjoyed breaks, and a longer lunch after the third iteration provided a relaxed opportunity for further interaction and networking.

The code retreat experience

The daily routine of a developer often doesn't allow much room for experimentation. Even when new technologies emerge, such as new frameworks, libraries, or cloud service providers, it's not always feasible to try them out on the job. Consequently, developers often resort to self-directed learning, experimenting on their own through trial and error.

Image description

Code retreats provide developers with a unique opportunity to explore new techniques, focusing on practices that enhance technical excellence and address challenging concepts that might be difficult to master independently. These practices include Test-Driven Development (TDD), the Four Rules of Simple Design, and many others. The most significant difference lies in the learning experience itself. Surrounded by fellow learners and experienced mentors, participants embark on a collaborative journey of knowledge and skill acquisition.

Image description

The primary benefits of attending a code retreat stem from the sharing of experiences and the forging of new connections. For those passionate about coding, each iteration will swiftly pass by, and as the day progresses, it's remarkable to see the transformation in problem-solving approaches using Conway's Game of Life Kata.

If you want to know more about the code retreat and how it came to be, have a look at the book written by Corey Haines, he summarises his experience watching 1000 pairs doing the game of life kata.

Resources

Top comments (0)