Reposted from jeffmatthewsmith.tumblr.com
When you can’t talk, your code really does have to speak for itself.
The purpose of a code retreat is to get back to the fundementals and hone one’s craft by escaping the regular routine of pushing to production. In many ways, Dev Bootcamp is an extended code retreat. Very few of the repos we produce for exercises make their way into functioning apps (at least at this point in the program), which leaves us a lot of freedom. But that aside, we, like most engineers, have gotten into a fairly intense routine, and the break was refreshing.
For 45 minute sprints we’d pair with a student or instructor and try to get as far into a particular problem as possible. Everyone in the room was attempting the same challenge. And we repeated this 4 times, with 4 different partners on the same challenge. There were three caveats:
- All our code had to be test-driven with RSpec.
- After each 45 minute sprint, every line of code we’d written had to be deleted. Yes, gone forever.
- During one of the final sprints, we weren’t allowed to talk. We could merely volley RSpec and test solutions between partners as a means of communication. Our code had to, truly, speak for itself. This exercise, in my opinion, has, more than any other we’ve gone through thus far, revealed the necessity of precise tests and naming conventions.
The results were remarkable. The knowledge base in the room around this particular problem expanded as partners shuffled. Particularly thoughtful solutions were shared. People didn’t feel the normal pressures of writing code for the sake of the problem at hand so much as writing code for its own sake (poetry, as one of my cohorts put it). And, I found myself enjoying the coding process more than I have in a while.
We have no code to show from the retreat. Nothing but our current capacity code, with its newly sharped style and appreciation of Ruby’s nuances, shows its impact. And that is the beauty of a code retreat.