Yesterday was Global Day of Coderetreat and I attended the event for the first time.
When I first heard about a coderetreat, all I could think about was a yoga retreat.
Turns out, it’s not quite a three week holiday under Indian palm trees, enjoying Ayurvedic food (is that enjoyable? I don’t think I’ve ever had it) and returning home a spiritually enlightened person with very stretchy legs.
In our case it was a one day workshop on a Saturday, in an office in Shoreditch, eating pizza for lunch and drinking beer in the evening.
But don’t let that bleak description fool you. It was a really fun day during which I learnt a lot and got to hang out with lovely people. And I found some similarities to that Indian yoga retreat. But first let me explain what a coderetreat really is.
The concept of a coderetreat has been around for five years or so. The idea is that the participants pair up for 45 minutes and work on the Game of Life coding kata (about which I've previously written). Then there is a 15 minute retrospective with the whole group to discuss everyone’s experiences during the session. I think there were something like six sessions yesterday. During each session different people pair up and there is a different constraint to consider. The constraints yesterday included for example writing methods/functions that were no longer than three lines, using baby-step TDD or not using if-statements. And during the last session we were not allowed to talk! I almost felt like I would explode because I had so many things that I wanted to communicate to my pairing partner but couldn't.
I used Ruby for the three afternoon sessions. In the morning I did two sessions in JavaScript and during the first session of the day I paired with a Python developer. I don’t know Python, so I thought why not? Could be interesting to see how it works. I've heard people say that Python and Ruby are similar languages. But when I look at that Python syntax… no way! Maybe the languages are similar in other ways but that syntax is from a different planet.
But let me get back to the palm tree lined, incense fuelled yoga retreat that I was talking about earlier. I think that there are similarities to a coderetreat after all. Firstly, you take some time out of your schedule to practise your craft and improve. You spend time together with fellow enthusiasts and learn from them. And you come back into your normal life maybe not quite an enlightened bendy person but definitely a little bit better developer and maybe with a slightly new view point on things.
On top of that, a coderetreat allows you to get an insight into a new language. Or your partner surprises you with a completely different approach to the problem that you would have never come up with yourself. You get to experience different development environment setups and learn new shortcuts. During the retrospectives you find out about the creative ways in which other people overcame the constraints. And you get to chat with lots of people who are all passionate about coding.
Overall, a really enjoyable day. And I didn’t even need to get any travel vaccinations for it.