...and you like it

The Technological 7-Year Itch

Scott Hanselman writes a thought provoking
post
that asks the question, Is Microsoft Losing the Alpha Geeks? An
interesting question, but troublesome to make sense of, let alone
answer.

First of all, how do you define “Alpha Geeks”? Who are they?Paul
Graham would lead you to
believe that alpha
geeks are the influencers who use Macs and lots of parenthesis to write
code. By that definition, the alpha geeks were never there or left a
long time ago.

But I don’t think this is a fair definition of alpha geeks. Certainly
there are still alpha geeks who love writing code for the Microsoft
platform. Someone like Jeff
Richter
has to be considered an alpha geek, no?

You’re the type of developer who uses what works while keeping an
eye out for a better way.

You reach outside the mainstream to adopt the best of any community:
Open Source, Agile, Java, Ruby, etc.

You’re not content with the status quo. Things can always be better
expressed, more elegant and simple, more mutable, higher quality,
etc.

You know tools are great, but they only take you so far. It’s the
principles (sic) and knowledge that really matter. The best tools
are those that embed the knowledge and encourage the principals
(e.g. Resharper.)

Remove the .NET specifics and we’re left with ALT. Is the Alpha Geek
the ALT developer?Getting warmer.

So who is Scott talking about? Let’s look at his post for some clues:

The one thing I learned about Rails and Rails/Ruby folks at this
conferences is that they are enthusiastic and passionate. Not just
because many are young (I suspect the mean age to be about 26 at this
conference) but because they feel that Ruby and Rails expresses their
intent in a clean and aesthetically pleasing why that avoids
repetition. The code is DRY (Don’t Repeat Yourself.)

Ah! Some more clues! As expected, this discussion is really focused on
web development. This is interesting because I would think that
software developers such as Linus Torvalds, John Carmack, etc... would
be considered Alpha Geeks, and they certainly are not building web
applications.

But when you think about it, games and operating system kernels make up
a very small percentage of all software being written today. In terms of
public interest and buzz, building software for the web appears to be
the only software development that really matters.

Alright then, with the understanding that we are not talking about 3-D
gaming developers (you guys and girls do matter much to me no matter
what anyone says. Thank you for
Oblivion!)
let’s get back to the original question. Are developers leaving
Microsoft in droves for Ruby on Rails?

It’s hard to say. Show me the data. Certainly, Rails has a huge
amount of buzz and a passionate fan base, which can create the
impression that developers are heading over there in droves. But passion
doesn’t account for statistics.

However, the gain in mindshare of the Ruby on Rails way of thinking
cannot be dismissed or discounted. It’s why we’re reading about ALT.NET
more and more in the first place. It’s why projects like Castle
MonoRail
and Subsonic have sprung up
and gained many admirers.

Not to mention how recent blunders by
Microsoft
have disenfranchised many developers, it’s no wonder Scott and others
are asking this question.

I think, the truth is somewhere in the middle. It’s not so much that
alpha geeks are all leaving Microsoft in droves. But I do believe that
many more alpha geeks are experimenting with other platforms such as
Ruby on Rails.

It’s like the technological equivalent of the 7-year itch. You’ve
been with her (Microsoft) for so long and things have been good for so
much of that time that you are quite comfortable. But lately, the love
just hasn’t been there. She’s constantly nagging you (Confirm or Deny)
and it is more and more difficult to get anything accomplished when
you’re together. To leave fills you with uncertainty, doubt, and pain.
But, what if you could just have a little something something on the
side? That wouldn’t be so bad, would it?

Of course where this analogy breaks down is in terms of technology,
having a couple of other platforms and languages on the side is
absolutely good for you. I wouldn’t recommend trying that with a human
relationship.

So in my answer to Scott’s question, I think it may well be that many
developers completely leave. But I imagine that many others will take
the path that Rob Conery, the
creator of Subsonic wrote
about.
He’s choosing to help try and change the developer culture around
Microsoft from the inside, rather than jumping ship completely. Like a
good ALT.NET developer, he sees some value in the Microsoft platform and
tries to combine what is good from it, along with what is good from
other platforms, rather than just giving in to the self-perpetuating
cycle of successful programming
languages.

One thing that writing .NET code still has for it is that it pays well
and there are plenty of jobs doing it. To that end, Microsoft will still
retain alpha geeks for a good while. It’s hard to leave the golden
goose.