Agile Ajax

The merits of alpha-geekdom

Jeff Atwood of Coding Horror recently picked up a thread from Ben Collins-Sussman (of SVN fame) about the distinction between alpha geeks and the majority of vocational programmers. According to Collins-Sussman:

There are two "classes" of programmers in the world of software development: I'm going to call them the 20% and the 80%.

The 20% folks are what many would call "alpha" programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with
hiring. These folks were the first ones to install Linux at home in the 90's; the people who write lisp compilers and learn Haskell on weekends "just for fun"; they actively participate in
open source projects; they're always aware of the latest, coolest new trends in programming and tools.

The 80% folks make up the bulk of the software development industry. They're not stupid; they're merely vocational. They went to school, learned just enough Java/C#/C++, then got a job
writing internal apps for banks, governments, travel firms, law firms, etc. The world usually never sees their software. They use whatever tools Microsoft hands down to them -- usually
VS.NET if they’re doing C++, or maybe a GUI IDE like Eclipse or IntelliJ for Java development. They've never used Linux, and aren't very interested in it anyway. ... They know exactly enough to get their job
done, then go home on the weekend and forget about computers.

Say what you will about Collins-Sussman's generalizations; his original post, Atwood's response and Collins-Sussman's follow-up have generated hundreds of comments, many of them wildly entertaining. I think most people would agree that the two extremes exist but that there's a broad range of in-betweeners. Ignore the hyperbole and it's an interesting theory.

It's also a theory that can be applied to many different disciplines. Information architects and visual designers have their own spectrum between the vocational majority and the obsessive minority. So do project managers. Even within the programming field, nobody can be an alpha geek about every aspect of software development. A lot of people who fall into the 20% camp when it comes to writing, say, Java code fall into the 80% when it comes to the user interface. As for me, I'm far more vocational about server-side technologies than I am about Ajax. I'm obsessive about the things I find interesting and merely competent at the rest.

Software engineering is by its very nature multi-disciplinary. Even self-professed "20%-ers" can only master so many discrete technical and design skills. They key to building great software is to recognize the specific sub-disciplines that inspire you to alpha-geekdom. Then, search out opportunities that will reward you for obsessing over them.

Leave a comment

Powered by WP Hashcash

About Pathfinder

  • We design and build extraordinary applications for companies looking to make the next great idea a reality.
  • learn more

Topics

WordPress

Comments about this site: info@pathf.com