Late last month, the gotdotnet team hosted the first ever "Gotdotnet CodeSlam" for 54 attendees (26 zealous MVPs and 28 FTEs) at the Microsoft Visitor Center in Redmond. In the invitation, I described CodeSlam as:

"an open-ended, open forum, work-social event for MVPs (like you) who can’t keep their fingers off their laptop nubbins or their minds off Whidbey. It will be "coder chic": swank but functional digs, ample bandwidth, and plenty of almost everything you weren’t allowed to consume growing up. The only thing we ask of you is that you leave your conventions outside, bring your ego in, grab a drink and some grub, open your laptop, and do what you do best (in the new gotdotnet CodeGallery)."

The CodeSlam Experiment
When Sandy Khaund and I first discussed the idea of hosting CodeSlam several months ago, we set out to create an event that would be as hard to resist and as difficult to leave for a developer as for a casino is to a gambling addict.

The Purpose
Our primary goal was to drive fresh traffic to gotdotnet CodeGallery, a new site that we launched on August 22, 2005 that facilitates feedback-driven software development in "micro-communities" of practice. We started with approximately 12 big projects from Microsoft teams, most notably the Patterns and Practices team, and have grown to around 75 or 80 since then. To attract more eyeballs, we realized that we needed more code. Next to going out and asking every developer we know to post their cool projects-in-waiting on CodeGallery (which we are actively doing), we figured the best way to grow the number and richness of CodeGallery projects would be to do it the old fashioned way: attract some "beautiful people" to a party, share our future plans with them, encourage them to exercise CodeGallery by tossing a little code into the hopper, and hope that other developers will follow. Although the jury is still out, there is good reason to believe that CodeSlam contributed greatly to our goals and was well worth the small investment. Secondary objectives included: a) Obtain feedback on gotdotnet.com in general; b) Validate our feature plans for the next version of gotdotnet Workspaces and; c) Propose Groove as a "backchannel", P2P development client for gotdotnet CodeGallery users.

The Roots of CodeSlam
CodeSlam did not evolve into the killer "unconference" that it would become in a vacuum. It was inspired by the virtual Chautauquah movement, Code Camps, the more recent FooCamp, organized by O’Reilly, BarCamp, which is reputed to be a grassroots response to the perceived over-structured atmosphere of FooCamp, Gnomedex, and BlogWalk Seattle, which I attended in early September and will discuss in an upcoming post. I am a big fan of the Unconference model and believe that they hold the potential to inform and breath new life into the super-conferences that most large companies (and universities) around the world host each year. If you are a conference organizer, I challenge you to study the unconference. Smaller, less expensive, better.

I chose the name "gotdotnet CodeSlam", as Raymond Chen notes, for its association with poetry slams, an event where a group of poets get together to read and discuss their verse in a public or semi-public place.

The Philosophy of CodeSlam
T'aint no "manifesto" but in the proud tradition of Microsoft, I must admit that I did write a "feature spec" that mostly consists of a whole bunch of corporate boilerplating and KorbyHelper. That reminds me... Note to self: Must finish CodeSlam spec. Anyhow, CodeSlam was the first of what will probably be many gotdotnet-hosted CodeSlamswhere a group of passionate practitioners gather around a central theme to socialize and, if they feel like it, work. At gotdotnet CodeSlam0, our theme was: gotdotnet CodeGallery, which incidentally enough, offers a great platform for planning your next CodeSlam or similar event.

No Execution Strategy?
What? Huh? But...We were transparent about our primary objective at CodeSlam but we also very clearly articulated our intention to allow the attendees to determine HOW they would work toward that goal, WHEN they would do it, and even WHETHER they would do so at all.

No Structure. No Agenda. No Schedule.
Unlike a traditional conference, CodeSlam did not have a set agenda or schedule, although we did provide a starting time (5PM), an ending time (7AM), a dinner time (~7PM), and we mentioned that there would be some opening statements by the gotdotnet team shortly after dinner. After that, attendees were invited to do whatever they wanted. To my great pleasure and amazement, they gathered around tables, sat down on couches and bean bags, opened their laptops, and started coding.

The Incentives
In the invitations, I posed the following reasons to attend:

  • Hang out with, ideate, debate, design, and code with some of the sharpest and best known developers in the world.
  • Explore, create projects in, and critique gotdotnet CodeGallery with the team that built and runs it.
  • Get a sneak peak at our next planned launch: CodeStudio (which will blow your socks off!!!)
  • In the weeks following this event, we will keep a close eye on the progress of your CodeGallery projects and may select one or more projects for presentation by its owner and a Microsoft executive at an upcoming event or conference.

I later learned from several attendees that they were as motivated as anything by the simple prospect of getting to write some code. Duh! These are skilled and passionate craftsmen at the top of their game. Why wouldn’t they be thrilled to do what they love to do? One attendee told me, "this is the first MVP Summit event that I’ve been to in a long time where I actually get to write code." Another attendee told me, "The "beer" caught my eye but the code is what really brought me here tonight." I should also mention that I did hand out one door prize.

How did it go?
In recognition of the facts that we don’t know everyone and we believe that it's valuable (and adventurous) to give customers the ability to build social capital whenever possible, we settled on a viral invitation model (think gmail). In the first round, I invited 22 high profile MVPs and 18 FTEs and in turn, invited them to invite one additional MVP each. I don’t know why it worked but it did. As previously noted, we targed 50 attendees, structured in a 10 person buffer, and 54 folks actually attended. Lockergnomers Chris Pirillo and his bride-to-be, Ponzi put us over the top. :-) Due to the fact that many MVPs were flying in that very day from far off locations like Europe, Australia, and South America, there were slightly more MVP no-shows than FTE. A group of Italian MVPs, just off a 26 hour travel day, stayed until 1PM. A group of Australians, who arrived from the airport with their luggage, stayed until around 2:30AM.

Attendees
Here's an incomplete list of some of the folks who attended: Tim Heuer, Gretchen Ledgard, Josh Ledgard, Sam Gentile, Raymond Chen, Anil John, Daniel Cazzulino, Harry Pierson, Ward Cunningham (all wiki, no blog?), Andrew Connell, Scott Sargent, Jonathan Cogley, Daniele Bochicchio, Stephen Butler, Richard Hundhausen, Keith Pleas, Chris Kinsman, Jim Newkirk, Phil Beadle, Sandy Khaund, Betsy Aoki, Angus Logan, Maryam Scoble, Robert Scoble, Chris Pirillo, and Simon Guest.

Setting the Tone
We asked all attendees to to bring one thing: a laptop. We planned for a 60/40 MVP to FTE mix (to preclude it becoming a Microsoft-focused thing) and we ended up with a 48/52% mix instead. To drive home the notion that this was a *community* event, where both FTEs and MVPs are all equal members of the same community, I did everything possible to not distinguish between MVPs and FTEs. For instance, all name tags looked the same, and everyone got the same swag: a t-shirt, channel 9 guy, name tag, and Rubick’s Cube.

Related Blog Posts

Photos and Video
For event photos that I know about, see http://www.flickr.com/photos/tags/codeslam/. There are also a few at: http://chris.pirillo.com/blog/_archives/2005/9/29/1268481.html last time I looked. Scoble shot a considerable amount of video during the opening remarks so expect a Channel9 video at some point in the future, probably when we announce our plans around the next version of gotdotnet Workspaces.

Next Steps and Shoulda Woulda Couldas

  • I would plan it for a weekend day, if possible, rather than overnight on the back end of a marathon travel day for so many of the attendees. I stress that the *perception* of having no end time is very, very important to creating the right kind of relaxed and creative environment.
  • More time to code. We did a great job getting the people, setting up the space, provisioning internet connections, & etc but our opening remarks ran a bit long and the real fun coding didn't begin until arournd 11PM.
  • Speed dating. Silly as it sounds, Phil Beadle who works for Readify in Australia and is a core member of the DotNetNuke team suggested that we enable CodeSlam attendees to meet and greet using some sort of structured introduction scheme. I couldn't agree with you more, Philip.
  • Coffee, need to hire a latte cart or rent out one of those Capuccino spitter outer machines.
  • Create a CodeGallery project beforehand where invitees can discuss their plans for CodeSlam and post any related resources, such as code & etc.
  • The second, third, fourth, and x gotdotnet CodeSlams are already being planned across the country and around the world. If you have already contacted me for information, I will be in touch shortly.
  • Upcoming "unconferences" in the US and around the world include an invitation only mind thing in Seattle in early November, Code Camp Seattle on October 22-23, and more...