First off, apologies for the delay in writing this one; I can only plead the pressures of work at the end of last year. There are a number of blogs, in the pipe, which I hope you can expect to see soon.

However, I had promised to update people on what happened at that last conference in the UK, specifically because we declared that it would be the last conference, feeling that movement had run its course. That outcome was reported on Twitter, but I wanted to go into why, and talk about some ideas for what is next.

Alt.Next took place on 19th\20th November 2010 and we were kindly hosted by Thoughtworks. I gave the keynote on the condition, as I saw it on the state of the Alt.Net movement, something I have talked about here before on Codebetter, but the history, as I saw it, is worth repeating here.

A brief history of how the MS software community learned new ideas

15 years ago, for the old hands amongst us, most our deep understanding came from books or from peers. There were rock star developers who we learned from. Just look at the Wrox publications of this period for the epitome of this rock star author movement with its, somewhat cringe-worthy, photos of geek celebrities embossed on its front covers. I can remember poring over copies of MFC Internals and Revolutionary Guide to MCF4 Programming with Visual C++.

But the problem was that knowledge was  ghettoized; most folks read the books they needed, and magazines like MSDN. There seemed to be very little cross pollination of ideas outside individuals moving jobs.

10 years ago, the Internet started to become a source of technical knowledge. Now there were BBS systems before this, but I don’t think they had the same reach. In my recollection, the real explosion here  corresponded with the emergence of Java. Java was cool and even places like The Well had Java forums where developers could gather and talk about this new language. It was either something to do with the paradigm shift caused by Java creating a new playing field, in which the old rock stars had to work to avoid looking like yesterday’s heroes, or the cross-fertilization as people from myriad former communities come together within Java; but somehow there seemed to be a greater sharing of knowledge. The masters were revealing their secrets to the journeymen and apprentices. It was a major shift in the availability of knowledge, and even books seemed to change to reflect that.

To my recollection this was the beginning of the first Windows Developer Diaspora. A lot of smart kids wrote leaving MS emails and forum posts and moved to Java. Plus ca change. Eventually MS reacted and moved to stop the diaspora with their own extensions to the JVM, and following that the CLR.

But the result of this explosion of knowledge, and the peering over the fence from some MS developers, looking to see what all this Java noise was about, led to a few of them encountering new ideas. New ideas like ORMs, and IoC containers. And some of them realized that the similarities between Java and C# gave them the ability to port some of these OSS projects into the .NET space to get the leg up on using them themselves.

In addition, as these MS developers looked to the Java community to understand best practices that might help them use their new frameworks, they stumbled across agile software engineering.

But…this cross fertilization did not seem to spread widely in the MS community. A lot of them were so busy fighting a rearguard action around MFC and VB that they already saw .NET as an invader, let alone ideas from other communities. I think they were afraid of the ‘promiscuous’ behavior of.NET developers who flirted with these new ideas; they threatened the rock star developers dominion. And that frustrated those ‘promiscuous’ developers who were excited by the possibilities of these new ideas, who saw a better, faster way of working. But without widespread understanding of these ideas, adoption was always a struggle, and these ‘promiscuous’ developers became angry that no one was spreading the good news of the better way to their colleagues and managers, forcing them to work with impoverished tools and practices.

And I think it was in this context, that in 2008 a number of ‘promiscuous’ MVPs gather at MVP summit. Many are folks you would recognize as current of alumni CodeBetter bloggers. They clustered together through shared beliefs that the .NET community was blind and deaf to other practices, frameworks and patterns, and that MS was happy to let them remain in the dark. Their anger coalesced around the Entity Framework, which was seen as a poor alternative to Nhibernate, or even LINQ to SQL for folks that wanted to work in a new way.

Because they were associated with the EF rebellion they became knows as the NHibernate mafia at first. But David Laribee gave them a new name, and a manifesto from hacker culture with Alt.Net.

Some may feel the Alt.Net movement succeeded, some may feel it failed. However, awareness of agile software engineering ideas like SOLID or TDD is far greater, as our tools like ORMs or IoC containers. When MVC frameworks began their rise with Rails, the .NET community furnished Monorail and later MS produced ASP.NET MVC. Flawed or not, I think that the movement promulgated greater understanding of why these ideas were important. Now more and more people can work environments where these ideas can be pushed and adopted. So I think the Alt.NET movement achieved something, and I don’t think it should be regretted.

But of late the movement seems stalled. The question is what does that mean for the future of Alt.NET.

Our Discussions

A lot of the conversation on the day at Alt.Next can be centered around two perceived problems with the Alt.NET movement:

  • Messianic.NET
  • The New Orthodoxy

Many attendees brought stories of developers for whom Alt.NET was a negative moniker, applied to someone who is pushy and arrogant; with the implication that their ideas were somehow ivory-tower, not for us, and impractical. There was a feel that the ‘missionary’ nature of the Alt.NET community had done more to offend that inform, and had often been too messianic. No one likes to be made to feel stupid, but the Alt.NET community made a lot of people feel that way.

The danger of the new orthodoxy can be summed up as the belief that Alt.NET is really just a set of tools. A TDD framework, an IoC container, an ORM, and an MVC web framework. Hence the question from outside: given decent versions of all those, isn’t the problem over – can’t Alt.NET just go away? Even deeper the problem seems to be that its not just generic versions of these tools but NHibernate over EF, anything over Unity, etc. that are required to prove your credibility to the movement. There even seems to be an orthodoxy that anyone not using R# is poor software developer who cares little for his craft. “By their works ye shall know them,” seems to be the mantra of this witch-hunt.

I think that none of the attendees believed that this was what Alt.NET had originally meant. Indeed David’s proposition had been: “It’s not the tools, it’s the solution…When tools, practices, or methods become mainstream it’s time to get contrarian; time to look for new ways of doing things; time to shake it up”.

And I think for my part, and many others is that whilst Alt.NET should now be about NoSQL, Javascript MVC frameworks, Node.js etc. it seems mired in what was, not what is next, what we need to improve to be better. And in turn when those are done, it needs to move on.

And so we decided to abandon the Alt.NET moniker for future open space events.We want to move away from waging a war to spreading ideas. It is about cross-pollination with other communities, platforms. Going out to listen to other conversations and bringing that back into the .NET space. Innovating and taking those ideas out of the .NET space.

We’re not even sure what the “new thing” should be called, or even if naming it matters, and is not a mistake. Perhaps Alt.NET is dead as a movement; others may still find it useful to identify the like minded, but whatever you want to call it, I think its important to embrace the manifesto that David outlined long ago over what it became in between:

“Ralph Waldo Emerson wrote “there are always two parties; the establishment and the movement.” If you’re ALT.NET, you’re in the movement. You’re shaking out the innovation. When the movement fails, stalls, or needs improving you’re there starting/finding/supporting that next leap forward.”

For our purpose though, Alt.NET is dead. I sing its praises, but its time to find the next leap forward.

The New Diaspora

One postscript is that once again we seem to be experiencing a diaspora. Once again ideas outside the community burn very brightly. Ideas that cannot simply be ascribed to tools but to approaches and practices. In this case I believe it is partly the OSS ecosystem that non-MS software communities support so much better. Perhaps our new movement will truly be born from a reaction to this crisis, as much as Alt.NET was to the last.

About Ian Cooper

Ian Cooper has over 18 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTi, Reuters, Sungard, Misys and Beazley delivering everything from bespoke enterpise solutions to 'shrink-wrapped' products to thousands of customers. Ian is a passionate exponent of the benefits of OO and Agile. He is test-infected and contagious. When he is not writing C# code he is also the and founder of the London .NET user group.
This entry was posted in altnetconf, AltNetUK. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Jradley23

    I have to agree with Justice, typical “tech nerd” outlook on people and social interactions.  You read a book on how to work with people and how to be a positive influence on a team, but the true message completely eludes you and you really just come off like a “know it all d**k” that no one really wants to work with, but they do b/c you have good tech skills.  

    The story almost always ends the same, “you” either realize the negative impact you have with people (as they shut you off) and change or you end up working “alone” one some isolated project to keep interactions with you to a minimum.  Telecommuting has been the answer for many a social awkward know it all tech.  

  • Justice Gray

    I thought *this* article was a lengthy ramble through history and then I read Scott’s comment!

    Maybe both of you would benefit from less talk, more helping people.

  • Anonymous

    I don’t think that we were ever KNOWN as the “NHibernate Mafia”. The only reason most of the people in the audience know of this name is because I called Richard Campbell to account for his disparagement of our engagement with the EF team at the 06 MVP Summit. Most of the people in what became the ALT .NET movement at that time didn’t pay attention to DNR, or indeed many of the details of what the .NET mainstream’s attention was being directed toward. So, if we were in fact known as the “NHibernate Mafia”, then it was for a measure of days between the time I wrote the essay, “On Being the NHibernate Mafia”, and Dave’s coinage of “ALT.NET”.

    I think it’s great that you guys focused on the “messianic” perceptions of ALT.NET. I’ve counseled for a very long time that the only way to counter the buildup of this kind of entropy is to show that you’re willing to help anyone and everyone who asks for it. The moment I knew for sure that the nails were going into the ALT.NET coffin lid is when Jeremy followed up my call ( for more people to engage on this level with an encouragement to do the exact opposite ( The only problem with advocating a controversial or counter-intuitive agenda is not getting out into the general community and helping people toward hands-on experiences of subjective proof for themselves.

    There’s a lot more to moving people than talking at them from a podium, or talking amongst ourselves at summits. There is indeed a definitive negative side-effect in having command of knowledge and abilities that aren’t widely-known yet: it triggers fear responses. The only effective countermeasure for that is to show that you’re no threat, and the only effective means of doing that is to show that you don’t hold yourself as separate or above. The very best way to do that is to throw yourself into serving the people that are threatened by new understandings that you’re bringing to the greater collective.

    The unwillingness to do this and the naivety in undertaking advocacy and activism saw to it that inevitable fear responses were never addressed. Most of the new wave of “leadership” sat back on their laurels and didn’t pay down the new social capital with the community service that balances the scales. And indeed, defacto elitism – a sense by some amongst us that we were indeed so far above the unwashed masses that we shouldn’t have to serve them – was’s achilles heal.

    The last thing that had was a “messianic” problem. I don’t follow messiah lore too closely, but the so-called messiah that I know of was said to be a servant, and to have served with profound compassion for the inherent potential in people. If anything, what might have needed more of was a defacto messianic approach, rather than the same old cynical colloquialisms that obscure profound meaning behind too-cool-for-school attitudes.

    Even as recently as this week, Jeremy quipped to Chad that I’m possessed of a “messiah complex”. This is the language that they’ve chosen to defend their entitlements to not putting some balance in the social capital bubble. I’m perfectly OK with this characterization, knowing that beneath these cynical and shallow representations of what it means, at the heart of the matter it means that I’m willing to serve – especially when it’s costly and especially when it’s not convenient to me.

  • Pingback: Links del dia #1 | Gabriel Rodriguez Plancarte