Eggheads, Elite, Shills and the Mainstream
Posted by coreycoogan on February 12, 2010
Scott Bellware, a once prominent member of the Alt.Net community before seemingly denouncing it sometime last year, has been very busy lately with some interesting and thought-provoking posts. True to his usual form, you may want to keep a dictionary handy while reading.
In his post, How Mainstream Lost Software, Scott really said some things that hit home for me. He talks about Eggheads in the following way:
Eggheads write and speak for other eggheads. The language they chose and the names given to design principles, as well as practices and patterns are stimulating to other eggheads and yet utterly obstructive to the other part of the software development population. When you measure the Egghead population against the mainstream population, the Egghead population doesn’t appear to be much more than a rounding error. There’s a lot of work to do, and we can do it much better.
Eggheads preach to the choir, and this is often so stimulating that they never leave the echo chamber. They don’t learn how to reach the mainstream. They hope that the people they do reach will somehow reach the mainstream, but those people usually end up emulating their egghead heros and become eggheads themselves. The circle expands slightly, but not merely enough to have the meaningful effect on software development productivity that their knowledge and understanding should already have had.
The other end of the spectrum is who he called Shills. It takes only one meaningful sentence to convey what a Shill is:
Shills convince the mainstream to buy snake oil solutions to problems that could be easily solved with plain old soap and water.
So why did all this hit home? The fact is, I’m an aspiring Egghead. I absolutely love this stuff and am passionate about all things Egghead. I work all day. I work at night. When I’m not working, I’m thinking about this stuff. When I’m not thinking about it, I’m reading about it and wondering how I can improve my craft. I try to emulate my Egghead heroes like Jeremy D. Miller, Ayende Rahien, Udi Dahan and many others. I know I’m not even on the same planet and probably never will be, but I’ll never stop trying.
Scott says that people who really care about this stuff are nothing more than “a rounding error” compared with the mainstream development community, who has bought into what the Shills are selling. I see it all the time. “Why write unit tests first, or even by hand, when I have a wizard to generate them for me when I’m done?”. “Why write my own decoupled, testable authentication scheme when I have the AspNetMembershipProvider?”. It’s tough to win those debates because this is just not how most people understand things.
The impending doom of the Northeast WI Alt.Net User Group is what really brought this home. It’s not officially over yet, but I was very surprised to find out how very little of the local population is in learning about things NOT mainstream Microsoft. I advocated the group to almost every developer I met but nobody ever showed any interest. They show up at the INETA sponsored .NET User Group to learn about SharePoint and Silverlight RIA, but not Alt.net. In my opinion, we were talking and learning about things that could be implemented right away to. Things that had immediate benefit. Why wouldn’t this interest people?
Scott Felder covered NServiceBus to an audience of 5. I prepared a presentation on the Spark View Engine, which was supposed to be for an audience of 7. Unfortunately only one person was actually going to come so I called him from the parking lot to let him know not to bother. Other topics were going to include SRP/S.O.L.I.D., StructureMap, S#arpArchitecture, NHibernate and so much more. The fact is, people just weren’t interested.
There was a bunch of discussion on our group about marketing and branding to generate interest, but it honestly seems like too much work. I am a very busy person and time is so precious to me that it’s really hard to justify investing my time and energy into getting people interested in improving their craft. We are in charge of our own path as developers – nobody else. If they aren’t willing or interested in seeing what else is out there, it’s their loss, right? Right?
So that’s the nerve that was touched. Scott’s closing words included this:
What’s needed is a new generation of productivity missionaries who are willing to master the field of knowledge and are willing to learn to connect with the mainstream.
Again, I am not claiming to be elite or even in the top 50%, but I do admit to understanding a lot of this stuff. Reading his post makes me feel a little guilty for wanting to bail on the Alt.Net user group. It really made me look at that decision and reflect on the current state of the mainstream development community and ask myself if I’m happy with where things are. The answer is no. It takes too much energy to get people to even consider possibilities beyond 3 Tier architectures with so-called BLL’s that act as a pass-through to a DAL. I don’t want to explain why breaking a God class down into 10 separate classes in the name of SRP really isn’t “a lot of extra work”. Yes, IoC containers use reflection, but most of it gets done upfront and you have to consider everything you get… etc…
Thanks Scott for giving me more to think about.