Global Day of Coderetreat
Last weekend I participated in the 2013 Global Day of Coderetreat, joining the session running at the Xero offices in Wellington, New Zealand. Along with 2,000+ other software developers across 165 locations on all continents, I spent the day honing my software craftsmanship, pair programming with other developers, using test driven development (TDD), and working within a range of changing and challenging design constraints. A coderetreat is an opportunity to look at the same programming problem (typically Conway’s Game of Life) from multiple perspectives, without the pressure to create a finished product but using the opportunity to reflect on how we build software. I would recommend that all software developers, at whatever level of skill and experience, take a look at the coderetreat.org web site and keep a look out for upcoming coderetreats in their local area. If you can’t find one, why not run one yourself? All the information you need is on the web site. The only people who won’t gain anything from it are those who just want to show other people how great they (think they) are. Fortunately, these people are a tiny minority of the software development community. Most of us will embrace the opportunity to challenge themselves and learn from others, in a day of coding that is surprisingly enjoyable.
One of the less obvious aspects of software entropy is changes in its social context. I use the Nike + iPod software when I go out running. Despite a recent software upgrade, if I run further than my previous sessions I get a congratulatory message from Lance Armstrong. I don’t imagine Nike really want me to take drugs, but for whatever reason, the context of the message has changed due to reasons outside of the software itself. It started me wondering what social entropy risks might be faced by software. I wonder, for example, if McAfee has experienced any negative affects from the bizarre behaviour of its founder? I’d be interested to hear any thoughts on this subject.