It is not often that you get the opportunity to get involved with an event on the scale of Global Day of Code Retreat (GDCR). On Saturday (3rd December, 2011) an estimated 2200 software developers gathered in more than 90 cities around the world to solve a relatively simple computing problem. The objective was to implement Conway’s game of Life.
The game has a simple set of rules, and has been implemented countless times since its creation in 1970. You might ask why it takes 2200 developers to solve this problem. There might be a clue in the method used to solve the problem …
At a code retreat, the participants are divided into pairs, and attempt to implement the game in a 45 minute time slot. The twist is that even the fastest coders will not get to the end of the challenge in that time. Once the allotted 45 minutes expires, the whole process starts again – another 6 times. You might be thinking, why would anybody do this? Why would 2200 developers do this? Starting at 8:45am on a Saturday morning!?
Another clue is that the London event was organised by the London Software Craftsmanship Community (LSCC). The London chapter is part of a global movement of software craftsman who believe that:
“As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft”
[Taken from the Software Craftsmanship Manifesto]
So then, the GDRC is about repeating the same exercise several times in a day and the LSCC believe that helping others improves the craft. Armed with this information it becomes clear that Conway’s game of life is not the aim of the exercise, just a means to an end. Indeed once each session is finished the code is deleted – erased with no trace. It is the journey of developing a piece of code six times in succession that stops the participant from being focused on completing the exercise, and allows the focus to shift to the process of writing the code. To draw parallels with meditation is perhaps a stretch, but it does allow an opportunity to be more reflective about the code being written.
Each time the exercise is repeated, different constraints are added to the development process. This forces the pair to consider a different strategy for implementation of the problem. Amongst the constraints used are: 4-rules-simple-design; object calisthenics and mute. The easiest to explain is mute, which mandates no communication between the pair developing the software, with the exception of the code written. This communication ban forces the developer to produce code where the intention is clear – so called ‘self documenting code’.
The Code Retreat day is repeated by isolated groups throughout the year. The idea of the Global Day of Code is to build a bigger community with more participants, have some fun, and to generate some publicity. With the event being run during a weekend, it is a great opportunity to meet a broad spectrum of people outside of your usual work team.
In practical terms, this meant sharing information with other events using twitter (#gdcr11), and three video conference sessions. It turns out that connecting two remote rooms full of software developers in meaningful exchange has its own challenges, both in terms of technology and raucousness!
For more pictures, visit our Facebook Page: www.facebook.com/ValtechUK
Free to Enter
The code retreat is run by volunteers, and paid for by sponsors. Valtech is proud to have hosted and sponsored the LSCC Code Retreat in our London office because we fundamentally believe in the principles of software craftsmanship. A big thank you is due to Corey Haines, who was one of the originators of the Code Retreat concept and chief organiser of the Global Day of Code Retreat.
Also thanks to Sandro Mancuso and Samir Talwar from the LSCC for facilitating the event. The smooth running of the London event is in no small part due to Valtech’s own Maria Lacher for a marvellous effort co-ordinating the essentials such as food and venue.
I look forward to Global Day of Code Retreat ’12 – with experience gained from GDCR’11, it should be the biggest and best yet!
Samir’s in-depth overview of the event (warning – contains code!):