Back in November I was able to attend the Software Craftsmanship North America conference in Chicago. I signed up for the post-conference Code Retreat, which sounded like a fun day of writing code with my peers. During the conference I met many awesome people, including Mike Clement. Mike told me about the upcoming Global Day of Code Retreat on December 8th. Mike said he was going to run a session in Utah, and persuaded me to run one in Louisville.
Organizing the Code Retreat
The first obstacle was to find a venue. I had been to a meeting of the Louisville .NET Meetup a while ago, and remembered they had a nice meeting room. I thought that since the room was already being used for one community event, it could probably be used for another. I went to their next meeting, and spoke with Emily Schweiss. A few days later, she confirmed that I could use the room. Game on!
The next few weeks were crazy. I went to multiple software meetups and user groups trying to promote the Code Retreat. At this point I realized that Louisville has an active developer community:
- Lousiville .NET Meetup
- Build Guild Louisville
- Louisville Agile Forum
- Kentucky Open Source Society
- .NET Social Club
- OpenHack Louisville
I made a page for the Louisville Global Day of Code Retreat (and made it forkable) to describe what a Code Retreat was, why people should sign up, and what they needed to bring. I was able to get 22 developers signed up.
The venue had one problem: it was in a basement without any reliable Wi-Fi. This would be a huge issue for a room full of programmers. The week before the event, Emily and I came up with a plan: we would run an Ethernet cable from her office, through the drop ceiling, to the conference room next door. I borrowed a spool of Cat5 from work, and met Emily the Monday before the Code Retreat. After popping open several ceiling tiles, we finally found one that revealed a hole in the wall through which we could run the cable. It took two attempts to crimp working ends on the cable and verify internet access.
The Day of the Code Retreat
Around 9:15am I started my presentation. I explained what a Code Retreat was, how the day would be structured, and what I hoped we would learn.
I was excited to have 14 developers attend. There were 4 people who drove all the way from Lexington! There were enough people so that everyone could work with someone new each iteration. About half of the people were Ruby programmers, which was surprising to me because I don't see a lot of Ruby activity in Louisville. The languages people used were (most popular first):
- .NET / C#
The activities I chose for the day were:
- warm-up / requirements change
- verbs instead of nouns
- mute pairs
- no conditionals
- baby steps (small commits enforced by a timer)
- no return values
By far the most difficult activity was "no conditionals". Several groups were stuck and didn't know how to proceed. I visited everyone and tried to explain how it was possible to implement through polymorphism, but many groups still struggled. I'm glad I chose the "no conditionals" activity because it clearly took people out of their comfort zones, and stretched their brains.
- I can give a presentation in front a group of my peers without freaking out
- Checklists really work
- There's either more Rubyists than I thought in Louisville, or they're more likely to come out
- Louisville has a really great developer community
All in all, the Global Day of Code Retreat was a success! I had many people asking if there would be another Code Retreat before next year. Now that Louisville has seen one, hopefully it will be less effort to organize the next one. I'm hoping to get someone else to help me organize the next one, so maybe I can participate next time.
I wanted to give another round of thanks to the people who made this event possible. Thanks to Emily Schweiss from Adecco for providing the conference room and breakfast. Thanks to Rebecca Hill from Anchor Point for providing lunch. Thanks to Chad Green for providing a Code PaLOUsaticket to raffle off. Thanks to Ed Charbeneau for providing a projector. Thanks to all the developers who registered and attended. Thanks to everyone who helped spread the word. I hope to see all of you at a Code Retreat in the future!