by Jeffrey Konowitch
Last month, several Singlebrook developers participated in Ithaca’s Global Day of Code Retreat. The event had a very simple structure; the day was broken into several 45 minute pair-programming sessions - switching partners each session - followed by 15-30 minute group conversations about the preceding session. We worked on the same problem during each session - Conway’s Game of Life - and were forced to delete all of our code at the end of each 45 minute block!
Now you may be thinking, “You had to delete your code? What’s the point of that?! And wait, why do programmers need a retreat anyway?” Code Retreat arose to fill a felt void in many programmers lives: a focused space where we can deliberately hone our craft. Sure, we all pick up new concepts and tools of the trade on the job, but our time and energy are constantly traded off against external demands - namely budgets and deadlines. We often don’t have the luxury in a real-world business environment to take the time to toy with different naming conventions, or to thoughtfully experiment with our objects' APIs, or to engage in countless other types of exploration and creative play which, aside from being devilishly fun, sharpens our design instincts and makes us better developers. Further, Code Retreat aims to do more than just professional development, or helping us getting better at what we do from a technical standpoint; it is also about rediscovering the joy that drew us to software development in the first place as well as connecting and having fun with developers in our community.
Many of us struggled in the beginning with the idea that we weren’t there to get a fully functioning implementation of Conway’s Game of Life up and running - the destination simply wasn’t the goal. In fact, the very structure of the day frustrated our attempts to “finish” a solution and helped to reorient us all towards the true purpose of the day, which was to be immersed in the creative process so deeply with our fellow coders that we emerge with new insights about how we practice our craft. That is the goal of any retreat really, spiritual or otherwise, to turn down the noise of the outside world, to slow down the pace of activity and life such that you can focus in with an extremely high quality of attention on something, which, being so intimately explored, will be caused to evolve to a higher level.
This evolution is predicated on having skilled facilitators, two of which we were very lucky to have had. David Furber and Travis Vachon conducted the days activities beautifully, and infused the recap sessions with tidbits on foundational object-oriented design principles, giving us fresh lenses with which to examine the problem.
All in all, the day was a complete success. Many of us scurried home to finally complete an implementation of the Game of Life, brimming with new angles and solutions to try that were inspired by the day's learning. Check out the Code Retreat website to learn more, to get involved in the community, and to find or host an event in your area - you won't regret it!