Re: An Anemic Community

Home/.Net/Re: An Anemic Community

Kevin wrote an interesting post in which he expressed his concern for the anemic state of the .Net developer community when compared to that of other communities. I started jotting down a response and saw I was getting carried away so I thought I’d post my thoughts here instead.

I heard a comment a couple months ago that went something like “If you wanna see what cool new features Microsoft will introduce in the next 2-3 years, look at what’s happening in open source today”. This was said half-jokingly but it bears a certain amount of truth to it. NHibernate is a couple of releases ahead of Entity Framework, NUnit is steps beyond MSTest, etc. (Although if ASP.Net MVC is any indication of the future, I think it’s turning in the right direction.)

But it doesn’t sound like Kevin’s beef is really with Microsoft, instead he’s questioning the maturity of the .Net developer community when compared to that of other communities. That’s fair, I would agree that the .Net community is a step behind others. I think this comes down to fundamentals. .Net devs are commonly directed to tools and black-box frameworks to cut their teeth on while many other communities seem to favor learning the basics first. (Obviously this isn’t a blanket statement, there are a plenty of awesome .Net developers that hold good practices near and dear to their heart). There are so many frameworks available in the .Net community that abstract out “the hard stuff” that it’s easy to get by with just focusing on tools alone. And this mindset is reinforced by a job market that puts substantially more weight in tools than it does good software design…which is why it seems that 90% of the job posting in our area are looking for Sharepoint experience and zero have TDD as a prerequisite (although that may be just the Cleveland region, not exactly a hotbed for agile tech). And to be honest, I can’t fault a fella for focusing on tooling when it’s pulling in lucrative work. But our result then is a community of devs so focused on learning how to steer a black-box to fit their needs, that they never take the time to properly learn the basics. And without that solid foundation, it’s extremely difficult to write software that’s clean and maintainable. Ian does a great job in talking about this is a recent post.

For us to see a dramatic uptick in the quality of the software outputted by the community, we need to start by accepting that we don’t need to learn every new tool that comes out of Redmond and instead focus that energy on building our own developer muscles first. (Don’t get me wrong, the tools we use are always going to be an important segment of our arsenal but having a better understanding of the pieces that make up that tool will make it easier for you to learn how to use it effectively as well make you a better judge on whether or not it’s the right fit for the job.)

All that said, I think the community has actually grown quite a bit especially in the last year or so. Much of this is thanks to groups like Alt.Net that have spent a lot of energy to introduce others to these principles. But we all have to do our own part to keep the momentum going. Something as small as blogging every now and then, or mentoring a coworker, or starting a book club can make a profound impact.

DotNetKicks Image

About the Author:

Freelance software developer in the Cleveland area.

2 Comments

  1. Kevin Berridge June 15, 2009 at 2:36 pm - Reply

    I totally agree with your insight that .NET devs tend to focus on tools over fundamentals. I think this is in many ways encouraged by Microsoft, Visual Studio, and even the MSDN magazine. This make it HARD to learn fundamentals. Pehaps this also helps explain the lack of community tools or plugins or utilities, etc in the .NET community.

  2. Darrell Mozingo June 17, 2009 at 11:02 am - Reply

    I think many developers in the .NET community (especially the web portion) “grew up” from VB to ASP and now to WebForms/MVC. That path lead many of us down some bad roads and did little to steer us away from them – actually, I think it lead us down them on purpose. College doesn’t exactly teach you the SOLID principals, unfortunately.

    There’s a lot of developers finally starting to see their pain and all the money they’ve been, for all intents and purposes, throwing away for quite some time on near impossible to maintain applications. They’re catching onto a lot of the “better ways” that are out there, myself included. Over time, I’m sure more will keep moving over until we hit some sort of critical mass, where those without these skills and knowledge will be less in demand and fewer and further between. Hopefully it’ll be soon, ’cause I’d love to be surrounded by guys like that regardless of where I chose to work.

    Nice post John.

Leave A Comment