Global Day of Code Retreat 2013

Staff member Bruce Scharlau helped run the Global Day of Code Retreat at the University of Aberdeen on 14th December. This global event was happening in over 150 places around the world and they chatted with other event participants in Vienna and Edinburgh during the day.The event in Aberdeen was sold out at 30 people (half developers and half students), although a number didn’t turn up on the day. They missed a great event.
While a number of participants did the traditional Code Retreat that works through Conway’s Game of Life using Ruby, Java and C#, most people worked through a web version of the game fixing buggy CSS, HTML and Javascript in a ‘web retreat‘. A big hit for the webretreat participants was using Steven Milne’s Constraint Cards to help focus on creative issues.

Global Day of Code Retreat 2013

Facilitator helping a pair with their coding

The goal of a Code Retreat is ‘deliberate practice’ where you and the others set out to practice and learn new ways of coding using Test Driven Development (TDD), which is becoming a useful job skill, and required in some places. The goal is not to have a perfect version of the game of life. Indeed, you keep throughing your code away after each 45 session so that you start the next one with a new person from scratch. The goal is to learn while having fun. You’re playing with the code.

We ended up with four rounds on the day. You can find exercises and challenges at the CodeRetreat website.

The first round was done under a ‘get your feet wet and start’ with no requirements or constraints. People learned from their failures, which some worked out could be speed up by using tests. Everyone started with the grid for the cells, and two teams actually finished building a game.

The second round was done as ‘Test Driven Development, Primative Obsession’ which meant people took some time to get up to speed with TDD for their language and framework. Some had frustrations with unfamliar languages as they paired with people who were using an unfamiliar language. The constraint this time was ‘primative obsession’ where you create objects instead of using low-level integers so that you have more control over your objects. People found that for this case, this was a challenge.

The third round constraint was ‘no loops’, which required more intellectual overhead as you considered in-built methods more. It also shifted the focus from the board to the cell as it became harder to write tests for the board.

The last round was ‘evil coder’ where one person wrote a test and then the other wrote code to pass the test as simply and as easily as possible. This could be done in ‘evil’ ways such as using primatives instead of objects. People found this good fun as more learning was happening with respect to tests and how they could/should be written.

Part of the fun of a code retreat event is also getting to know new people and learning different ways of coding as you swap partners for each of the 45 minute sessions during the day. Students and professionals get many chances to code together and learn from each other. Many people replied that it was ‘great!’ and immediately asked ‘when’s the next event?’. Thanks to all of you who came on the day and we look forward to seeing you in the future.

Our next event will be the 48 hour Global Service Jam 2014 in the spring, and should be great as we’ve lined up one major sponsor already.