I recently attended my first Ruby DCamp. I’d heard good things about the event from talking with Evan Light (the organizer), hearing Avdi Grimm talk about it on the Ruby Rogues podcast, and from reading Brandon Hays’ post about last year’s event.

Ruby DCamp is a very informal event held at Prince William Forest park in Virginia. Everyone stays in cabins, eats together in the dining hall, chips in to help cook and clean, and generally lives together for the three-day event.

The first day starts with a Code Retreat, which consists of a number of 45 minute sessions of trying to implement Conway’s Game of Life. In each session, you pair-program with a different person and take a different approach to solve the problem. The goal is not necessarily to solve the problem, but to learn to pair program, use test-driven development, and to try different problem-solving approaches.

In most Code Retreats, all but the first session have different constraints imposed. In my first Code Retreat, we had constraints like, “No method can be longer than 3 lines of code”, or “No conditionals allowed”, or “No return values allowed”. These constraints really make you think hard about your normal patterns of writing code. At this code retreat, we didn’t impose constraints until the afternoon sessions. We had quite a few new programmers at the event, and so having several unconstrained sessions was a good balance to help people get up-to-speed a little bit.

The remaining two days of the event were an unconference. The group gathered in the morning wher people would suggest topics of interest and post them on the wall. Then everyone voted on the sessions they were interested in. The most popular sessions were then scheduled in two tracks for the rest of the day. Each session was moderated by the person who proposed it. The emphasis was on each session being a discussion and not a presentation by the moderator.

In the evenings, everyone hung out in the dining hall. There were board games, informal conversations, some hacking, a campfire, etc.

I really enjoyed this event. I learned a lot, met a lot of interesting people, and generally had a good time. As I was heading home, I had mixed feelings about whether I’d want to come back next year. I’m not much of an outdoors person, which is ironic considering I live in Oregon. I’m also an introvert in the sense that I spend energy when I’m around people, and I gain it back when I’m alone. The togetherness of this event was very tiring for me. It is possible that the late nights and early mornings contributed to this, though my nights weren’t nearly as late as those of others at the event.

As I’ve had more time to relect, I find myself appreciating the event more and more. I’m seeing the connections among the attendees on Twitter, and those are valuable. I think the togetherness that tired me is a huge part of the value of the event. At a normal conference, the sessions end for the day and the attendees scatter. Different small groups go to different places and then everyone heads back to their hotel rooms for the night. At DCamp, everyone eats together, spends the evening together, and then sleeps in cabins with a bunch of other people around. Because of this, I met more people than I normally would, got to know them better, and had a lot more interesting conversations. This is extremely valuable.

DCamp has become more and more popular over the years. Because of the venue and dynamics it won’t grow beyond its current size, but the demand keeps growing and there ends up being a waiting list for it. I believe Evan’s vision is for DCamp to inspire similar events around the country, but that hasn’t happened yet. I think it needs to happen, because there is a lot of value in this format. I think Oregon would be a great place for a sister event. I’ve been thinking about how I could start such a thing, but I just don’t have the bandwidth for it right now. But if someone else wanted to pick it up and run with it, I’d do what I could to help out.

Thanks to Evan and to all of my fellow attendees for a great event. I’m looking forward to next year.