Oh Boise! My Second Code Camp

Last weekend, four developers from my team and I headed over to Boise, Idaho for my second code camp. Having never been to Boise, I was almost more curious about the town than the Code Camp itself. After all, my image of Idaho was rural farmland, potatoes, and, well, potatoes. Granted, that isn't very worldly of me, but given I grew up in New Jersey and many people think of toxic waste, Bon Jovi, and the Sopranos (hey, we got Sinatra and the Boss too!), I guess you could do worse than potatoes.

Well, I was pleasantly surprised by what I saw. Not only was it a nice city, but there were a lot of people that were excited by what was going on in the Microsoft developer space. We arrived Friday and started with a speaker dinner the night before the event, where 40 or so people got together to get acquainted and get some presentation tips. Jason Mauer was the only other Microsoft employee at the event besides our team, so this was clearly a community event.

On the big day, we headed over to Boise State University for all the action.  Actually, before the Code Camp, I went for an invigorating 4-mile run around the campus at at 6am.  On the minus side, I nearly got lost and didn't have a cell phone on me.  I had visions of calling someone from my team collect and having them come find me (which I would clearly never live down).  Then I realized that it's impossible to get lost in Boise and found my way back pretty easily.  Meanwhile, back at the hotel, apparently there was a fire alarm and all the guests had to evacuate the building.  I was completely oblvious to all of this until I got back to breakfast.  There's a satisfaction a runner gets when he gives up sleep only to realize that everyone else got woken up the hard way. :-)

Refreshed by my run and armed with our Starbucks (grande sugar-free soy Cinnamon Dolce latte with whip--I can finally order that without thinking), we joined the 200+ people that attended (about as many as Tampa, which was another great Code Camp).  The topics were pretty diverse, with everything from XNA to PowerShell to the Mechanical Turk search for Jim Gray. It was interesting the see the trends of what people were interested in. For the second straight Code Camp, Ruby was a hit.  Also, I was surprised at how many people cared about Subversion and continuous integration (separate talks).  And agile clearly seems to be hitting the mainstream, although not always in a smooth fashion (see the panel description below).

Our team stepped up with some great talks. I missed Carl Prothman's ADO.NET talk because I was watching Tim Shakarian, er, TSHAK deliver a great session on Mock Objects. Doug Seven teamed with Eric Mahlberg to give a pair of talks on Test-Driven Development and Unit Testing and then Doug followed that up with a talk on REST web services (a very hot topic for our team right now). As the lone non-dev, I opted out of speaking (I considered doing the "Intro to Javascript" talk, and then remembered that I HATE Javascript).   Plus, since I hadn't given a technical talk in two years, I probably would've been rusty anyway.  Of course, that's the beauty of Code Camps--the pressure is off and it's really more about the community aspect than the polished speakers.  Even the seasoned veterans were doing talks on stuff they were interested in learning more than the stuff where they had tons of expertise. 

One of the more entertaining sessions was the panel discussion on methodologies.  It elicited a conversation that could've gone for hours.  While people had some great perspectives and it was fascinating to see how other people build software, I did continually hear my agile conscience (which strangely has Jim Newkirk's voice) screaming in horror at how many of the agile concepts were being misunderstood.  The implication was that you were sacraficing quality when you chose the agile route.  Plus, people kept talking about adjusting their agileness for different situations (not sure, but that might have been the quote).  With all due respect to those people (who I'm sure make great software), I'll use one of my favorite Jim quotes and leave it at that:  "Being more agile is like being more pregnant.  You are or you aren't."

Our Saturday dinner conversation was pretty entertaining.  Take eight geeks, put them at a round table, add a few beers, and start a religious conversation about C# vs. Java vs. Ruby.  It's rare to hear someone be so passionate about strong-typing vs. weak-typing (I prefer to think of it as flex-typing).   There was also some heavy praise and criticism about Microsoft products.  In both cases, there was just a tremendous amount of passion around everything discussed.  During one stretch of their requests, I had hinted at one of the things we were doing with CodePlex in the next month or two that addressed their concerns (stay tuned) and a couple of the guys nearly jumped out of their chairs.  The enuthusiasm overall was great. My favorite quote was from one of the primary community influencers there: "I get really excited every time I see all the new amazing stuff Microsoft is cranking out.  This is just such an exciting time." It is always nice to be appreciated.

One person I had a chance to spend a lot of time with Peter Kellner, an MVP who came up for Northern California.  Peter is an ASP.NET MVP and ran the Silicon Valley Code Camp.  We bonded on our experiences at Cornell and went into his rapid rise in the .NET community.  He's really thrown himself into the community with his blog, MSDN articles, and MVP status.  We discussed some of goals for Forums going forward.  Small world anectdote:  I went back and looked at a previous forum post answer that I gave a few weeks ago and as it turns out, it was to Peter's question, so apparently we had indeed met before--virtually. Peter is a really good guy and it looks like I'll have to make a trip down to the bay in October for their next Code Camp.  Someone mentioned that Code Camps were a little like the Grateful Dead on tour in that some people just followed them around.  Maybe that's where I'm headed (cue the music to "Truckin'")...

As for our team's work (with both CodePlex and the other projects we refer to as Athens, which includes the next generation of Forums and Tagging), we didn't oversell it, but we definitely did share some of the high-level work we were doing. Our support for REST interfaces is something that customers can really get excited about.  As I said to a couple of people, the user experiences that people build on top of services can often trump the original author's services (e.g., see del.icio.us and direc.tor).  I'd love to see the community build their own experiences on top of our platform.  We'll be releasing in early April and the feedback we can get from actually getting it out there will be valuable.  For those of you attending the MVP Summit, we're planning to host a couple of breakfasts to share what we are doing and give a sneak preview of Athens. So if you're coming to Redmond and want the sneak peek, let me know.

We closed out with some team bonding Saturday night and flew back Sunday morning.  It was another very valuable event and less than 48 hours away from my family--I highly recommend attending a Code Camp.  Oh, and about the Idaho potatoes, the waitress at a restaurant we went to claimed that the potatoes that they used were actually grown in Oregon.  So much for stereotypes...