Global day of code retreat Madrid - CraftersMadrid + Iberia
The content here is under the Attribution 4.0 International (CC BY 4.0) license
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.
Hoy celebramos el Global Day of #Coderetreat en Madrid! En la primera iteración exploramos el poder del pair programming y TDD, experimentando de primera mano los beneficios del XP. Ahora a por la segunda iteración!
— Software Crafters Madrid (@CraftersMadrid) November 9, 2024
Gracias @Iberia y @codurance_ES por hacerlo posible!🚀 pic.twitter.com/YYRmdKxJIk
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.
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.
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.
Connecting with the community
We also reserved space in the agenda to connect with other communities in Spain to get in touch and share our experience of the day.
Nos hemos conectado con #GofiGeeks y @CraftersMadrid! Súper guay estar todos juntos en comunidad 👥👋🏽#coderetreat pic.twitter.com/QUJgX9TBne
— Agile Canarias (@agileCanarias) November 9, 2024
Baby steps, ping-pong pair programming y foco en simple design. Seguimos avanzando con el #Coderetreat, refinando nuestras habilidades técnicas, rompiendo malos habitos y escribiendo código de calidad✅ pic.twitter.com/6eBBIB8YSt
— Codurance Spain (@codurance_ES) November 9, 2024
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.
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.
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
Table of contents
Got a question?
If you have question or feedback, don't think twice and click here to leave a comment. Just want to support me? Buy me a coffee!