The Two Types of Programmers

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.

The categories should be broken up differently:

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

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.

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.

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.

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

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 :frowning:

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.

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.

actually, the proportion is 10/90 :wink:

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!

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.

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. :slight_smile:

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?

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.

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.

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.

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?

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.)

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.