As 2008 comes to an end and 2009 starts to ramp up, I thought it might be interesting (for me at least!) to look back at some of the important events and changes in 2008 that have most impacted my professional life as a software developer.
The Year of Community
If I had to sum-up what 2008 has meant to my professional career in a single word, I would have to say that the word would be ‘Community’. 2008 for me was my year of ‘community engagement’. Although it really mostly happened by random mistake rather than a coherent plan, looking back on 2008 I can see now that it was the year that I really started to dig into interacting with the larger .NET community in a way very different from how I had done so in the past.
Prior to 2008, I was a *user* of open-source .NET software, a *reader* of blogs, and a *viewer* of screencasts. During 2008, I became a *contributor* to open-source .NET software, a *writer* of blogs, and an *author* of screencasts. In essence, I moved from ‘passive’ to ‘active’ in the community.
Summer of NHibernate
Clearly a lot of my exposure to the community is the result of my decision to take some of the materials that I had assembled for my company’s own internal informal weekly training sessions (our weekly ‘Dine and Discuss’ sessions) and repackage them into screencasts for the larger community to start to benefit from.
Response to the Summer of NHibernate series was tremendous — much larger than I ever could have expected. While the number of actual downloads dwarfed the feedback and the donations offered to help defer my hosting costs , I was continually amazed at the number of people who took the time to tell me how much they were able to get out of this material. Even Scott Hanselman noticed and helped publicize the content for all to benefit from. He even talked me into hosting it at a recognizable and discoverable domain name to make access to the content as dirt-simple as possible for as many people as possible (thanks again, Scott!).
Since the goal never was to try to make any money out of this content, the feedback I received from people who told me…
“I had tried to learn NHibernate several times before but gave up each time until your series provided me with the ability to finally adopt it in my work.”
…is about the best possible reward I ever could have hoped for.
2008 was the year that I ‘discovered’ ALT.NET and in the process found that apparently there was not only a name for the techniques and values that I long-since considered integral to the practice of my profession, but that there was also actually a fledgling group of these people trying to make something coherent out of the conversation about these things that always seemed to happen between developers.
Like the name or hate it, ‘ALT.NET’ stuck and even as the loose, intentionally non-organized group of .NET software developers frequently struggles to define itself (and in many cases, intentionally tries not to define itself), ALT.NET has (IMHO) come to represent a centering on what is basically a preference for most of the values that Agile prescribes but in the context of developing using the .NET framework.
When the question was raised on the ALT.NET Yahoo Newsgroup…
“Who wants to form an ALT.NET user group in the NYC area?”
…I couldn’t raise my (virtual) hand fast enough. 4-5 like-minded NYC-area .NET developers got together to see what could be done. The local Microsoft Developer Evangelist (Peter Laudati) and Microsoft Architect Evangelist (Bill Zack) for the NYC Area reached out to us to help us with logistics (space, sponsors, visibility, community awareness, and the like) and we were off to the races. For the record, I cannot say enough about how helpful these two gentlemen have been in easing the challenge of getting a user group started; kudos to both of these people without which ALT.NET NYC would have been much more challenging to get started!
In just three short months our membership has grown to nearly 175 and our average meeting attendance is maintaining itself at about 50 people per meeting. Some of the attendees are there because they are curious, others want to share their experiences, and still others are likely attracted to the fact that our group seems to be able to hold sessions on all the ‘hot’ process and practice topics that many .NET developers have perhaps heard about but haven’t had the time to really dig into in any detail (unit testing, TDD, DDD, mock objects, ORM, etc.). ALT.NET may not hold the mindshare out there, but we sure do seem to be working with all the hot-button practices that get the PR all under one roof.
For 2009 we are hoping to be able to keep the ball rolling with the group but also take it to a new level, possibly even starting to offer recurring one-day ALT.NET workshops to help increase awareness of the value of the techniques and practices that we advocate to others — a sort of recurring ALT.NET on-ramp for people looking to try to get started with some of this stuff. More to come as these ideas solidify further.
Entity Framework Vote Of No-Confidence
I think the first true test of the validity of ALT.NET being more than just a name was the so-called ‘Vote-of-No-Confidence’ document on the Entity Framework that came out of the group. This process (the authoring of the document, the virtual signing of it by so many of the ALT.NET group — and others, discovery of it by ‘mainstream’ tech media outlets, and ultimately Microsoft’s own eventual response to it) proved (to me at least) beyond a shadow of a doubt that ALT.NET had ‘arrived’.
Not because we ‘stood up’ to Microsoft publicly, not because Microsoft was ‘forced’ to acknowledge our actions (and our existence), but really because I don’t think the Vote-of-no-confidence document would have reached as many people for consideration of ‘signing it’ if ALT.NET hadn’t been already in place to facilitate spreading the word. This whole process proved (to me) the legitimacy of gathering enough like-minded people together to make an impact on the larger world. ALT.NET had become something that could stand up for itself and voice its collective opinion in a coherent manner in one voice when it truly mattered.
Whether or not you approved of the way it was handled within ‘ALT.NET’ or within Microsoft, whether you felt it was ‘needlessly confrontational’ or ‘entirely appropriate’, I think that we all have to acknowledge that the event was a watershed for ALT.NET as a ‘movement’. We grew up, made some noise, spoke as one, got some recognition, and had an impact. I don’t think any of that would have been impossible without ALT.NET’s existence, but I think it would have been much more improbable.
Autumn of Agile
After the welcoming by much of the community of the Summer of NHibernate series, I next moved to the successor, the Autumn Of Agile series that is both wider-reaching in scope and grander in goal. Although I’ve clearly bitten off more than I thought (Autumn is over in the northern hemisphere and the series is nowhere near completed!), I am fully-committed to completing the series in the first quarter of the new year so keep your eyes peeled (right here) for coming installments.
I actually like what Rob Conery did with his MVC Storefront series (and in a way its inspired me to do the Autumn of Agile series), but rest assured that I don’t intend for my screencast series to drop off the face of the earth for months at a time in the middle of the process .
CodeCamp NYC 2009
My latest community engagement is as a speaker at the nearly-here CodeCamp 2009 for NYC where I’ll be giving a talk on TDD; hopefully some good will come out of this and more people will be able to better understand the techniques that go into designing testable and loosely-coupled software systems in .NET. While I certainly think its possible to be Agile (or ALT.NET) without committing to TDD as a practice, I also believe that it makes everything a whole lot easier for you and your team if you do.
Whither 2009 will bring….?
What’s up in 2009 for me –? “Who knows where the road may lead us?, only a fool would say.” I do know this: its certain to be interesting and I thank you for following along with me on the trip.
Best of Health and Happy 2009, everyone!
(Now get back to work!)