This year at Global Day of Code Retreat event in Lodz we had 57 developers. It was big surprise for us, organizators as we were expecting that not all registered people would be ready to get up early on Saturday and devote whole day to coding with others. As far as I know we were one of the biggest Code Retreats that day :) It was my first Code Retreat as facilitator and I must say, being facilitator is much more exhaustive than being regular attendee. I was completely tired after that whole day but if I had to facilitate next Code Retreat on the following Sunday I’ definitely do that. It was awesome day.
So what it was all about? We decided to start officially at 8:30am with breakfast and coffee first. We also hanged out with Code Retreaters in Australia to say hello. Then Pawel Wlodarski introduced the whole Code Retreat idea and explained the problem of the day “Game of Life”. After all the introductions and seeing Corey’s welcome video we fired up first “no constraints” session. Actually there were some not explicit constraints. We asked all the participants to treat tests seriously, write them, write tests-first and treat tests as regular code. Some of them had heard about TDD before but there were a few who had never written any serious tests. This session was devoted to getting familiar with problem, with tests-first and pair programming ideas (for those who had never experienced that before). Because we had about 60 participants we decided to divide them into 3 groups for retrospection (as there were three of us, facilitators). I can say it was a great choice as it was much easier to control and drive discussion in group od 20 people than 60 people. The only retrospection with the group as a whole was the one after last session. We had bunch of session constraints prepared and were choosing next session’s topic on the go basing our decisions on how the previous session was going. Remaining sessions had following constraints:
- Ping-Pong TDD and keeping methods short (max 5 lines)
- One indentation level per method (one abstraction per method)
- No mouse session and wrapping primitives into domain objects
- Choose what you want from Object Callisthenics by Jeff Bay
- Code Swap
A lot of people found this Ping-pong TDD session useful, as everyone could be automatically equally involved in the process. They also experienced power of “extract method” refactoring when reaching max lines limit. For the fourth session (no mouse) we had paper copies of key shortcut cheat sheets prepared for several IDEs and it turned out a lot of pairs found it really useful. I saw a lot of people being interested with all the Object Callisthenics constraints and I was asked several times what’s that and where to get more info about that. At the end of the last session we asked attendees not to delete their code, which was quite surprising as they were used to do that on every session’s end. After the last session and retrospection we had short video conf with guys from Ecuador. And it was basically the end of our GDCR this year.
Judging from feedback forms we mailed to participants next day the event was really great. There was a number of things mentioned in feedback form or during retrospections that they learned during that day. These are things as simple as “unit testing”, “key shortcuts” but also like “TDD”, “comparing two different approaches to software development: outside-in and inside-out” and so on. We also received a lot of comments and improvements proposals. Although rules of that day were stated and explained at the beginning, some of the attendees were not happy they could not finish the problem and had to start everything from scratch every session. Now I think we could choose constraints better to force attendees to explore different approach in each session. That way they wouldn’t end up with repeating the same code every time what was little boring. Clearly there is a lot of things to improve before next GDCR but I personally feel it was really good day and I’m proud I could be a part of it and facilitate such awesome event. Even if I wasn’t coding that day I can say I’ve learnt a lot.
I’d like to thank to all participants here in Lodz and over the world for making that day really special and encourage you, dear reader to consider joining next time expecially if you haven’t had a chance to be at Code Retreat before. We hope not to wait until next GDCR and run something local during upcoming year, maybe in Code Retreat way too.