Man, did we have fun at the first CodeRetreat in Ann Arbor, MI, sponsored by Pillar Technology. We had 25 or so programmers show up, including 5 dedicated software craftsmen who assisted me as Master Rabble Rousers for the event. So special thanks indeed to Ron Jeffries, Chet Hendrickson, Corey Haines, Bill Wake, and the guy who (of course) stole the show, J.B. Rainsberger. J.B. flew down from approximately the North Pole on his own dime. He had, like, seven connecting flights. He was wearing a full beard and long hair, because where he lives, if you don’t do that, you die.There was lots of pairing, lots of discussion, a very cool String templatizer Kata performance in Ruby by Corey Haines. There were beers and brainstorming and stupid geek tricks at Bar Louie’s afterwards till late. I’ve made a couple of animotos of the event here and here.
Learning Outcomes (as they say)
So, we learned that we want to do this on a regular basis: several times per year, per region that adopts it. That’s our immediate goal.We learned not to use nasty little legacy Java applets as starting points. (What is it with me and nasty little legacy Java applets? Bad old Java karma, I expect.) We learned to spend each CodeRetreat event on a single language. Splitting the first one into Java and Ruby involved too much thrash and context switching, and did not focus us all on craft as much as we had wanted. Too many were not fully engaged in honing craft, enough of the time. I felt their pain. The next CodeRetreat event, at least, will be entirely in Java.
Kata All the Way Down
We also learned that we want to concentrate the next few CodeRetreats on repeating the same exercise again and again, Kata-style. We’ll likely adopt Conway’s Game of Life as our standard exercise. We can adopt more if we choose to later. Let’s see how well this one serves us as a craft-focused, learning sandbox. We can still mix up the session design around the way we do that Kata. But we agreed we’ll dive deeply for awhile together into that problem domain and potential implementations. We’ll get that one completely “under the fingers.”
CodeRetreat #2: Saturday, March 14, 2009: LeanDog, Cleveland
Just got the go-ahead from my pal Jon Stahl that his consultancy, LeanDog Software will be hosting our next CodeRetreat on his cool headquarters-boat on Lake Erie, some Saturday (TBD) in March of 09. Again: this one will be wall-to-wall Game of Life in Java. Other details will be emergent. Our primary texts, where craft is concerned, are Bob Martin’s Clean Code, Fowler’s Refactoring, and Lasse Koskela’s Test Driven. We might switch them up a bit, but we’ll try to stick to three reference works at a time, for a good long while.
If you want to start a CodeRetreat in your region (we are concentrating for now on MI and OH), please contact me, and I will help you set it up if I can. I have had interest in the Philly suburbs in hosting one at Ternary Software, for example.If you want to attend another of our MI/OH CodeRetreats, please watch the ning site. Well, watch the site anyway. I think CodeRetreat is a meme that can spread. If not, it will not be for lack of stubbornness on my part.