Global Day of Coderetreat

Global Day of Coderetreat logo

A day to celebrate passion and software craftsmanship with 141 cities participating around the world.

Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of ‘getting things done’, the Coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.

Some feedback from our Developers:

Chris Rollins, Developer:
Essentially, the Coderetreat was about TDD, pair programming, communicating intent with your code, and thinking outside of the box. I learnt something new in each of those areas. There were some techniques learnt that are going to be very useful.

The Coderetreat allows the developers to discuss the problems and issues they had in the Coderetreat, and how best to solve them. It gives for a great discussion point and gives rise to some great banter.

Underneath the surface though, the Coderetreat is another beast all together… a more sinister, underhanded beast. It gets one thinking about Conway’s Game Of Life… all too much. Nightmares of cells being born and dying, over and over, in a never-ending cycle… or until there are no more cells to sustain life.

I would definitely recommend the Coderetreat for all KRS Developers, as I do think that everyone would benefit from it (some more than others). For one, I think that it is a definite that all Junior Developers need to (or should) attend. I do also think that it would be great to go to the Coderetreat as a refresher, once a year or every quarter. As over time, we all get complacent and lazy, and then we fall back in to our old habits.

Steven Sewell, Developer:
What stood out for me was sometimes you just need to slow down: when dealing with a large unfamiliar problem, diving in head first is a terrible idea. Break it down into as small chunks as possible (to the point that the size of each chunk is almost trivial) and the net result at the end of the day is code with a clear pattern of thought that is easy to clean and refactor.

Dean Herringer, Developer:
For me the best thing was pairing outside of the stressful work environment – being able to tackle the same problem from multiple angles and have some fun with it. It was also interesting to hear, during retros, that even though most of the pairs tackled the same part of the problem, very few of the pairs solved it the same way.

It was really fun when they introduced constraints – no speaking or commenting, no mouse, no naked primitives and no control structures. It forced us to think outside of the box and be more creative, as well write code that’s easy to read.

I would recommend it. It’s a great place to get some practice in TDD, design, etc. without stressing about budgets and time. There’s also the added bonus of sharing in the perspectives of developers (a great bunch) from different backgrounds and of different experience levels – there’s quite a bit of knowledge sharing even during retros.

Johan van Rensburg, Developer:
It was good, very interesting. Gave me a whole new perspective on the effectiveness that TDD can and should have. The “Evil Coder” was quite fun, taught me a lot on how to write tests in order to get the effect you want out of your logic. I would definitely recommend it if you want to increase your development skills, all-round, at any level.