The Two Types of Programmers

November 25, 2007

Contrary to myth, there aren't fourteen types of programmers. There are really only two, as Ben Collins-Sussman reminds us.

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 -- usally 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. Many have never even used version control. If they have, it's only whatever tool shipped in the Microsoft box (like SourceSafe), or some ancient thing handed down to them. They know exactly enough to get their job done, then go home on the weekend and forget about computers.

As I work with teams of programmers in the field, I'm consistently struck by the yawning abyss between that 20% and the rest of the world. It makes the divide between the open-source and Microsoft camps look like a shallow ditch.

Shocking statement #1: Most of the software industry is made up of 80% programmers. Yes, most of the world is small Windows development shops, or small firms hiring internal programmers. Most companies have a few 20% folks, and they're usually the ones lobbying against pointy-haired bosses to change policies, or upgrade tools, or to use a sane version-control system.

Shocking statement #2: Most alpha-geeks forget about shocking statement #1. People who work on open source software, participate in passionate cryptography arguments on Slashdot, and download the latest GIT releases are extremely likely to lose sight of the fact that "the 80%" exists at all. They get all excited about the latest Linux distro or AJAX toolkit or distributed SCM system, spend all weekend on it, blog about it… and then are confounded about why they can't get their office to start using it.

Perhaps not shocking to me, but an excellent and important reminder for everyone, nonetheless.

I often think we're wasting our time writing blogs which are largely read by the same 20%. In my experience, there's precious little trickle-down effect from the alpha programmers to everyone else. And if there is, it takes decades. If you really want to change the software development status quo, if you want to make a difference this year, you have to help us reach outside our insular little group of alpha programmers and effect change in the other 80% of the world. And that is far, far more difficult than preaching to the converted 20%. It's why I admire people like Scott Mitchell so much, because he understands the importance of reaching out to the other 80%:

I like programming and really enjoy ASP.NET. I think it's neat and fun and interesting and cool how you can go from literally nothing to having a data-driven web application that can be used by people around the world in an amazingly fast amount of time. Furthermore, I want to spread that enthusiasm to folks. I want to say to those who may have never programmed, or to those who are using competing technologies, or to those who are just starting out - "Come over here and try out this ASP.NET stuff. Here, let me show you what it can do!" That's why I teach (which pays pennies compared to consulting). That's why I write (which pays better than teaching, but still is not anywhere near as lucrative as consulting). That's why I give free talks at local user groups and community-sponsored conferences here in Southern California. To get the word out!

To me, saying that titles like Teach Yourself X in 24 Hours cheapen the craft is tantamount to saying, "Our club is full. Go away." It's not saying, "Let's welcome the newbies and get them excited about this technology." Rather, it's saying, "Newbies are ok, but they must first realize how hard this is, how hard we've worked, and how much more we know than them." I worry that such sentiment from the community will come across as pompousness to those very people whom we should be welcoming.

I wish this was easier for me, because I agree with Scott. I'm terrible at the things he's describing. I think the true measure of success isn't how many alpha geeks you can get to pay attention to you. It's how many typical, average programmers you've reached out to, if only in some small way. If you really care about the craft of software development, you'll help us build that bridge between the 20% and the 80%, too.

Update: This was a controversial post. See my followup to this post for further explanation.

Posted by Jeff Atwood
368 Comments

I tend to believe that any generalization/stereo-type is bad.

';DROP TABLE Users on November 26, 2007 1:05 AM

Wow, some grumpy people in here! I seriously doubt that Jeff subscribes to the exact percentages, or that he doesn't understand that there are some in between people out there. In fact, in my experience, most people would be in between.

If the 80% moniker was meant to be disparaging, I didn't get that impression.

Now, I'd be interested to see real percentages on people who, even during business hours, don't want to learn anything. I've worked with several of those. They drive me nuts. I can understand not wanting to fully understand the 7 layers of TCP/IP, but I do NOT understand why you would not want to take the time to learn how Visual Basic 6 handles strings, and therefore why a particular string concatenation method was slowing our program down. I tried to teach someone this when their procedure took 75 seconds to run, and after I optimized it it took less than 1 second. They could have cared less. It's important, though, because this same person may use the same method in the future.

If you don't want to spend 100 hours a week learning only computer stuff, fine. Few people do (much less than 20% I would think). But if you don't want to spend ANY of your 40 hours a week at your paid job learning it, then you, sir or madame, are not even close to a real programmer.

Matt on November 26, 2007 1:05 AM

jeepers man, yall are gettin all "spread the good word holee holee jesus is here" and stuff.

norapinephrine on November 26, 2007 1:07 AM

Very nice post John, though I have my own version of the same. Programmers for me are two types, one type who just get the job done in whatever language or tool that they are given by learning just what is needed to complete the task and finish fast, second type who like to get into the clean details and learn in depth and take more time but get a perfected version of it..

Saagar on November 26, 2007 1:13 AM

If you've read this far then that's because you're in the 80%, now get back to work!

Patrick on November 26, 2007 1:16 AM

"My dad worked in the defense industry and I was probably the only 10 year old reading Electronic Defense magazine"

Hehe, nope. My uncle worked for DoD.

Eric on November 26, 2007 1:27 AM

Didn't you post this exact same article a few weeks ago?

Nicholas Wright on November 26, 2007 1:32 AM

Like so many things in live to convey an intent it is often easier conveyed in an over simplified manner, which I think is what Jeff has done here. There are many over simplified 80/20 rules (20% of the people do 80% of the work, etc.). In this case it is probably 10% uber-geeks and 90% less than uber-geeks. In reality it's a sliding scale.

Also, there are many facets of this, programming, designing, networking, databases, compilers, languages, embedded, etc. No one is in the 10% or 20% in all of them.

One of the things I've noticed is that the majority of the people I've worked with don't take the initiative to learn the new technologies on their own time or attend user groups; they may read a few books and are willing to go to a course if the employer will pay but other than that they just float along.

Steve S on November 26, 2007 1:38 AM

So what makes me a "20%" or an "80%"?

I'm not a computer fanatic. Not that kind of person who asked for the most precious thing in his life says "my computer" and that prefers writing new lines of code instead of *wasting* his time for a normal life. Not at all. I'm not a genius, in my group (I'm still a university student) I'm exactly in the middle. Honestly, I don't really like sitting in front of my laptop and gazing at its screen doing nothing important.

But I really do enjoy programming. Since I was 14 and discovered C I have known that programming was what I wanted to do in my life. When I'm in the middle of writing some kind of project, I can't stop thinking about it - I'm falling asleep and waking up thinking about the solution. I'm really eager to get to know more and more and understand everything I'm dealing with. I always have hundreds of questions to my teachers written down before every lecture. I want to be as good as I can be in this field and I'm working really hard, spending hours studying to reach the aim.
Genius is one thing, hard work is the other.

There is some kind of passion, but not the absolute one.
So tell me, who am I?

polish_computer_science_student

P.S. Jeff I love your articles. This blog is my first "Home" website that remained in this place.

a on November 26, 2007 1:40 AM

Great article because its got ALOT of good and bad comment. Which means its a winner regardless.

No one is reading THIS comment unless I'm still at the bottom and they read it before writing their own. You'll get bored after reading the first 15.

Personally, I'm in the 80%. I like what I do but will never be the best. Therefore I love the comment about 80% of the 80% think theyre in the 20%, good one.

Scott on November 26, 2007 1:49 AM

Mmm I wonder how many of those MS technology geeks belong to the 80%?

AK on November 26, 2007 1:57 AM

- I know I should learn Lisp because it probably is better than my "Blub" language of choice, but can't be bothered. Erlang seems interesting, but it seems a bit immature for usage beyond the tasks it was designed for (Like Tim Bray's Wide Finder project shows)

- I like Python, but do most of my programming in Java and PHP.

- I am comfortable using regular expressions, but most of it is used in languages other than Perl

- I do most of my work through an SSH shell / Samba share to a Linux server, but the OS I use on my desktop is Windows XP.

What kind of a programmer am I?

N on November 26, 2007 2:02 AM

Let me look in my crytal ball. You belong to the 20% of the idiots who actually post something on this blog.

AK on November 26, 2007 2:05 AM

I like to think I'm one of the 20% developers, though the longer I spend in the industry the more my enthusiasm is drained and I'm drifting towards becoming one of the 80% developers.

JonC on November 26, 2007 2:07 AM

As someone who sadly places himself in that 80% group, I have to say that I have ambitions of joining the 20% - in my work, I've fought hard to push past the (brace yourself) Access 2000 barrier and bring in .Net 1.2, with C# and not VB, but I still think my programming is rudimentary and I still haven't found a good deal of material in books and resources that have really helped me cross that divide.

I get intimidated by the girth of information I have to get my head around and there doesn't seem to be a fair starting point to tackle the problem from. So I read blogs and I pick up books from O'Reilly because that's what all Alpha Geeks seem to recommend but at the end of the day, I still feel like I don't know enough and the frustration sets in.

Note: This is despite a BS in Computer Science. Perhaps my schooling was inadequate but I consider myself to be a human of at least average intelligence who enjoys stepping through through the Insert Sort to prove to myself that it still works.

Saif on November 26, 2007 2:07 AM

The programmers who perform the best, in my experience, are the ones who find themselves somewhere between the 20%-programmers and the 80%-programmers.

The 20%-programmers tend to have a too narrow focus, leading them to not see the big picture, and thus create unnecessary solutions 99% of the time.

The 80%-programmers tend to not know the details in the tools which they use... and they tend to not care about how the code looks, as long as it "seems" to work. They can usually get something up and running pretty fast, but it'll usually be a nightmare to maintain.

So... My preference for someone to work with would be someone inbetween those two lairs. One with enough insight in the technology and in the importance of clean code, but not someone who gets an erection from calculating fibonacci sequences.

Peter Poster on November 26, 2007 2:14 AM

nice post!
it made me realize which category i belong to...

shailendher on November 26, 2007 2:19 AM

I am a proud 80%er. My 2 main goals in development is to solve buisiness problems within the confines set forth by the company and to make a living.

I go home and forget about programming because life is too short. I hear the disdainful comments by the alpha 20%ers and....frankly....I don't care. I get called in to make things work, sometimes after an alpha decided to reinvent the wheel because he read about something cool and backed the company into a corner they can't extricate themselves from.

I learn techniques from the alphas and make an intelligent decision as to whether the approach should be followed. Asking the question often forgotten: "Just because I CAN do it it this way, does it mean I should?"

I don't begrudge alphas for being alphas. But neither do I suffer egos. Frankly, from what I've seen, the best make it look easy, because for them, it is. They don't wave it in your face, because, what's the point.

AaronZ on November 26, 2007 2:19 AM

There are really only 2 types of people in the world: those who make ridiculous generalizations... and those who don't. I love your writing Jeff, and what you have here is one of the best written crocks of poop I've seen in a long time.


That reminds me: If I was a pie... what kind of pie would I be????

boo on November 26, 2007 2:28 AM

80% = Wants to play the video game.
20% = Wants to program the video game.
I'm not really into playing the games, but more interested in creating the game.

Dan on November 26, 2007 2:34 AM

The categories should be broken up differently:

80% who know nothing
20% who know that they know nothing

Andrew on November 26, 2007 2:41 AM

I think the two shocking statements you posted are great. Especially number 2 is something every frequently read blogger should understand.

What bugs me a lot about the 80% people is that they think they can get away with THINKING they know 'just enough to get the job done'. Actually, they don't know enough, they often lack understanding key elements of software engineering and worse: how to apply them in day to day work. Software engineering isn't like pushing paper: it's a profession you have to feed with new knowledge and wisdom every day, because what we know and understand today is just the top of the iceberg. If you don't do that, if you think that at 5PM you can go home and stop thinking about software engineering, you will end up as a human code generator, which are by definition worse than a computerized code generator. Oh and more expensive.

Frans Bouma on November 26, 2007 2:45 AM

Great post, and very VERY true in my experience of college and industry to date. I am firmly in the 20%, which is a bad thing for me because I grow frustrated with management and colleagues frequently, but it is a good thing for me because I am driven to learn new things constantly (which is always possible in this industry ;-), therefore I can command larger salaries and positions of more responsibilty than my 80% peers.

john on November 26, 2007 2:50 AM

I would say that it's more 10% alpha, 20% beta, 70% gamma.

Always suspicious when you only have two categories in which to socially engineer people. Like having two major political parties.

Steve on November 26, 2007 2:53 AM

Shocking statement #(n+1): 80% of the 80% believe that they belong to 20%.

IMil on November 26, 2007 3:03 AM

I'm normally an eighty percenter but I'd say about 20% of the time I'm a twenty percenter, getting all computery of a weekend about once a month "just out of interest". But then the football comes on...

I guess I'm just a wannabe twenty percenter :-(

Phil Bathe on November 26, 2007 3:04 AM

If I had to categorise myself along these lines...

Wait. I don't have to. Besides which, I don't know that the proportions are exactly the point here, or that the generalisations applied to either category really apply to me. I was tempted to say I'm in the 20% group, because some of the things Jeff says about them also apply to me, but then I realised that most of the things about 80 percent-ers also apply to me.

Frankly, I don't have time to be in the 20% group. I have too many other interests. I can't focus that much on just one area. I'll get bored.

Lucas on November 26, 2007 3:06 AM

While I truly hope that there are some of that 80% that will read this post, for the most part that 80% doesn't care what is going on in the software world around them, only how much they are getting payed next Friday. However, if anyone can do it Jeff, you are the man for the job. Yet another great article, and posted at 2:00 in the morning no less.

Will Pall on November 26, 2007 3:12 AM

actually, the proportion is 10/90 ;-)

kenji on November 26, 2007 3:12 AM

Ha!

I'm 80% 20% of the time, and the other 80% of the time, I'm 20%. Or is it the other way around?

I wonder what the other 80% of the world is doing now that I'm in 20% mode? How do they live with themselves? Actually, I might have had a chance of being in the 20% before reading this article. I want my 2 minutes back!

CptBongue on November 26, 2007 3:12 AM

I'm in the 20%, no doubt about it as I spend an inordinate amount of time improving my skills.

I believe that much of the resentment this group feels against the others is that we end up spending our time explaining why and how to the unenlightened others. The world is competitive and those others, by their indifference, cause a drag on those who are willing to sacrifice to get ahead.

Having said this I don't think it is anything new. That's the way it is with almost everything in life. 10% if the fathers put the most effort into being best at that. 2% of the guitar players come up with 99% of the licks. 5% of the population controls most of the wealth simply because they are more involved in doing that; the rest of the world is less concerned about competing with them over money as long as their perceived quality of life is acceptable.

Thus this is really about one's attitude and expectations for one's own life. Realize that you have an obligation to yourself to examine your life. Other people and things will always represent an "obligation." Make a decision and live with its consequences without resenting other people's choices.

Jim T on November 26, 2007 3:13 AM

I'm probably an 80%-er. I'm very passionate about my craft, but I'd rather play a video game than really do serious research especially over a weekend. Programming and research is for the weekdays. Life is too short. :)

Steven Rogers on November 26, 2007 3:16 AM

Are the 20% you are referring to, the people you see in the Hackers Movie? O.o
OMG!!1oneone!!1 I am so uber 1337 and you suckzorz!!11oneone!

Good post btw..

Although, I have to wonder.. If the 20% change the software development status quo, how is it they do that?
Is it by someone coming up with some paradigm shift? - because we have that now and then.
Or is it by writing a completely new programing language?

Jonathan on November 26, 2007 3:17 AM

ja, me too, me too! i'm also a 20 percenter cause i'm so clever!

seriously, i removed codebetter.com from my google widgets cause of this 'inspirational hogwosh'.

personally i find technical write-ups much more rewarding, u can marvel at the effort put into them, makes me want to study all the harder.

eryn on November 26, 2007 3:20 AM

As an avid reader of your posts, I was shocked at the narcissistic nature of this one... the elitist tone of your post certainly does nothing to help the "bridging" cause you are suggesting.

biscuit on November 26, 2007 3:21 AM

I really feel sorry for those 20%. Yeah, it's cool but there's so much beautyful things in life besides C++. Also, many 20 procenters are useless for their companies because they like to experiment too much which makes its software unpossible to maintain. I presume that there's only 1 percent (or even less) of those who really mean a difference.

ozapa on November 26, 2007 3:21 AM

I disagree with the two types. To pigeon-hole EVERYBODY into two categories is a 'crock of poop' as so wonderfully described above.

I like to believe I fit somewhere in the middle. I've never used linux (though I plan to do an install within the next two weeks). I've never written a complier or even really know how one works. I don't contribute to open source projects.

However, I do try to read source code for a variety of apps on sourceforge to get an idea how things work, and how people write. I have programmed in Lisp. I participate in blogs and forums that are programming related. I study the basics of a variety of languages to get a feel for them. I'm also in the design stages of developing a system - on my own - that I hope (but sincerely doubt) will be used by thousands of people around the world.

I'm still in Uni, so maybe I'm a few years away from fitting into one of either group. I'm fairly passionate about my work but not to the point of obsession as with some.

So my point is.. you list hardcore programmers and slack asses. What about the happy median that most people in all forms of work fall into? You don't generally fall into agreeing with ideas so simple minded. I find you very analytical most of the time. Long weekend?

`Josh on November 26, 2007 3:26 AM

The basic idea is not terribly unsound.

The "definition" and "example" parts, however, are twaddle.

I use VS.NET and subversion. I've used linux for fun (and mostly "being a router and fileserver") at home since the 1.2 kernel days.

I use source control and linux! Am I a 20%er?

I must not be, because I don't give a damn about supporting anyone's open source project, and I don't learn languages "for fun" on the weekends.

(I don't take the 80% thing, which is probably my group, as disparagement, as some have. I write good code and have my share of insights; I don't Icare/i about being the guy that writes the lisp compiler - unlike him, I wouldn't Ienjoy doing it/i.

But I do think there's no relation between being an 'alpha programmer' and open source religion or not using MS tools or even necessarily Itrend awareness/i.)

Sigivald on November 26, 2007 3:27 AM

Personally I would say the bias is more like 99% to 1% ... or at least the other 19% are keeping very quiet and pretending to be in the 80% group for a quiet and peaceful life ... evangelising anything can be damn hard work.

Every little success I have in helping somebody 'get' unit testing, or agile, or IoC... or any other damn little victory ... is what makes my job satisfying.

Casey on November 26, 2007 3:30 AM

I'm a Software Engineering Student at the Netherlands, and I completely recognise your post in my class. Most of the students haven't wrote any code before they went to this college. Now they're programming just the minimum to get a barely high enough grade to get their diploma in 2009. Most of my fellow students have never ever touched a PC or server with Linux or even a 16bits OS like MS-DOS with a minimum of memory, they don't care about memory or CPU usage, usability is something for hippies and writing documentation isn't necessary. They are in the "programming is fun" phase, but I'm afraid that they'll not reach the "programming is fun, especially if you deliver some great piece of software to your customer" phase before they get their diploma.

I think that someone which is truly enthusiast about his (future) job must try to practice it in his spare time. My dad was a carpenter, and he built several things before going to the carpenter school. An old classmate wanted to be a farmer, so he worked at a farm at his spare time.

It's the same with Software Engineering, at college they teach you just the basics about programming, designing etc.. The teachers expect you to practice in your spare time by creating little applications, reading books, etc. If you do that, you're in the 20%, else you're just a regular 80% guy.

(Monday morning + not enough hours of sleep = crappy English. Sorry)

Alex Kamsteeg on November 26, 2007 3:36 AM

Well I'm not so arrogant as to believe I'm in the top 20%, but I certainly like learning new things. The 20/80% idea is rather simplistic so I'd say things are a sliding scale.

Paul on November 26, 2007 3:42 AM

Either IMil is right (about 13 posts above me), or I would say there are at least three categories: the 80%, the "amateurs" (those who blog and also are quite informed on general tech news, but not really advanced; on their blogs they most often comment some news and teach quite basic PHP and CSS tricks) and the true 20% (the ones who fit Ben's description and also are remarkably productive).

Daniel Luz on November 26, 2007 3:42 AM

So there are no 20%'ers using the tools MS hands down?

There are no leaders, trailblazers or trendsetters using VS.NET, SourceSafe or who have never touched Linux, or who have never contributed to an open source project?

I find it arrogant to associate the tools of the developer with his or her skills. Is a hammer better than a screwdriver?

Micael Baerens Hannival on November 26, 2007 3:56 AM

I used to be a twenty-percenter. It was the early 90s, and Visual Basic was new, exciting and empowering. More to the point I was single with no kids and there was no internet, only BBSes like the Well.

Now I have a home, wife and kids, and that plus the Internet and HDTV/TiVo hoover up my time and attention like a black hole. By the end of my day I'm out of creativity. I've been as creative as I can be at work, followed by being creative in raising my kids, being supportive of my wife, walking the dog and doing needed chores around the house.

There is a part of me that is not proud of being an 80 percenter, but then the rest of me realizes that much of what takes up my energy is just as creative and certainly as important (if not more so) as programming.

Bear in mind also that after 20+years of programming I'm tired of having to learn the latest new technology just so I can do the same thing. Just about all of what I need to do in business programming I can do just fine in VB6, and since I have 17+ years of VB experience and a ton of prewritten code I am more than productive enough. I am tired of running as fast as I can just to stay in one place.


bimplebean on November 26, 2007 3:58 AM

A project team with 100% of such 20% people. Good luck with the delivery.

As far as generalization go , I 100% believe that 90% of people from 80% category have attempted to install Linux in 50% of their 'I want to try something new' moments. So there is 30% hope. Go figure.

Hmmm on November 26, 2007 4:05 AM

Before 30 years old I was those 20%, I was a Geek. Programming with Assembly, C, Lisp, Java, Python so on, Using Linux since 1995, Unix, Windows, Programming GPS devices on the weekends, building my small robot etc. But when I turned 30 and I got married, My life changed so radical that now I think I belong to the 80%, I care about technology and Programming but also about the paycheck to feed my family. I'm still a Geek but in the 80%.

Muchacho on November 26, 2007 4:14 AM

If you manage to turn some of the 80%-ers into 20%-ers, the scale would be more like 79%/21%. This would cause chaos.

Azz on November 26, 2007 4:16 AM

Bah. There are 11 types of programmers in this world. Those who understand binary, those who don't, and those who think that this is an incredibly lame joke.

Jivlain on November 26, 2007 4:19 AM

"[...] there's precious little trickle-down effect from the alpha programmers to everyone else. And if there is, it takes decades." - So at least the insights of pioneers like Dijkstra, Parnas and Wirth should be known by now. (Wishful thinking)

Regards,
tamberg

tamberg on November 26, 2007 4:22 AM

"There are really only 2 types of people in the world: those who make ridiculous generalizations... and those who don't"

hahahah, excellent boo!

And seriously, I don't care about compilers or Linux (sorry, but editing config.sys files is so 80) and I try to never work on weekends, but I'm very passionate about my profession (just like the other reading this blog IMHO)

Edddy on November 26, 2007 4:26 AM

Is there a definitive test to figure out if you're in the 20% group? I guess I'm also a wannabe, now that I think about it. I would also rather play video games on the weekend or spend time with the family than install some O/S or learn a new language. Meh.

Luis on November 26, 2007 4:28 AM

Well, it's easy to see who is in each category.

Low end of the 80% - it's arrogant poop
Most of the 80% - we work hard
20% - too busy to read blogs. j/k

Here's a question for everyone saying "the 80%ers care and work hard and have a life." Nothing wrong with that but what have you innovated? Nothing? It's fine and there's no shame in that - it's honest work and we need that done - but as Jeff was pointing out by proxy - you members of that group don't innovate! You DO contribute to society but don't forge ahead in the computer field.

Me? I think I used to be a 20%er but almost 3 decades of programming has burned me out to the point I'm nowhere near that.

deverill on November 26, 2007 4:32 AM

I'm a big geek and have spent my whole life growing up with computers, really feeling a draw to them and waiting to understand and work with them.

These days I'm realising that computers are just another tool or item like a car or TV and that this is how most people treat and look on them as such.

As my career and life moves on the techology becomes more abstracted and the people and problems to be solved become more important. I see computers more now as something to be shared and taught, rather than a skill to hold over others.

Peter Bridger on November 26, 2007 4:33 AM

While I believe the 80/20 rule is a bit too simplistic in this case, it does get the point across and agree that the '20%' should attempt to pass down some of their skills to the '80%'.

It's a bit like optimising code - a 10% gain in the 80% is generally better than a 10% gain in the 20%.

Bob Armour on November 26, 2007 4:35 AM

I'm sorry but "installing with linux and contributing to open source"

is NOT what defines the "20%".

What it describes is the 20% who have trouble communicating with humans, are introverted and unwashed. Have strange stutters and comb overs. Don't know how to talk to women. Believe that archaic command line interfaces are macho and superior in every circumstance. Think swing is the pinnacle of windowing systems.

See? We can all make sweeping generalizations (except mine is true ;))

JackU on November 26, 2007 4:39 AM

Using SQL Server 2000 linked servers floating point notation isn't the ratio 80.0000000000122334% vs 19.99999999999987721%?

p.s. why do I keep having to type ORANGE in? - especially after Jeffs CAPTCHA posting the other day ;o)

Steve on November 26, 2007 4:41 AM

Another vote for crock of poop. Probably the poopiest post of the year. I work in a firm of 80 percenters. We don't write Lisp compilers at the weekend, etc. Frankly I prefer to spend the weekends with my family, and going up my allotment where I grow vegetables. My eyes can't take more than 8 hours for 5 days a week in front of the screen.

Yet despite being in the 80% we are professionals, know what we're doing, read books and blogs, use Vault or Subversion, attend DevelopMentor training courses, have Linux on VMs on our home machines (in some cases), and are interested and passionate about programming - especially about C# and .NET. The moment VS08 was released we were requesting our IT admins to download and install it for us. And we do think about our jobs over the weekend - even though we may try to switch off. This does NOT classify us as 20 percenters. We are not leaders, trailblazers and trendsetters.

The attitude of the likes of Ben Collins-Sussman and Frans Brouma strikes me as being terribly arrogant and rather blind.

Andrew Webb on November 26, 2007 4:57 AM

Zasdad: Kudos, I felt the same way about this one.

Shmork on November 26, 2007 5:03 AM

I think someone already said this, but I wonder how many of the 80% actually think they're in the 20%. I think I'm in between the 2 - I have the skills and experience of someone in the 80% bracket, and the enthusiasm and inquisition of the 20%. So I guess there's 3 types ;)

Jasper on November 26, 2007 5:06 AM

Wow - talk about stirring up the hornets nest.

I agree with many of the previous posters that the generalizations are a big steaming pile of crap.

This is pretty much how I shape up:
1) First Linux install was in 1992 - 0.99 patch level 11 alpha
2) Don't know the first thing about compilers, frankly don't care, either
3) I've heard of Lisp and Haskell
4) I don't participate in open source projects
5) Always try to keep myself up to date with the latest trends, tools, etc.
6) I've never worked in writing internal apps - mine have been out there being used by real people
7) I don't just settle for what MS hands to me - I use the best tool for the job
8) I've used Linux, and personally I like what it can deliver
9) I've used a lot of SCM tools (Perforce, VSS, CVS, ClearCase, etc.)
10) I don't forget about computers on the weekends

Let's see - that would put me somewhere between the 20% and 80%. Then again, perhaps I won't ever make the so-called "top 20%" anyway. In either case, I'm happy. Why? Although I'm not a computer fanatic, it's been an integral part of my life and I've enjoyed it. Hell, I started out on the old Atari 8-bits way back when.

I have a family who would like to see me every once in a while. In addition, I also have hobbies and want to enjoy an active lifestyle where I can actually enjoy myself. Besides, my body would appreciate not sitting down all day (think Carpal Tunnel Syndrome, deteriorating eye sight, weight gain, etc.)

Erik on November 26, 2007 5:12 AM

I gave a small presentation the other day about orders (as in associations) in informatics and their control and something that I called global misalignment (where the misalignment is about schools, enterprises, people and the others, or basically what you talked about in your post). Personally I think that we need laws and control to help realign everything and create a climate of understanding that will help build a more regular world in informatics. I think we could compare that goal to what exists currently in engineering, medecine or law.

loki.jf on November 26, 2007 5:17 AM

Some of the comments remind me of a similar reaction to one of Stevey's posts.

http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html

There is a very interesting comment by 'cwells' in response to those comments.

"To the people who complained that because they have other priorities besides programming (families, hobbies, etc) they've been lumped in a "lesser programmers" category I can only say this: if you have other priorities besides programming, then you are, by definition, a lesser programmer...."

You should read the full comment. Its pretty interesting. In fact, I have bookmarked this portion as one of my favorite quotes in tumblr.

"The hour-a-day jogger isn’t going to make the Olympics. The eight-hour-a-day programmer isn’t going to write Linux."

(Disclaimer: Just Quoting. Not My Personal Opinion)

Bhabishya Kumar on November 26, 2007 5:18 AM

one more vot for putting people in boxes.

If i go by the description i'm in the 0% between the 80% and 20%

because I'm definetly not in the top 20% but also very definetly not in the bottom 80% so that's what boxing gets you.
A very big population is falling in the 0% if I have to go by the comments posted here.

Ben Blok on November 26, 2007 5:20 AM

Jeff I think you manage to write for both audiences. I try and write for the 80% because so much of the documentation and articles out there just skip over assumed knowledge and we aren't going to grow our little community if we don't bring in new people.

That and I would prefer not to inherit the code from an 80%er

Scott Cowan on November 26, 2007 5:24 AM

I have to agree with most of the posters right now Jeff. This article is a super biased, "look at me" pile o' shit.

whocares on November 26, 2007 5:25 AM

This also goes along the line of having passion for your craft as well.

I think that the 20% obviously have the passion where as the remaining 80% just think of it as a job.

I posted something similar to this about Why Programming is Fun! (http://www.dcs-media.com/desdev/opinion/why-programming-is-fun.aspx). :-)

Hope I contributed a little thinking to this great post.

Jonathan Danylko on November 26, 2007 5:26 AM

Yup, I don't see myself in either of those two groups.

I know about Linux, have dabbled with it, but in the end it's too much effort for very little pay off (in terms of work done and productivity) except meaningless bragging rights.

I work on weekends and long hours when needed, read books and blogs about my chosen specialism in my spare time, but I couldn't give two hoots about the benefits of one compiler over another, or one source control system over another. Use what you feel happy with, what is availble or what gets the job done.

I'm good at my job, like to learn new stuff and keep on the bleeding edge. But I'm also all about getting the job done in the most practical, simple and elegant way I can in the time available.

In the end, I'm a pragmatist. Can I have a special group of my own, please?

Seems like the list of 14 is more useful than a list of two.

Andrew on November 26, 2007 5:29 AM

I'm going to install linux right now..

Jonathan on November 26, 2007 5:29 AM

What total and utter crap. I'm certainly not an alpha in the 20% but I'm just as certainly not in the 80% vocational. You make the 80% out to be lazy idiots!!!! I enjoy programming on weekends...if I have time between family commitments, source control is great (I just hate Perforce which is what we use at my place) I love computers. In what spare time I find, I enjoy learning how to use XNA, I respect and play with Linux occasionally but find no real use for it in my day to day given my job and family needs.

You and this Ben Collins-Sussman seem to think anyone in your "80%" list are stupid lazy idiots just in it for the money. Some of us are to be sure, but many of us are like me...in it for the love of computers but not willing to sacrifice having a life. You need to get off your high horse and stop looking at the world like it's black and white.

The arrogance in your post today reeks, it's very disappointing.

Mark on November 26, 2007 5:34 AM

Whatever you call the elite and the unwashed masses, I am firmly in the latter category, but I'm not defensive about this. There are far too many innovations at every level of software design for anyone to keep track of more than a handful of them, so the distinction is more accurately "do you know the trendy stuff or not?" than "are you a REAL PROGRAMMER or not?"

I don't, or am not, and I am fine with that; I was a biology major who stumbled into programming. While I would love to be part of some truly innovative group, I require the stability of a job that will pay my mortgage for the time being.

I don't think the language or source control choice is what's important, either; what's important is whether or not the developer is creating something that really makes a difference to the end user, whoever that may be. Twitter may be entertaining, but I have absolutely zero interest in it, and I am not remotely sad that I didn't develop it. I am a little sad that I didn't think of Google Maps.

jwer on November 26, 2007 5:34 AM

Is it really so easy to generalize? Also, is being in the so called 80% really that bad?
I've been programming since some time now and I feel everyone of us need not be an 'astronaut'. Also from my own experience and of others I can say that many of us shuffle between these two 'types' depending on a lot of factors.. especially the work assigned!
An important thing for us to realize is that we work in a "knowledge" industry.

John DSouza on November 26, 2007 5:36 AM

I do believe there are two different types of programmers, but I'd describe it thusly: there are those who decided to do it as a job, and those who were born to do it as their life. The difference is huge, which is to be expected; someone who has programmed for almost their entire lives will, obviously, be better than someone who rocked up to college at 22 and decided he wanted to be in IT for the money.

However I find the other assertions in the quoted sections to be crap. Does coding directly in vi on a Slacwkare distribution somehow make you superior to people who use Visual Studio? Sounds a lot like the "I only write web pages in notepad cause I'm hardcore" bullshit. Anyone using notepad to code is an idiot, and the expressed sentiment is the same as the anti-MS stuff: nothing more than masturbatory arrogance by small minded people.

Dave G. on November 26, 2007 5:37 AM

I do think there is overlap and so the 80/20 split doesn't hold. Personally I do internal company work, but I also like to dabble with writing compilers, and I was running Linux in the mid-nineties.

The split I see is between people that are interested in the technology and want to do a good job vs. people in the industry that never learn, take the easy way out, and generally just weigh down the rest of us. The number one person on this list is the guy who hates version control. Second guy on the list is the argumentative guy with the associates degree that doesn't even know enough to know why he's wrong.

Erik on November 26, 2007 5:42 AM

I also want to counter the claim in here that you can't have a life/can't talk to girls and be a rock star programmer. Some of the coolest people I have ever met were at a Java conference. Some people are just plain better and can do it all. I am not one of those people :-(

Erik on November 26, 2007 5:45 AM

What change do you want to effect exactly, Jeff?

Also, where can I find some of your elite 20% code?

Will on November 26, 2007 5:47 AM

I think I spend entirely too much time studying new technology and need to cut back but at least I don't write lisp compilers. I've always thought too much intellect has it downside but few intellectuals will admit to that.

All your math jargon makes me smile, n+1??? I prefer practical matters like a regular expression to strip the styles from a Word document saved as HTML.

Robert S. Robbins on November 26, 2007 5:48 AM

"...Anyone using notepad to code is an idiot..."
- Dave G.

Interesting, apparently the 80% have the same problem as the 20%.

David on November 26, 2007 5:52 AM

What total and utter crap. All you so called self-appointed 'alpha' geeks are nothing more than a bunch of consultants, writers and trainers who haven't built (and long supported) a system of any size for so long the best you can muster is a rant into the echo chamber that is the blogsphere...'Why can't everyone be like us!'.

Please. Most real 'alpha' geeks are not writers, trainers, consultants or bloggers (although they do read blogs) and do you know why?...Because they are all too busy writing code and would rather be writing code than anything else. Look closely at the core Windows hackers, Linux hackers etc etc...none of them are looking around and wondering why won't the unwashed masses follow us! Jeessusss...they are too busy writing code for systems that people actually use.

Rob on November 26, 2007 5:56 AM

In my experience, alpha geeks are dangerous on projects that need to be finished on time and budget - the project risks drowning in endless discussions on purity of implementation of a design pattern or some other unimportant stuff that always takes precedence over delivering the project.
PS: I don't give a damn about Linux and I don't participate in open source projects as my time is too expensive to work for free. When I write something for fun I sell it as shareware. :) And even despite the fact that I almost don't code on the weekend, I reckon, I'll be in top 20% easily. :)

Alex on November 26, 2007 5:59 AM

I have to agree with the people who call this a crock of arrogant poop, because of the sweeping generalisations.

Firstly I very much doubt that this is an 80/20 split. Do you really believe that one out of every five programmers are trailblazers and trendsetters? 5/95 is more likely.

But more importantly I really don't understand why Ben and you think that only those trailblazers care about what they do. In my world there is quite a lot of space between "just good enough" and "trailblazing".

And I'm quite sure that you wouldn't say a similar thing about another profession. Do you think that your doctor takes less pride in her work because she is not a cutting-edge scientist? Or that your plumber cares less about his craft because he doesn't spend his weekends playing with pipes and taps?

I am not ashamed to say that I am not a trendsetter or a trailblazer. And I do write internal applications for a bank. And I do not spend my weekends installing Linux. I have other hobbies apart from programming, and I have a family, and - believe it or not - I'd rather spend time with my daughter than install Linux. (I imagine it's a lot easier to be a trailblazer when you can lock yourself into a room and let your wife take care of house and family - not an option I have.)

But this does not mean I and others like me don't care about doing our jobs well. Just as Andrew Webb says above, we attend training, we use source control, we keep up with the news, we care about good design, and we do our best to write the best code we can.

Helen on November 26, 2007 5:59 AM

It's a wonder most of the commenter's can get anything done without any generalizations.

I see no point where Jeff, or more precisely the people he is quoting, make the 80%ers out to be idiots or lazy. They're pragmatic. Nowhere does it say or pretend that's a bad thing. What it does imply is that such a minimalistic pragmatic approach as seems to be the norm has prevented some of the really useful stuff like source control from becoming widespread.

I would say I am one of the people that fall somewhere in between (though perhaps because I'm still a student) but in the world of sweeping statements that we live in that doesn't devalue the fact that there is such a prominent divide between those that pursue the bleeding edge and those that want to get things done and that there is little bridging in-between, leading to a world of (yes, a feakin' generalisation) 80% coders not benefiting from the good stuff coming out of the 20%.

[ICR] on November 26, 2007 6:00 AM

I always thought "vocation" ment a career which you persue for more than just money i.e. for love.

I know wikipedia is hardly the most reliable source, but:
http://en.wikipedia.org/wiki/Vocation

AndyJ on November 26, 2007 6:02 AM

I feel this is just generalization.

To make whipping cream, you take the top 1% of cow milk.
To make coffee cream, you take the top 5% of cow milk.
etc.

This 20%/80% frontier is out of nowhere. The only conclusions I can make are:
- More developers are focused on business coding than hobby coding
- More developers are spending their free time on something else than computers
- With time, most developers move from the 20% you described, to the 80%.

I think what you describe is the simple fact that some people are more {adjective} than others. For developers, {adjective} can be:
- Talented
- Curious
- Intelligent
- Versatile
- Cartesian
- etc.

It's not black and white. You probably see the frontier depending on where you sit on that line, and it varies depending on the adjective you're looking at.

Personally, I'm part of the 20% AND the 80% you just described, and this post did not reach me.

Martin Plante on November 26, 2007 6:09 AM

I'd like to start off my saying that you do a great job. Long time listener, first time caller.
I think you're trying to generalize a little too much here. I'm interested to find out how you came up with your figures (20/80). I have a little trouble categorizing myself. Neither category really fit me.

Allow me to start with the 20%ers:
I don't write compilers or study new programming languages on the weekends. Nor have I really had the time to contribute to open source. When I get home my job is to successfully manage a family and raise two children. I am very interesting in new technologies and try very hard to keep up on them. I have been toying with Linux and UNIX for years.

Now the 80%ers: "They're not stupid; they're merely vocational."
I am entirely self taught. I have received very little formal training. I took my first programming position when I was 17 years old (about 10 years ago).
"They use whatever tools Microsoft hands down to them"
Currently I'm using VS.NET (C#/ASP.NET) almost exclusively. When I started programming however it was not in Visual Studio.

Honestly I don't consider myself part of the 'programming elite'. But I hardly believe that I fit into the 80 percent category. Maybe this topic requires a little more research, or it's possible that I am over analyzing this a little bit. Either way, keep up the good work!

Josh on November 26, 2007 6:14 AM

The problem with the 80%/20% statement is that it is such a narrow perspective. The 20% mindset is cool to have but it is usually limited to specific things. To be more useful at work we need to be those 20% in many areas of work, and that hardly ever happens.

So is there any way fix this? Build cross functional teams that have broader skill sets and interests. If you are lucky, then you can get something useful going on. Build 20% teams, and you might be able to build a 20% organization.

Tero Vaananen on November 26, 2007 6:21 AM

You said:
It makes the divide between the open-source and Microsoft camps look like a shallow ditch.

Why purpetuiate the us vs them mentality. Exspecially when you regualarly attend Microsoft events and even work for a .NET shop but still use open source tools like so many of us who don't belong to these made up camps. I thought it was just a bad stereotype the fringe tech snobs used to make themseleve feel more important. Please avoid fiction and stick to the facts.

Josh
.NET Developer
SVN user
NUnit user
Python user
non tech bigot

Josh on November 26, 2007 6:31 AM

Not that I agree with the original premise, but it's interesting to read the comments in here from the presumed 80-percenters annoyed that they are labelled 80-percenters, yet filling all the characteristics laid out. If you profess that you aren't THAT into computers and you have a family that's important that takes up your time and Linux is for nerds, YOU ARE AN 80-PERCENTER. Not that there's anything wrong with that!

Erik on November 26, 2007 6:33 AM

The problem people are having with the post is that it has an "I'm better than you and untouchable" tone to it. The Linux author and Olympic runner have performed impressive feats, yes, but that doesn't mean that either one is untouchable - they make mistakes as well, even in their profession of choice.

I think everyone has run into the programmer who pounds his chest on past accomplishments when arguing over a technical issue, even when that person is obviously wrong - I just got that feel from this post; do not question the 20%, we know what we're talking about, and you do not!

Lurker Indeed on November 26, 2007 6:34 AM

I whole-heartedly disagree with there being only 2 types of programmers. Having much of the "20%" and much of the "80%" proves that. I'd bet I'm not alone, either.

For example:
-- I've never learned or installed linux, however I write lots of code on the weekends "just for fun".
--I've never participated in an open source project, but I do keep aware of the latest, coolest new trends and programming tools simply because I love this stuff.
-- I have worked for government IT and never got a development-related degree, but over 1 million people have seen and been directly involved with my software.
-- I use whatever tools Microsoft hands down to them, EXCEPT for SourceSafe. I (we) use SourceGear Vault, based on my recommendations.
-- I'm far beyond "vocational" - I live and breath code.


As you can see, I don't fit either camp. I think Ben Collins-Sussman has created 2 pigeon-holes, and given supporting evidence of how developers can be stuffed into one or the other - that doesn't mean that there are only two types, only that he (and anyone agreeing with him) has chosen to label them as such.

Brent on November 26, 2007 6:37 AM

Seems to me you have previously posted about certain developers having a problem with communication. And the notion of users actually using the programs we write.

So what percentage of your 20% actually care about getting anything out the door? And it being usable? And are able to communicate with the rest of the team, management and customers?

I suspect I am in the 80%, but I'd far rather work with someone who takes the time to write something in 10 lines and comment it, than a whiz-kid who does it all in a for-loop, and leaves commentless because it's 'obvious'.

Ben on November 26, 2007 6:39 AM

I try really hard to be the 20%, but I have a family now, and spending time with my wife and daughter are much more important to me than installing Linux at home. That said, I'm not the 80% that's just doing it for a job. I care about programming and learning new things, but not to the extent that I'll push my family away for it. That's just craziness in my eyes. Not a good post today, Jeff, and I'm usually a big fan.

River Chance on November 26, 2007 6:40 AM

Nice post, i really like this website. I would have to say that I am both 20%er and 80%er. I really love a lot of the stuff that falls under 20%er and then there are those 80%er bits. But thanks to my classes (I am a student right now) I am losing a bit of the 80% parts. I may confuse my friends and girlfriend, but it sure is fun... speaking of learning programming languages on the weekends I need to find a good book when I get home... I need to learn a new one.

chiefbutz on November 26, 2007 6:41 AM

I often think we're wasting our time writing blogs which are largely read by the same 20%.

Why is that? Something doesn't have to appeal to everyone for it to be entertaining and/or thought provoking for some. If you can't get every programmer to read you blog, there's no point in blogging? I completely disagree with that.

Programmers are already a minority of the world. What's so bad about only reaching a minority of that minority?

James Justin Harrell on November 26, 2007 6:49 AM

So true. Nice to read something that I've been saying to friends recently after spending a couple of decades discovering it, and being surprised by it. I guess it all started when programming went from being a geek pass-time to a bona fide "good career".

Bound to happen when you think about it, although I'm still constantly surprised when I come across the 80%ers and discover that they just don't care about the things I do.

Some other comments:

Shocking statement #1, is a bit redundant isn't it?
"Most of the software industry is made up of 80% programmers."
Ummm, well actually 80% is made up of the 80% programmers, by definition, no?

I admire the selfless teachers reaching out, though I don't see the point of reaching out to the 80%. Bear in mind that that 80% are happy in their high-paying, relatively interesting jobs, and don't want to learn Lisp on the weekend. The altruistic spreading of the gospel is really worthwhile in that it'll catch the attention of budding 20%ers - those that would become programmers, but didn't know what it was really all about. Those that will be truly excited to discover what they can do. Those that will, 15 years from now, discover the 2 shocking facts and realize they're part of the 20%

foobarb on November 26, 2007 6:56 AM

It is a bit silly to argue over an obvious rhetorical device. I am quite sure that Jeff has not done a statistical study and determined that 80% of developers are followers while 20% are technical leaders. Using the terms of the 80/20 rule is a handy and effective choice, given that most of us familiar with it in terms of the effort required to to finish a project (one common version states that it takes 80% of the effort to complete the final 20% of a project). The 80/20 split carries with it an implication of the larger, easy part versus the smaller, more difficult part.

The underlying claim is that most professional software developers fail to show a threshold of passion for their craft. They go through the motions, but do little more. I do not believe this to be true. I generally agree with Mr. Atwood's observations, but this sort of thinking is part of the greater problem. I am tired of the constant comparisons we make in hopes of ranking ourselves. Software development does not have to be a competitive endeavor. The challenge is to ship good software, not to somehow "beat" the guy in the next cube. I have found that I do my best work in an atmosphere of openness and cooperation, where my suggestions regarding the work of others are not viewed as attacks by defensive coworkers, and my own mistakes can be freely acknowledged without fear that someone will go "one up" on me. I have experienced this sort of a work environment only intermittantly over the past several years, though I believe that I may be close to it in my current employment.

Jim S. on November 26, 2007 6:57 AM

If we're really counting, there aren't two groups, there are four:

http://www.robbyslaughter.com/musings/the-four-sided-civil-war/

But that's not really the issue--the question is what percentage of software engineering is done by amateurs who think they are professionals. There's nothing wrong with being an amateur---everyone starts at the beginning---but we don't let people whose only qualification is that they leafed through a few books do brain surgery, design bridges, or organize the Superbowl. There's more to writing good software than being able to sling code. I'm not interested in whether or not you live and breathe tech and write Linux drivers blindfolded for fun, I just care whether or not you *know what you are doing*.

It seems like most people don't. In our industry, that's easy to get away with.

Robby Slaughter on November 26, 2007 6:58 AM

At my company, on the projects I'm involved in, I'm always the technical lead. So, if I'm in the 20% camp, I should be the guy that strives for implementation purity, etc., etc. But I'm not that guy. Our small company can't afford those guys, because we wouldn't finish the project. Instead, what usually happens here is that the "perfect implementation" cries come up from those who are in the 80% camp, because they don't really have a dog in the fight as far as actual project delivery goes. "If it's late, it's the project manager's fault, or the tech lead's fault" So, I usually end up being the guy who decides when and where to compromise down from the perfect design and implementation -- so we can get the job done on schedule an within (or at least close to) budget. Does that make me an elite 20 percenter, or an unwashed 80 percenter?

I agree with others, it's much more complex than two categories...

JK on November 26, 2007 6:58 AM

Yeah, unfortunately you put a bit too much truth in this post for many of your readers, Jeff. I'd say that sometimes I fall in the "20%", but most of the time I'm in the "80%". Ideally I'd like to be in the 20%, but I suffer from a lack of time and motivation. Thinking honestly about whether I can or want to be the type of person who is in the 20% is a pretty confronting exercise.

People who get uppity about semantics and exact percentages of the divide or attitude are missing the point. We're not talking about being l337 among our peers, having the most broad technical skill coverage or "getting REAL projects done" (Tm). We're talking about a mindset that says "I wonder what I can do with X", "Wouldn't it be cool if there was a way to Y, I'm going to try and nut that out". Like the quote from Ben called them: "the leaders, trailblazers, trendsetters".

Maybe people should stop thinking about it as "the top 20% and the bottom 80%". There's plenty of GOOD REASONS to be an 80%er. Other commitments, lack of interest, etc. Programming is not some higher form of life that we should all aspire to. There's nothing wrong with having other stuff define you.

However, if you'd say you're passionate about seeing innovation and excellence in software development, yet would honestly put yourself in the 80%, maybe its time for some re-evaluation (either of your passion or of the way you spend your time).

Sorry if I seem pretentious. I just feel like some people have missed the point of the original post. Of course, I'll probably be proven wrong in a couple of posts' time. ;)

Lachlan on November 26, 2007 6:59 AM

you forgot one thing, jeff:

http://nibblesnbits.blogspot.com/2007/11/other-40.html

open-source + enterprise = rejection
fanboys + open-source = possible unemployment

sven on November 26, 2007 7:00 AM

Well this one shook the beehive.

Apparently there is this third group, who have thought they might like working at google or fogcreek. Then, each for their own reason, they decided it wasn't worth it. It wasn't worth it, because:
- "I don't need linux/mySql/etc., I like MS tools; let read 'CLR via C#', instead"
- "I have a family"
- "I would rather be gaming"
- "sex linux"
- all of the above

Chedder on November 26, 2007 7:02 AM

More comments»

The comments to this entry are closed.