At TXI we’re constantly challenging ourselves to improve our development chops. We recognize that the best and brightest—perhaps especially the best and brightest—need consistent opportunities to wrestle with big problems and up their game, so to speak.
To that end we’ve spent a good deal of time over the past year exploring ways to build out our developer education program. There was no need to recreate the wheel here—it’s already been rolling through Chicago for some time—so we turned to some of the folks we think do it best. We visited our neighbors at 8th Light, stormed the halls of The Starter League, and spent time talking to meetup and conference organizers at places like WindyCityRails.
The answer we came up with was pretty simple: Provide resources that help developers to form new perspectives on the challenges they face. To this end we’ve been happy with a number of approaches: We started a book club for developers; hold monthly, company-wide Round Table meetings; and last month, we hosted a full-day Code Retreat for our entire development group.
What is a Code Retreat?
Good question. Does it involve slamming our laptop lids and running down the hall to ‘retreat’ from code? Far from it. (We’re afraid of the tripping hazard.) It’s actually a day-long workshop focused on the fundamentals of software development and design, providing developers the opportunity to take part in focused exercises away from the daily routine of “writing useable code.”
That’s a bit of a mouthful that means we spend a day programming and go home without a program. Unintuitive as it may sound at first, taking a step back from production realities can be quite liberating. The code retreat takes great advantage of the format to hammer home fundamental principles of good software like SOLID and the 4 rules of simple design. We leave the retreat with a better understanding of how to write flexible programs that minimize the cost of change over time. No small feat.
How is it structured?
Typically a Code Retreat is a day-long facilitated event, broken into several sessions. Ours was run by Corey Haines, the Godfather of Code Retreats (I’m pretty sure he even owns a cape). Corey and a few friends pioneered the whole concept four years ago, and he’s really at the center of the movement. When it came time to organize our event, we knew he was just the guy to host it.
Corey facilitated five sessions at our office. In each 45 minute session we paired with someone new to work toward an implementation of Conway’s Game of Life. The pair chose a common language and let loose on the problem using TDD, of course. By switching partners we were able to collaborate with people we don’t normally have the opportunity to work with, which was a ton of fun.