A few weekends ago I attended Coderetreat in Atlanta. It was a great time. I had never heard of it before @srbiv told me about it a few months ago. Coderetreat is a day of development focused on learning. You do so through pair programming and TDD. The task is Conway’s Game of Life. We did 6 45-minute sessions, each one with a different restriction on how we developed. After each session the code is thrown away and the entire group meets to discuss their experience from the last session.
The goal of the day is practice writing clean code. Usually in our daily work we are trying to meet deadlines or otherwise don’t have the time to do things as well as we would like. We accomplish the task that we set out to do but then never go back to improve it. We discussed this before starting and some basic clean coding principles, based on Four Simple Design Rules.
Based on that description I expected the attendees to be mostly developers with many years of experience. Instead I found a lot of developers who had only been at the craft for a couple of years or less! Everyone was really supportive and excited to get a chance to learn from others and grow as developers. Everyone had something to learn and something to teach; it was an amazing thing to be a part of.
My favorite challenge was where my pair and I alternatingly wrote tests for eachother but could not speak about design. Trying to move the system forward with only test code to guide us really made me rethink what kinds of information, both intended and not, that tests are capable of containing.
I can’t wait until the next Coderetreat, I definitely plan to continue attending.