September 19, 2013
It was 2009 when Maria decided to organize the first ever agile conference in Romania, Open Agile Romania. To facilitate the marketing, it was planned as a track of an open source event, eLiberatica, better known at that time.
Finding interesting speakers willing to come to Romania, at that time was much harder than expected. We ended up with two international speakers: a CTO decided to change his career and became a writer and a hippie programmer who was pair programming with people all around the world for food and shelter. Both are well known now; the first is Jurgen Appelo whom you may recognize as the author of Management 3.0 and the creator of the course with the same name. The second is Corey Haines, the well known software craftsman.
Many good things happened at that conference, but now is not the time to talk about all of them. Instead, I want to tell you the story of the first European code retreat.
Corey talked at Open Agile about Software Craftsmanship, a new idea that just appeared. Software Craftsmanship was an extension to the Agile Manifesto meant to reintroduce technical practices to agile. Craftsmanship is reminding everyone that agility is impossible to attain at the company level without code that’s easy to change. To write code it’s easy to change, programmers need to master a few technical practices: unit testing, incremental design with TDD, pair programming and without knowing sound design principles and patterns. To master them, a developer needs to practice until they come natural. But how?
Gary Bernhardt, Patrick Welsh, Nayan Hajratwala and Corey had just discussed this problem during Codemash Conference 2009 and discovered a new way to practice it. They called it code retreat, inspired by writer retreats that were happening in the beginning of the 20th century in USA.
Corey explained us during Open Agile 2009 how to run a code retreat. Three sessions in the morning, three in the afternoon, on a Saturday. Lunch, ideally sponsored and without pizza. Each session was 45′ long and we would write code for a problem: Conway’s Game of Life. The catch was that you are not supposed to solve the problem, but practice techniques. This is why, after each session, we would delete the code, switch pairs and start over, while practicing something else.
This idea sounded ludicrous, didn’t make sense and totally convinced us. This is how Maria and I organized the first ever European code retreat.
It was a sunny Saturday, at a company in the center of Bucharest. We went outside, under a vineyard, enjoying a day of pairing, talking about code and learning. We were 6 in total, including Maria and I, as facilitators. Still, the people who came were the right people.
All of them returned for more code retreats. They all grew their careers, moved away or started working on own ideas. I like to think that part of their success is due to that day that opened our eyes on new ways to write code.
Many more code retreats happened since then. I personally facilitated or attended more than 30 around Europe. People attending rarely read the history of the format, that we helped shape through our initial experimentation. Corey thought the format would only work for a single programming language; we disagreed and organized all our code retreats multilanguage. One year later, when he returned to Romania for an amazing TDD workshop organised by us, he saw that multilanguage code retreats work. All code retreats are now multilanguage, which means you will definitely try 3-4 programming languages in a day. We ran many other experiments: starting with a coding dojo, ending with a dojo, starting with a demo and others. While they were less succesful, they proved that the format is very good as it is.
This is how the first code retreat outside US happened and how we contributed to the expansion of a well-known and excellent format that helps programmers around the world fall in love with their craft once again. As I am traveling in UK to meet software craftsmen at Socrates UK conference, I wanted to share this story with you and hope you will attend, organize or go back to a code retreat with the first opportunity you get.
Want to grew your career, moved away or started working on own ideas? We can help with:
- Ask for a code retreat in company or attend a free community one
- Attending the “Legacy code retreat” workshop, also available in-company
- Attending the “Refactoring” workshop, also available in-company
- Attending the “Unit testing” workshop, also available in-company
- Attending the “TDD” workshop, also available in-company
Tags: Coderetreat, Community, Corey Haines, Deliberate practice, Europe, Gary Bernhardt, Jurgen Appelo, Learn, Nayan Hajaratwala, Patrick Welsh, Practice, Romania, Software Craftsmanship, TDD, Unit Testing