I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

April 3, 2009

The Eight Levels of Programmers

Have you ever gotten that classic job interview question, "where do you see yourself in five years?" When asked, I'm always mentally transported back to a certain Twisted Sister video from 1984.

I want you to tell me -- no, better yet, stand up and tell the class --

twisted-sister-i-wanna-rock-video-still-frame.jpg

what do you wanna do with your life?

You want to rock, naturally! Or at least be a rockstar programmer. It's not a question that typically gets a serious answer -- sort of like that other old groan-inducing interview chestnut, "what's your greatest weakness?" It's that you sometimes rock too hard, right? Innocent bystanders could get hurt.

But I think this is a different and more serious class of question, one that deserves real consideration. Not for the interviewer's benefit, but for your own benefit.

The "where do you see yourself in five years" question is sort of glib, and most people have a pat answer they give to interviewers. But it does raise some deeper concerns: what is the potential career path for a software developer? Sure, we do this stuff because we love it, and we're very fortunate in that regard. But will you be sitting in front of your computer programming when you're 50? When you're 60? What is the best possible career outcome for a programmer who aspires to be.. well, a programmer?

What if I told you, with tongue firmly planted in cheek, that there were Eight Levels of Programmers?

  1. Dead Programmer

    This is the highest level. Your code has survived and transcended your death. You are a part of the permanent historical record of computing. Other programmers study your work and writing. You may have won a Turing Award, or written influential papers, or invented one or more pieces of fundamental technology that have affected the course of programming as we know it. You don't just have a wikipedia entry -- there are entire websites dedicated to studying your life and work.

    Very few programmers ever achieve this level in their own lifetimes.

    Examples: Dijkstra, Knuth, Kay

  2. Successful Programmer

    Programmers who are both well known and have created entire businesses -- perhaps even whole industries -- around their code. These programmers have given themselves the real freedom zero: the freedom to decide for themselves what they want to work on. And to share that freedom with their fellow programmers.

    This is the level to which most programmers should aspire. Getting to this level often depends more on business skills than programming.

    Examples: Gates, Carmack, DHH

  3. Famous Programmer

    This is also a good place to be, but not unless you also have a day job.

    You're famous in programming circles. But being famous doesn't necessarily mean you can turn a profit and support yourself. Famous is good, but successful is better. You probably work for a large, well known technology company, an influential small company, or you're a part of a modest startup team. Either way, other programmers have heard of you, and you're having a positive impact on the field.

  4. Working Programmer

    You have a successful career as a software developer. Your skills are always in demand and you never have to look very long or hard to find a great job. Your peers respect you. Every company you work with is improved and enriched in some way by your presence.

    But where do you go from there?

  5. Average Programmer

    At this level you are a good enough programmer to realize that you're not a great programmer. And you might never be.

    Talent often has little do do with success. You can be very successful if you have business and people skills. If you are an average programmer but manage to make a living at it then you are talented, just not necessarily at coding.

    Don't knock the value of self-awareness. It's more rare than you realize. There's nothing wrong with lacking talent. Be bold. Figure out what you're good at, and pursue it. Aggressively.

  6. Amateur Programmer

    An amateur programmer loves to code, and it shows: they might be a promising student or intern, or perhaps they're contributing to open source projects, or building interesting "just for fun" applications or websites in their spare time. Their code and ideas show promise and enthusiasm.

    Being an amateur is a good thing; from this level one can rapidly rise to become a working programmer.

  7. Unknown Programmer

    The proverbial typical programmer. Joe Coder. Competent (usually) but unremarkable. Probably works for a large, anonymous MegaCorp. It's just a job, not their entire life. Nothing wrong with that, either.

  8. Bad Programmer

    People who somehow fell into the programmer role without an iota of skill or ability. Everything they touch turns into pain and suffering for their fellow programmers -- with the possible exception of other Bad Programmers, who lack even the rudimentary skill required to tell that they're working with another Bad Programmer.

    Which is, perhaps, the hallmark of all Bad Programmers. These people have no business writing code of any kind -- but they do, anyway.

These levels aren't entirely serious. Not every programmer aspires to the same things in their career. But it's illuminating to consider what a programmer could accomplish in ten years, twenty years, or thirty years -- perhaps even a lifetime. Which notable programmers do you admire the most? What did they accomplish to earn your admiration?

In short, what do you wanna do with your life?

Posted by Jeff Atwood    View blog reactions
« Should Competent Programmers be "Mathematically Inclined"?
I Happen to Like Heroic Coding »
Comments

Hmmm, 6 going on 7. This isn't good.

Jason Cohen on April 3, 2009 7:46 AM

Did Knuth die? :(

Carra on April 3, 2009 7:48 AM

The hard part is getting from 'working' to 'famous' and beyond. If you are a working programmer when do you find the time to write that famous paper?

Gregor Brandt on April 3, 2009 7:48 AM

Should I point out the fact that Knuth isn't dead yet?

Roberto Teixeira on April 3, 2009 7:49 AM

Knuth is dead?

M on April 3, 2009 7:50 AM

Mmm, neither is Alan Kay.

Bit weird to put these two people on the "dead programmer" level.

Carra on April 3, 2009 7:52 AM

9. Legendary Programmer

Legend tells of a legendary programmer whose coding skills were the stuff of legend. He develops only in his own languages, on machines he built running an OS he created. He writes code not for himself, or for humanity, but for God.

Regis on April 3, 2009 8:00 AM

Not only are Knuth and Kay not dead, but Gates, unlike Carmack and DHH, didn't build a business on his code. He was a programmer, and he built a business around code, but it wasn't, at least primarily, HIS code that he built his business around.

Jeff LaMarche on April 3, 2009 8:00 AM

If you know you're a bad programmer... does that still make you a bad programmer?

John on April 3, 2009 8:03 AM

I meant "Dead Programmer" figuratively, not literally.

As in "people will remember you after you're.."

Sheesh.

Jeff Atwood on April 3, 2009 8:03 AM

Regarding Dijkstra, Knuth & Kay:

<quote>Very few programmers ever achieve this level in their own lifetimes.</quote>

Can Berk Güder on April 3, 2009 8:05 AM

Oh, and s/Gates/Torvalds/.

Can Berk Güder on April 3, 2009 8:06 AM

Thanks, I needed a label. Now I know my place in society. LOL

_ck_ on April 3, 2009 8:09 AM

I hope this isn't a strict numerical progression, if 'average programmer' means GOTO SOME_OTHER_JOB as you are implying.

dtr on April 3, 2009 8:11 AM

I'm probably 4 going 5 soon. But going to drop myself back to 3 this fall when i go back to school.

Ólafur Waage on April 3, 2009 8:12 AM

I'd personally like to be successful, competent, and working - so far, so good. Even though I've written a book, I doubt I'll ever be famous. Besides, if I ever become famous, I'll have to start behaving badly and deal with the paparazzi, like all the other famous programmers. How do you and Joel live with that?

Wandercoder on April 3, 2009 8:12 AM

How exactly does an amateur programmer get a higher ranking than an unknown programmer. Wouldn't an amateur be trying to get a job in the programming field?

// Maybe not understanding this is why I'm only a #4

Clair on April 3, 2009 8:13 AM

Gates was a programmer? Whom are you kidding? What code did he actually wrote?

skfd on April 3, 2009 8:16 AM

I would have put Torvalds and Stallman on the list at levels 7 and/or 8

colin on April 3, 2009 8:18 AM

I'm at 5 bruteforcing my way to 6 ;)

Actually I feel like I've just touched a project that is useful to others, hasn't been done before and makes the _actual_ work I want to do a lot easier. If that isn't going to make me famous, I'm at least going to maintain a smoking cool library.

Leonard Ritter on April 3, 2009 8:18 AM

@Regis: "9. Legendary Programmer" - see http://xkcd.com/224/ (tongue firmly planted in check).

gvb on April 3, 2009 8:19 AM

Are you bored? Another "let's put programmers into different categories post?" What about the Full Time Blogger "Programmer?" Which one are you?

Metaphor Monster on April 3, 2009 8:20 AM

"Maybe not understanding this is why I'm only a #4"

You say that as if it's a bad thing. Someone's got to be average otherwise there'd be nothing to measure by.

4 for life.

Tool on April 3, 2009 8:23 AM

I like to think that I'm a number 3, and fear being a number 1.

Benjamin M. Strozykowski on April 3, 2009 8:23 AM

Jeff, where would you put David Caminer?

Eddie on April 3, 2009 8:26 AM

I would bet most people at 5 are also at number 2. I'm a successful programmer, 17 years working at a high rate of pay. I keep my skills up to date and know I could have another job within a few days if I decided to leave where I am. What I do actually affects the bottom line of the company I'm with. That puts me in category 5 doesn't it? But at the same time, you don't know me, I'm not famous and I work for a Megacorp. So except for your "Competent (usually) but unremarkable" statement, that makes me number 2 as well.

Your levels 1-5 are all actually part of number 2. Number 6 defines what is not in group number 2 doesn't it? Oww my head hurts.

Kuerwen on April 3, 2009 8:27 AM

I hope I'll still be programming when I'm 50. If I'm not, then I have less than 47 days to live. Until one of those days arrives, I think I must be some sort of #5...

Mike Woodhouse on April 3, 2009 8:28 AM

@Jeff

“I meant "Dead Programmer" figuratively, not literally.”

I know you don’t like people taking your posts literally, but I do think in this case you should change the post to make it clear that Knuth is not dead. I suspect a lot of people do not read the comments, and will assume, as I did, that they’d missed some announcement.

Steve W on April 3, 2009 8:28 AM

How about the 'Woz? Or is he more of an electrical engineer then a programmer?

James on April 3, 2009 8:28 AM

Definitely missing Stallman and Torvalds on that list. And Tim Sweeney.

emanon on April 3, 2009 8:30 AM

If 2/3 of your "dead" programmers are not actually dead, you should probably pick a better name. Otherwise you're pulling a Humpty Dumpty.

Michael on April 3, 2009 8:32 AM

+1 for missing the point.

I don't think Jeff was trying to make a list of famous programmers...sheesh.

Kuerwen on April 3, 2009 8:32 AM

@John Bad programmers mostly likely dont read this blog and they dont even know it.

Terry on April 3, 2009 8:34 AM

8. Dead Programmer
... Your code has survived and transcended your death.
...
Examples: Dijkstra, Knuth, Kay

Yes, you did kill Knuth and Kay. Stop whining and correct that. =)

Bruno Gomes on April 3, 2009 8:35 AM

Not only is Alan Kay not dead, but he is still actively working and leading a team of researchers on a new project.

And Donald Knuth is active writing stuff programmers should probably be reading.

Less than a minute on Google gets you this.


Bonnie

Bonnie MacBird on April 3, 2009 8:39 AM

Ooh. How many XP do we need to level up?

Practicality on April 3, 2009 8:40 AM

WOW #t=2m34!
Thank you, i didn't know you could do that!

drozzy on April 3, 2009 8:46 AM

"But will you be sitting in front of your computer programming when you're 50? When you're 60? "

I'm 57. I work as a developer in a startup on a windows/mac desktop app, and I'm sitting in front of my computer programming. Ok, I should be programming, but I'm commenting here instead.

To be fair, this is a second career for me, I started professional programming in 1995.

I'm pretty happy to be sitting in front of my computer programming. It doesn't bother me too much that I'm much older than the other devs here, but the fact that I'm older than some of their parents does nag at me a bit.

Jim Howard on April 3, 2009 8:53 AM

Why not just rename "Dead Programmer" to "Immortal Programmer". It's really what you are saying anyway.

puppet on April 3, 2009 8:54 AM

I'm afraid 6 is the highest level I can achieve in my lifetime. I'm now between 5 and 6 though.

nobodynobodyghost on April 3, 2009 8:56 AM

Oh my gosh, did you guys hear that Knuth and Kay aren't dead?

The point was that if they were dead, died tomorrow, or quit everything and joined the circus (Do those exists anymore?) they have already guaranteed a spot in history beyond most people in computer science.

Tool on April 3, 2009 8:57 AM

Also missing Ritchie.

Doug B on April 3, 2009 8:58 AM

Where's Admiral Hopper?

jmags on April 3, 2009 8:59 AM

Would Dijkstra actually even consider himself a "programmer?"

Nelson on April 3, 2009 9:08 AM

Another coder tries to impose computer science style grouping on real life. Rookie mistake...

Dirtnap on April 3, 2009 9:08 AM

I feel bad for the programmers who think they're 4s or 5s but are actually 1s. I wonder how high one's self-perceived level could get with one's actual level remaining at 1. Are there any people who think they're 7s or 8s but are actually 1s?

Johnny on April 3, 2009 9:10 AM

Joel is going to cut your pay again for not listing him as a "Successful Programmer". It seems that Joel and FogCreek are an exact match to your definition of Successful.

Shawn Swaner on April 3, 2009 9:13 AM

"the fact that I'm older than some of their parents does nag at me a bit."

Ouch that hit home <g>. Same thing here, second career I started when I was 45. And now I am mid fifties and still having a great time.

sponge bob on April 3, 2009 9:14 AM

Everyone should strive for two and see if providence leads to anything above that.

john on April 3, 2009 9:14 AM

You think DHH is on the level of Gates and Carmack? There are a lot of examples you could have put on that category, but he isn't one of them. Making one web application framework in a sea of hundreds doesn't really elevate you past your "famous programmer" level. We'll have long forgotten about RoR, and we'll still be using Windows and playing FPSs.

GT on April 3, 2009 9:16 AM

But it’s not just that some programmers work faster; some programmers can do things that few other programmers can do. These are your visionaries and trailblazers. I call this sometimes-10X/sometimes-infinite advantage: The “Tenfinity Factor.”

This wide productivity gap results in five major classes of computer programmers:

1. Visionary/Artist Programmer
2. Trailblazer Programmer
3. Workhorse Programmer
4. Drone Programmer
5. Idiot Programmer

Timm on April 3, 2009 9:25 AM

holy crap im a #2 (no phun intended)...

Kittens are evil on April 3, 2009 9:28 AM

I know programmers, and Bill Gates is no programmer.

Chris Noe on April 3, 2009 9:28 AM

Perhaps you could replace Dead with Timeless?

Mark Ransom on April 3, 2009 9:29 AM

I first got paid to program when I was 16 and I'm 42 now. After 25 years and numerous opportunities to become a manager or change careers entirely, I'm still programming and still loving it. Aside from needing a bigger monitor and a better chair, not seeing anything stopping me from coding into my 50s. Aside from the eyes, my memory is getting a little weaker, but with the internet and intellisense, I can more than compensate.

They key to keeping things interesting for me has been changing industries and platforms from time to time.

JohnOpincar on April 3, 2009 9:41 AM

I want to be a billionair of course. I'm probably at the wrong time though, I should have been there in the 80s.

Hoffmann on April 3, 2009 9:43 AM

> what do you wanna do with your life

Make sure my kids grow up to remember me as a great dad. Programming has no bearing on my life goals, despite it being a passion of mine (along with music).

David Dawkins on April 3, 2009 9:43 AM

You forgot level 5.5: <b>burnt-out programmer</b>:

- still coding at 51; reading blogs instead of producing product; worse still, commenting on blog posts...

Tim Dowty on April 3, 2009 9:45 AM

what's the purpose of this blog? is this just a daily brain-fart thing or what?

Lxw on April 3, 2009 9:46 AM

Here in France I often have the feeling that the career path for a programmer is to do not stay a programmer too long. Often programming is seen as an entry level position and there is a pressure to go towards project management or "architect" positions where you no longer code... Those of us who really enjoy programming and don't want to do something else often show the US as a counter-example : but is it true ?

Arnaud on April 3, 2009 10:11 AM

DHH? From the fraction of programmers that are aware RoR exists, most of them don't even know who he is...

Carlos on April 3, 2009 10:13 AM

My classification of myself was corporate programmer(day job) and cowboy programmer(endless nights).

Biswanath on April 3, 2009 10:13 AM

Klingon programmers aspire to die in a glorious battle with system bugs regardless of skill level.

Qapla'!

Charles on April 3, 2009 10:14 AM


You forgot programmer looking to be something else. Sometimes it's a means to an end, time spent in the trenches and all that.

Lets call it stepping stone programmer.

-dan on April 3, 2009 10:27 AM

So I wonder where the Code Monkey would fall?

chrispatterson on April 3, 2009 10:29 AM

# Successful Programmer
# Famous Programmer
# Working Programmer

These are not 'true' levels because they are not distinct.

Nick on April 3, 2009 10:36 AM

Bill Gates built a nice business on code he was involved with writing. I used and bought stuff from Microsoft back then. Seriously. I used their BASIC a lot, and bought a Fortran compiler (that I wound up rarely using).

Then came the big MS-DOS opportunity, when he bought an OS cheap, made a few quick changes, and sold it to IBM on extremely favorable terms. Since then, his success has depended far more on business actions than technical ability, but the technical ability is what got him in position to do the business stuff.

However, my big complaint is the assumption that programming is intended to get rich. I use it as a way to do a job I really like while getting paid a nice, but not extravagant, salary. I don't want to get into management too far, and I don't care enough about getting rich to do the things it would take. There are various legitimate goals in the world of software, and using it as a satisfying way to make a comfortable living is one of them.

In other words, I'm probably a 5, and happy there. The other stuff I want to do with my life doesn't really involve software (although I wouldn't stop programming just because I'd retired). Where do I go from there? Somewhere off your numeric list.

David on April 3, 2009 10:40 AM

@Arnaud - not really. Some larger companies (notably Microsoft) have a "technical track" that allows you to do more and more design without necessarily becoming a manager. Outside of that, the track is generally

developer -> senior developer -> development manager -> ? -> CTO
(I'm not super interested in this track, so I'm not sure of the exact progression.)

Alternate paths include
developer -> senior developer*
and
developer -> senior developer -> CTO of a startup*
and
developer -> senior developer -> chief architect -> hired by Google ;)

Sarah Mei on April 3, 2009 10:41 AM

May I respectfully request you replace dead programmers with immortal programmers?

Terry Smith on April 3, 2009 10:59 AM

There are only 2 levels of programmers:

The ones that open their code, and the ones that close it. In other words, the ones that give a shit and the ones that don't. Success has nothing to do with money or fame.

You can go to the grave and take all your shit whit you, or you can pass it on. Who knows, maybe in 10 years someone comes up with a brilliant idea that converts shit into food, and thanks to your shit, hunger becomes history.

2 levels only. Successful, famous, working and average programmers mean shit to the people that have cancer or are starving to death.

Chala on April 3, 2009 11:32 AM

But will you be sitting in front of your computer programming when you're 50? October, so yes.

When you're 60? If I don't manage to get what I've heard called an FY fund together in the next 10 years, probably.

When you're 70? I hope not.

Francis Fish on April 3, 2009 11:52 AM

Oh god, Chala.

Success has to do with how the individual defines success. If you require money and fame for success, then success has to do with money and fame. If you do not, then it does not. But successfulness is a contextual measure. Is DHH even rich? I don't know. Obviously, it's impossible to use well-known example people who are not famous, so complaints that the examples of successful people are famous is pretty much a non-starter.

Anyway, whether or not Jeff's scale is valid, open and closed source has little-to-nothing to do with it. And random invocations of cancer and starvation make you a level 1 asshole on a scale of 8 types of asshole.

Anonymous on April 3, 2009 11:53 AM

What about the 'Infamous Developer' - you know the ones that think they are famous and helpful, but really just start projects then never finish.

Kmett on April 3, 2009 11:59 AM

I'm somewhere at the bottom of the list :(

Wayne on April 3, 2009 12:02 PM

Jeff has a knack for depressing me beyond measure. i have just now found out that after 8+ years of coding, that i'm incompetent and unworthy of the level one that so fits my current lifestyle or cyberstyle.

pitiful really. what if ones carrier path doesn't lead down the path of coding but the will, love and urge to code is there? i code a lot in my free time and i'm conversant with all current coding standards and technologies. but those standards above, they don't place me anywhere!
they also inspire me.
i take solace in that closing "These levels aren't entirely serious. Not every programmer aspires to the same things in their career."
Nice one Jeff congs on the leveling up to seven :-)

jake on April 3, 2009 12:08 PM

I'd replace "Dead" with "Epic"... or else, "Holy Coder of St. Cuthbert"

gary on April 3, 2009 12:16 PM

@Sarah - Well, so this is the sad truth. Not sure I'll repeat that too much as it was a nice thing to believe :-)... To cope with this, I hope I'll be able to buid a small software company or be part of one with a "flat" decision process. It must be a an objective of the company to keep coders at coding, otherwise "promote" them to management would often look like the easiest solution sometimes...

Arnaud on April 3, 2009 1:06 PM

Unfortunately, so many proggies fit in the lower of the first seven levels of programmer hell. But, it keeps the rest employed. ;-)

Gregory A. Beamer on April 3, 2009 1:12 PM

Carmack arguably belongs under the dead programmer title as well.

Nicholas Wright on April 3, 2009 1:13 PM

This is a cute list but the inclusion of Gates is egregiously wrong. I cannot fathom what compelled you to even put him on the list, much less at such a high station.

Jenn on April 3, 2009 1:21 PM

We can always take comfort in that everyone's going to be a dead programmer at some point.

G-Man on April 3, 2009 1:34 PM

Somewhere between 4 and 5... Hmm, not bad for someone of 17 years, or is it? :P

horsedrowner on April 3, 2009 1:35 PM

So, the 1 million question is... where are you Jeff? =D I would say... 7?

Nicolás Miyasato (miya) on April 3, 2009 1:38 PM

I wanna be a Dinosaur! :)

Jax on April 3, 2009 1:39 PM

That was probably the most meaningless post I've seen on this blog. You don't HAVE to update just to update you know.

err on April 3, 2009 2:04 PM

I wish I had learned Knuth was not dead BEFORE I sent flowers...

Steve on April 3, 2009 2:09 PM

After 12 years I feel like I've finally reached 5 (within the last 2 years). What do they say? It takes 10 years to become truly proficient at anything... Oh how I'd like to get to 7 though! I can live without 6, and long ago accepted I don't have the conviction for an 8 :)

Fun article :D

Eagan on April 3, 2009 2:12 PM

what do you wanna do with your life?

after 20 years, just like Twisted Sister's song "I wanna rock" 1984 that song ain't intended to the same audience, it would be kids stuff, renamed and used on a silly cartoon movie 2004 Spongebob Squarepants Movie. "Goofy Goober Rock". The guitar riff is not played most likely on a real guitar with a fuzzy distortion and a loud Marshal Amp but on a silly piece of crappy lifeless game console that cannot wail.

So the same with the code of programmers. after 20 years the code and programming technique would just be kid's stuff.

carey on April 3, 2009 2:24 PM

Are you trying to say that our goal is to do so well we make ourselves obsolete?

What about Woz, who still works at stuff? (Sorry for any slight gaps in comparison as I consider him more an engineer than programmer).

Allan on April 3, 2009 2:32 PM

Dude, I almost just shat a brick because you said Knuth was a Dead Programmer! REDACT IT!

Xyz on April 3, 2009 2:36 PM

And the same goes for Kay!!

Xyz on April 3, 2009 2:37 PM

... and Dijkstra is just frozen >:(

Xyz on April 3, 2009 2:38 PM

If you think you're a number 4 and you don't understand why an Amateur Programmer is greater than the Unknown Programmer based on these descriptions you might actually be a number 2.

"An amateur programmer loves to code, and it shows"
beats
"It's just a job, not their entire life."

Coward on April 3, 2009 2:42 PM

ScottGu is an example of no. 6, the famous programmer. So are you by the way, Jeff.

Mike on April 3, 2009 2:45 PM

You've got to be kidding me. I mean, again, this isn't even your idea. Oddly enough the guy you link to begins counting from 0, which is a common CS convention and you start at 1. That's not a big deal, it's just sort ironic.

As for all you guys babbling about how people are missing the point of the post ... what is the point?

Charles on April 3, 2009 2:47 PM

@Charles I think the point is that Rockhard Awesome is keeping the thread hating, Coding Horror up all night and he isn't paying down his sleep debt as fast as he likes to pay down is technical debt so this represents the interest charges.

Waiting for him to post, "Get Off My Lawn!!!"

CrashCodes on April 3, 2009 2:56 PM

Really Jeff, I love your writing, but you should really correct level 8. It's not fair to the programmers you mention.
While it may be clear to you, like code, we write to be read, and naming level 8 'Dead Programmer' then listing people who are alive is just bad naming :).

RelaX on April 3, 2009 3:06 PM

Bill G wrote GWbasic which was on the origional Apple and Pet's amongst others.

and if you call you self a programmer and dont know that your not even a level 1 programmer - go back to working at macdonalds

Neuro on April 3, 2009 4:08 PM

Bill Gates did not write GW Basic. But who cares? Jeff couldn't. He's too busy curing cancer!

Metaphor Monster on April 3, 2009 4:49 PM

Your list is very subjective Jeff - both the definitions (I don't think anyone agrees with you that "Dead" was a good choice of word), and the rankings. I would have kept it more abstract than that.

Also putting an order in "programming ability" is sort of pointless. I doubt Knuth could out-program Carmack in every situation or vice versa. What's more to measure is the effect of their output. You don't have to be an algorithmic genius to help as many people as possible, and neither is all the business knowledge in the world going to help you assemble a team to write Windows.

Gaurav Sharma on April 3, 2009 4:52 PM

I wanna rock! ahem, I mean I wanna be a dead programmer. Never thought I'd say that. Maybe @regis' suggestion of 9. Legendary Programmer is a better name for #8. I hate to knit-pick, but you know, we programmers are a picky lot.

~Lee

Lee Brandt on April 3, 2009 5:04 PM

Well, still here at age 54, creating software for real-time/embedded systems, working as an independent contractor. I've always enjoyed writing code that interacts with the real world, making the lights blink and the motors turn. And I like learning new things (never an end to that!). Pretty sure I'm a "4", although I see myself as competent rather than average.

Allen Moore on April 3, 2009 5:27 PM

@CrashCodes, probably so. He does like his "technical debt." I think maybe it's time to declare bankruptcy

Charles on April 3, 2009 6:01 PM

Re: In short, what do you wanna do with your life?

I want to be a damn good programmer, respected in my field and earn a little money.

I think -- within my niche -- I am there.

Emily <-- not a spammer on April 3, 2009 6:22 PM

Dead programmer:
A programmer who you freak out due to seeing their names on the dead programmer list even if it is not the case.

Sry if this has been said already.

kpdecker on April 3, 2009 7:07 PM

I'm a 3 and (i hope) a 5. I don't have my sights on 7 or 8, if i get there i get there, all i know is i keep coming back to 3.

Job on April 3, 2009 7:35 PM

Knuth isn't dead.

Stewart on April 3, 2009 9:21 PM

Jeff,

Please go back to the old font. Please god...

Jeremy on April 3, 2009 9:28 PM

Well, as a 58-year old programmer, I can say that I spent an awful lot of my working life striving to get to the point where at least 80% of my working time could be spent actually coding. And I love it. In five years time (when I will be 63) I'd like to still be coding.

David on April 3, 2009 10:41 PM

Wow, I am just impressed by the number of +50 year olds that still code and commented on this blog. I just turned 50 and still coding daily – and love it.

Kids, forget about the management track, you will just end up wiping other peoples bums ;-) Stick to coding and enjoy daily enlightenment - who needs levels!

Mitch on April 3, 2009 11:18 PM

Just adding myself to the chorus of people pointing out that (a) Knuth and Kay are still very much alive and (b) using the phrase "dead programmer" figuratively is *not* a good use of the English language.

Shishberg on April 4, 2009 12:48 AM

"I meant "Dead Programmer" figuratively, not literally.
"As in "people will remember you after you're.."
"Sheesh."

Wow.

That confirms it. Coding Horror is dead.

Y'know, like, figuratively.

Shishberg on April 4, 2009 1:31 AM

I agree with the Earlier comments where is [urlhttp://en.wikipedia.org/wiki/Grace_Hopper]Admirial Grace Murray Hopper[/url]?

Kranor on April 4, 2009 2:26 AM

B@@@er forgot the no html bit!!!!

Kranor on April 4, 2009 2:28 AM

i worked for a while at a large software corp which had quite a good differentiation between the mgt. track and the programmer track.

for programmers it was something like:

- junior dev
- dev
- senior dev
- team lead
- junior architect
- senior architect
- technical specialist

not sure the names are right but these mapped directly to the management levels all the way up to svp.

zedenne on April 4, 2009 2:45 AM

On the topic of dead programmers, how about Phil Katz? He's dead.
http://en.wikipedia.org/wiki/Phil_Katz

Rick Ratayczak on April 4, 2009 2:59 AM

> Anyway, whether or not Jeff's scale is valid, open and closed source has little-to-nothing to do with it.

Open-source has nothing to do with it? Nothing to do with success? With cancer? You bunch of Visual Basic morons. Remember, while rock stars talk, programmers code. Keep reading blogs you uncivilized microsoft cockroaches.

Read, read, read!
http://www.informatics-review.com/open.html

Chala on April 4, 2009 3:06 AM

B@@@er forgot the no html bit!!!!

Kranor on April 4, 2009 4:05 AM

A couple of years ago I run a survey on a developer group meeting asking people what they were doing then and what they wanted to do in a 5 years from that moment.

<a href="http://blog.brodzinski.com/2007/04/career-paths-for-not-only-developers.html">Results of the survey</a> were at least a bit surprising. Anyway one thing which appeared was that keeping developer role in few years wasn't very popular choice. Only one fourth of developers considered that as their career goal.

Most of the time being a developer isn't seen as a very prestigious role (which is pretty wrong I believe). Usually people prefer to end up as architects or some kind of expert consultant.

Pawel Brodzinski on April 4, 2009 4:15 AM

Elves and Gnomes Programmers?
Do they later become Famous or Dead/Immortal or Legendary?
Success is for kids, real men change the game silently.

driver235 on April 4, 2009 4:42 AM

Jeff -

In which category should we put Tony (C.A.R.) Hoare? He's probably saved more CPU cycles than anyone on the planet.

- Lepto

Lepto Spirosis on April 4, 2009 6:02 AM

I work for a big technology consultancy and I see a lot of "bad" programming. But this bad programming isn't always because it's written by bad programmers.

Most bad programming I see is down to the conflict between "Getting something done now" and "doing something properly" . And the blame of this lays exclusively at the feet of project managers who a lot of they time have zero software development experience. They can split tasks up nicely on a gantt chart, but they don't understand the complexities of programming.

RandomConsultant on April 4, 2009 6:13 AM

> As for all you guys babbling about how people are missing the point of the post ... what is the point?

"Where do you see yourself in five years?"

My suggestion is to look at programmers you respect, or for that matter *anyone* you respect in any field, and think about what they accomplished in their career -- and how.

It's about picking a direction rather than floating through life like that feather in Forrest Gump, or that plastic bag in American Beauty. I know because I used to be that feather, that plastic bag, until 2004.

Jeff Atwood on April 4, 2009 6:38 AM

I'm probably at a 4.79. However I look forward to 9 as I'm positive c# is alive and well in Heaven.

Chris on April 4, 2009 6:40 AM

Unknown Programmer and Bad programmer. Did somebody say Microsoft Access.

pete on April 4, 2009 8:04 AM

Under the interviewee hood: My greatest strength is that I can spin my greatest weakness as my greatest strength. Mwahhaha!

Cringe-worthy during interviews but certainly introspection-worthy

Very interesting were the subtle distinctions between Unknown Programmer and Average Programmer and Famous Programmer and Successful Programmer.

Nice post Jeff!

Aarti on April 4, 2009 10:24 AM

Sorry man, love your columns in general, but... You are equating levels of programming competence with fame and peer worship. Totally disagree with the idea that mastery equals Big Business Success or Idolized Godlike Aspect.

I propose instead:

I program because I need to get things done, and I get them done. I know what needs to be built and what doesn't. I build the smallest possible system with the maximum impact. I advise and mentor others to help them achieve their best. I live modestly and within my means. I enjoy my life and the pleasures my work brings. I don't need a Wikipedia entry or acolytes, or to be featured in xkcd comics.

NIck on April 4, 2009 11:23 AM

PS, I recognize that your article is tongue in cheek, but nonetheless it is thought provoking and therefore worthy of comment :)

NIck on April 4, 2009 11:27 AM

The best thing you can do with your programming talent is share it with others. Become a teacher or a mentor. Knowledge is wasted if it's not shared.

Joel on April 4, 2009 1:22 PM

I'm surprised nobody has mentioned Jon Skeet yet given his micro-celebrity status on Stackoverflow

Chris on April 4, 2009 3:29 PM

What about the Programmer who realized they can't be programming all their life and decided to do the next best thing, become a systems analyst. That's ME.

Ex-Programmer on April 4, 2009 3:29 PM

I rather be 'successful' in everything in life than just be a dead programmer, let alone famous programmer. Balance is key to life. It's cliched but often missed by geeks. I mean no offense to geeks.

Andrew on April 4, 2009 3:34 PM

Hey, you forgot "Programmer who blogs rather than programming" ;-)

Shmork on April 4, 2009 3:41 PM

I am a 4 and 1 at the same time! :)

Jeff on April 4, 2009 4:22 PM

Oh I remember THAT question alright! I was asked the whole five year thing seven years ago during the interview for my current programming job. Little did I realise I would still be in the same company all these years later!

Phil on April 4, 2009 4:26 PM

> Hey, you forgot "Programmer who blogs rather than programming" ;-)

That's Jeff, the famous blogger (sorry, programmer). So, Jeff considers himself to be above than the working and unknown programmer?

Oh boy. Can you name someone from the development team that created the software for the first laser-powered aircraft? Of course not. They are all unknown programmers.

Do you know Mikhail Fursov and Lionel Le Folgoc? Of course not. And yet, you think you are a couple of levels above them, don't you

Chala on April 4, 2009 4:27 PM

Ahhh programming is fun, it's a hobby and it sure beats having to spend large amounts to get someone else to do your changes for you.

Television Spy on April 4, 2009 4:31 PM

I got high... and now I'm programming at level 9... suckers!

kwahom on April 4, 2009 4:37 PM

> I rather be 'successful' in everything in life than just be a dead
> programmer, let alone famous programmer. Balance is key to life.

Amen to that. While in 5 years I see myself still living as a programmer, thats not really what I want to do with my life. Don't misunderstand me, I love what I do, but I don't want to be still behind a desk when I'm 60, there are many things I want to do (travel around the world, make a band and play in nightclubs, paint) and I don't want to wait to my retirement. Sure, I CAN do these thing for 20, 30, even 40 years more, but that's definitely not what I WANT to do...

Martin on April 4, 2009 5:43 PM

1 vote for changing "dead" to "immortal"

Ben on April 4, 2009 8:29 PM

I always answer "Where do you see yourself in five years" with "Fugitive from justice".

Everyone laughs -- and if they don't then you probably don't want to work there.

Mathew Ferguson on April 4, 2009 8:36 PM

@Jeff Atwood:

"It's about picking a direction rather than floating through life like that feather in Forrest Gump, or that plastic bag in American Beauty. I know because I used to be that feather, that plastic bag, until 2004."


That's a bit melodramatic isn't it?

Charles on April 4, 2009 9:04 PM

Wow great list. You could re-use it for a lot of different disciplines. I'm a 4-5 Industrial Designer. Did you notice in the comments people rank themselves as "somewhere in between"? I guess no one wants to be perfectly pegged just as you have called it or seen as static.

oops on April 4, 2009 10:17 PM

obviously some programmers are better than others... this article is pointless/useless

silly article on April 5, 2009 12:00 AM

Whatever, but there needs to be designers, architects, and analysts too. And their levels. Programmers are or at least shouldn't be alone.

Silvercode on April 5, 2009 1:09 AM

How do you people find the time babbling about this nonsense while you're working programmers?. Either you're very talented with multitasking capabilities or you don't work enough...

Guitarmother on April 5, 2009 3:58 AM

This is pretty bad.

All these levels are obvious. Why do they need to be stated at all?
This list has no redeeming values whatsoever.

"Tongue planted firmly in cheek"? Nothing in here approaches humour.

JoeProgrammer on April 5, 2009 4:20 AM

going to b-school so i don't have to freakin code any longer.

oracle programmer on April 5, 2009 5:33 AM

Hmm… shouldn't this have gone from level zero to level seven instead?

evan on April 5, 2009 5:37 AM

Sorry but Gates is not a programmer.

Jay on April 5, 2009 6:41 AM

Lmao @ Jay, afraid Gates was a programmer, doesnt know what he does now

Ananth on April 5, 2009 9:31 AM

Excellent post Jeff

Sarat on April 5, 2009 10:05 AM

So when a programmer builds a business around his work he ALSO has to be famous in order to be successful?

What a load of poppycock.

Future Technology on April 5, 2009 11:06 AM

Geez, when I read this post, I didn't think it was meant to be an exhaustive list of programmers... I guess I was wrong, because based on the comments, most people thought that was what Jeff was trying to do. No love for Bill Joy?!!! ha ha

chrishad95 on April 5, 2009 11:07 AM

I'm kinda scared to think about where I fall on this list. Its probably depressingly low. Oh well I guess that gives me something to work towards :) .

Serinox on April 5, 2009 1:08 PM

I see myself at 4.8 but I aim to be 6.0

Andrei Rinea on April 5, 2009 1:47 PM

Well we all know Jeff is number 3, an Amateur Programmer.

James on April 5, 2009 3:34 PM

Why don't you change 'dead' programmer to 'immortal' programmer?

genghis on April 5, 2009 6:02 PM

To be honest, the levels of programming are probably better represented by a B-tree rather than a list.

Nat on April 5, 2009 7:39 PM

I'm sorry to hear Mr. Knuth has passed away. He was quite a remarkable person.

fschwiet on April 5, 2009 9:31 PM

I'd label myself #4. I began coding as a hobby and luckily landed a fantastic programming job, but I have no aspirations to be programming professionally in the future. Not even 2 years from now.

Auir on April 5, 2009 11:50 PM

Stupid people..the level posted by jeff dont mean anything...
he is just trying to show directions to programmers...
and about bill gates..
he may not be a programmer ..but he certainly has a very strong background in programming ..and that reflects in his company..enuf said..
and now back to programming(read blogs..)...
:)

UNKNOWN on April 6, 2009 3:04 AM

>Gates was a programmer? Whom are you kidding? What code did he actually wrote?

Are you kidding me? get updated here : http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1975/

gogole on April 6, 2009 3:31 AM

The list seems overly focused on fame as a measurement of being a good programmer. I'd say a better measure is someone's scope of influence on software development projects. Certainly the top ranking would then be reserved for people who have a high enough profile that they influence thousands of developers.

But for most of us, there is plenty of opportunity to grow inside our organisations. The 'lower' level programmers mostly affect only the code they themselves touch. Next 'up' are those who mentor other programmers around them. Then there are those who lead small teams, then come those who make decisions which affect multiple teams, products, etc. in larger organisations.

Working on software that is used by other programmers, e.g. operating systems, development tools, libraries, etc. is another way you as a programmer can demonstrate growth and influence without necessarily having your name known to the programmers who get things done using your work.

Kief on April 6, 2009 4:45 AM

So where do you draw the line between being a bad programmer and being an inexperienced programmer? How long do you need to be programming before you can honestly assess your skills and realize that you're a good/competent/bad programmer?

Tyler on April 6, 2009 5:15 AM

He he he... I love the #1s. They seem to be lost most of the times. They are kind of fun at times, apart from being pain most of the times.

Ashish K Mondal on April 6, 2009 6:20 AM

When did fame become the pinnacle of a software development career?

Neil on April 6, 2009 6:52 AM

If you're going to include Gates, how about including Larry Ellison as well?

Steve Walker on April 6, 2009 7:47 AM

I'd like to see an article about the 8 kinds of project manager.

gingerman on April 6, 2009 3:44 PM

The only difference between #1 and #4 is self-awareness and people skills. Hooray, I jumped up to average with no increase in programming ability!

The author left out the non-programming skill of either looking good or looking the part of the programmer (or best of all, both). That helps a bad programmer rise to average, too.

BG on April 7, 2009 5:39 AM

It seems there are a few that feel this way, but I call into question the #2 Unknown Programmer's "It's just a job, not their entire life"... can a programmer still "love to code" even if it's not their entire life?

As it is with communicating with business, there's a fine and subtle line with appropriate and inappropriate; loving something with all your mind *at work* may not always be the same thing as loving something else with all of your heart and all of your mind and all of your strength. With my mind, I pour it all into my programming on the job and love it. Get that flow and it's great, if you know what I mean. But there's so much more to life, there's so much more that is worth our love. Get out and pursue something - run a marathon, climb mountains, get married, love your kids and be there for everything in their lives, have and know Something bigger than yourself.

Must there always one and not the other? Is it loving programming over everything else, or can you still pour it all into your programming *and* other things?

I say there is more, and it doesn't hold you back from just being an unknown programmer. Who knows... I'm not anyone special and that's fine. Maybe everyone will label me an unknown programmer and if so, so be it. I'd take this life I have any day over what I knew before when the only thing in my life for the most part was programming....

Chris on April 7, 2009 5:54 AM

Maybe putting "you code _will_ transcend your death... " will stop these pedants..

And I laugh at most people on here calling themselves 4, or 5 or even 6... you're all 3's and you know it. I suspect there's a fair bunch of 2's here too. :)

Jonny on April 7, 2009 7:23 AM

Awesome post, thanks!

ramil on April 7, 2009 8:20 AM

I think 4.Average Programmer and 3.Amateur Programmer should probably be swapped. At least in the way you are presenting. An amateur programmer will aspire to "greatness" more than your "talented, yet unmotivated" average programmer.

honestitsme on April 7, 2009 8:21 AM

good god, you people commenting are reading *WAY* to deep into this.. nobody cares how any of you think it should be different.

i enjoyed your post.

lol on April 7, 2009 8:39 AM

Don’t we all start out as beginner (bad?) programmer and improve through reading, peer discussion / review and experience. What kind of environment do you need to grow great programmers?

John on April 7, 2009 4:22 PM

Forgiving the contrived, just-for-fun nature of this list, I would say that there's a bit of a rift between 5 and 8. Ranks above 5 on this list begin mixing in industry exposure / success vs. pure computer scientist / developer prowess at ranks below 5 and at 8.

It's my belief that elevating oneself as a programmer above what you have as ~5 is really not so much a factor of becoming a stronger developer in the software-engineering-as-a-craft sense but a factor of whether or not one goes outside of software engineering and brings in orthogonal domain knowledge. And, then leverages their software engineering faculties to change that industry (or at least be somewhere in the forefront). An example might be advanced studies in mathematics/statistics and genetics and then writing software that advances our understanding of the genome in some way. Making money from that requires the fuzzy "business skills" you mention but business skills in the general sense won't create the opportunity.

Julius B. on April 7, 2009 6:22 PM

Jeff, given your recent posting on mathematics, is it not curious that of your three "immortal" programmers, two (Dijkstra and Knuth) are/were mathematicians (Knuth is of course also a formidable programmer, but he is studied for his texts, which are mathematical.)

Jim Davis on April 8, 2009 6:11 AM

9. Cool Programmer
Can write just as good code as anybody else on the list but has a life. Can any time turn on or off the nerdy side but not locked into it; a free soul. You can have a conversation with him/her about any aspect of programming while sitting on a surf board waiting for the big one.

phantom on April 8, 2009 10:23 AM

Level -1 (or FF): Professional Blogger

Writes about other "levels", belongs to none. Diggs stuff.

BugFree on April 8, 2009 1:05 PM

@Jim Davidson, Kay also has this thing called "PhD" therefore more than a little "mathematically inclined," for which both Jeff has derided in the past.

Jim, I had not thought of this previously but it is pretty ironic.

Charles on April 8, 2009 8:20 PM

Yes, Gates was a programmer. He wrote Altair BASIC. If you'd ever cracked a copy of Levy's "Hackers: Heroes of the Computer Revolution" you'd know he was a master at bumming instructions out of assembly.

Also:
I'm guessing the reason "amateur" is above "unknown" is that it is very possible to be in high school or working on an undergrad and become a well-known open source developer. Not "well-known" in the sense that a computer science professor will talk about you in a class. If I understand this correctly, it'd be like when my classmates say they came across my name related to some open source project (in a commit, in a changelog, working on a bug, discussion on a development list, etc) or random people online go "oh! you fixed that bug I had!"

Mackenzie on April 8, 2009 11:06 PM

"If you know you're a bad programmer... does that still make you a bad programmer?
John on April 3, 2009 08:03 AM"

HAHAHA!! That's a pretty valid question if you ask me. If you know you're bad at it, at least you're good enough to know you're bad.. right?...

Frank on April 9, 2009 5:56 AM

Wow, working for Megacorp can make you a few of those at once, and none of them good. Damn you, Initech!

Now get back to work, your inane program isn't going to code itself.

:)

Hutch on April 9, 2009 6:49 AM

One more thing.. not everyone wants to be famous.

Programmers aren't all social beings. I realize we have to view this blog through the perspective of a programmer who chose to be essentially a programming journalist, but really, Jeff. I can't speak for anyone else on this blog but myself, but I'd be a miserable type 7 or 8 on your scale. It's not what I aspire to. I want to be great, and I better myself constantly. *But* if I never, ever have to give a lecture or a presentation to 100+ people, I won't consider myself any less a programmer.

Oh, and Megacorp holds the code base to your hospital software. Those 'bad programmers' are the ones that help warn math-deficient nurses from giving you a wrong RX dosage or the correct blood type. There's no code-hero when you have a several million line base. Trust me.

Hutch on April 9, 2009 7:00 AM

Somewhere on this list, Guido van Rossum and Larry Wall's names *should* appear...

Frodo on April 11, 2009 10:07 AM

Maybe your "Dead Programmer" should be renamed to "Immortals". Much more appropriate - dead or alive!

Harry v on April 11, 2009 5:16 PM

it seems interesting. so, can somebody rise from bad programmer to successful programmer? or from a lower level to an upper one?

ali on April 12, 2009 12:26 AM

happy coding!!

http://www.nlcnet.org/article.php?id=613

wto on April 12, 2009 2:55 AM

Dijkstra is my personal Jesus. Everytime I code something, anything, I imagine him patting on my shoulder whenever I do something sensible and clearing his throat when I make some mistake. It's reassuring.

Ale on April 13, 2009 9:48 AM

the levels of programming are probably better represented by a B-tree rather than a list http://www.softwarefreedown.com

pingo on April 13, 2009 10:02 AM

when I read this post, I didn't think it was meant to be an exhaustive list of programmers... I guess I was wrong, because based on the comments, most people thought that was what Jeff was trying to do. No love for Bill Joy?!!! ha ha http://www.vo2ov.com

putin on April 13, 2009 10:03 AM

love it! i'm 41 - been coding, since i was 12, and i hope to be coding for many many more years. just when things get stale, another technology/language comes along to challenge u.

the management track is for the truly uncreative - its all about following someone else's process... they've been trying to dumb me down for years but my brain cells keep coming back!

excellent blog - excellent responses - thsi is what bloggin is all about

kal on April 13, 2009 10:52 AM

Great article! But I see too few data points.
I'm interested to know in what category do these people fall in:
Linus Torvalds
Phil Greenspun
Joel Spolsky
Anders Hejlsberg
Bill Joy
James Gosling

Radamanthus Batnag on April 15, 2009 8:43 PM

"Dijkstra is my personal Jesus. Everytime I code something, anything, I imagine him patting on my shoulder whenever I do something sensible and clearing his throat when I make some mistake. It's reassuring."

LOL, should we come up with a campaign like...

"What would Djikstra Do?" (tm)

Jon Limjap on April 16, 2009 1:37 AM

PHP, C, C++, Java, Python, Perl Programming Tips techniques
A good read:
http://digg.com/programming/PHP_C_C_Java_Python_Perl_Programming_Tips_techniques

lilykudrow on April 16, 2009 11:44 AM

what about George Bush? I've heard he was a great programmer, at least he can write program to instruct troops to kill iraqi people :(

hey, we're talking about coding...not politics :)

Topan Hadi on April 17, 2009 4:41 AM

Interesting. But see, any classification of any thing finally turns out nonesense. Don't label yourself, which is pathetic.

Dark9 on April 17, 2009 5:34 PM

I believe Linus Torvalds should be in lvl 7, where Bill Gates should be in lvl 6

C# Programmer on April 20, 2009 1:23 PM

This is a ridiculous post.

There are two types:

1) Programmer - He who understands everything about the software development cycle AND the machine's he is working on.

2) Coder - He who thinks he is a programmer but just regurgitates code, occassionally creating something "new" from something old.

99.9999999% of the IT pro's who think they are programmers, are in fact coders of various skillsets.

Unless you program solely in machine code or 1's and 0s, you are a simple, replacable coder. You are not special and no one thinks you are.

And Gates, despite the stupidity of the comments here, did a LOT of coding in his early days. 16 hour days coding, working late nights coding, busting his ass coding. Doesnt mean he was the greatest coder, but he most certainly was a coder.

Comment feature: Bane of the internet. Let the idiots reign.

Adam on April 21, 2009 6:19 PM

"Unknown Programmer".... hey, that's me!

Rob on April 28, 2009 5:04 AM

If we're listing legendary programmers, second in the pantheon after Knuth: Edgar F Codd.

http://en.wikipedia.org/wiki/Edgar_F._Codd

keith on April 28, 2009 2:03 PM

WAIT - Ruby On Rails guy and ID guy make #7, but Gosling doesn't? This is a joke.

MIke on May 1, 2009 7:18 PM

You really should change the post where you specify the "dead programmers". People who don't read the comments, don't realize your point, and thinks that guys are really all dead.

João Cavaleiro on May 3, 2009 5:06 AM

what about men who haven't seen a programer in their life,
know nothing about programming ,but studying abt computers in college.
i am one such guy.
what to do?

AP on May 6, 2009 2:23 AM

I would not like be programmer for ever. I'm a good programmer, I'll hope have my own business

Valerio on May 7, 2009 1:34 PM

I use computer a lot. I have never been interested in programming. What do yo think guyz?

Romesh on May 14, 2009 9:32 PM

have been a professional programmer for 8 years. [still age >>what do you wanna do with your life?
Become a mathematician in the near future and discover something original, even if not at the level of my heroes like Newton, Gauss, Riemann.

That said I enjoy my work [programming] - even if I were to be lifelong professional programmer, I would still consider it a nice life from the career point of view.

Fakrudeen on June 5, 2009 4:56 PM

are open source programmers amateur programmers? really?

amir on June 27, 2009 11:40 AM

i would think of myself as a 3. i think that almost everyone goes through stage 1. its just that some people might just get stuck at that stage, those can be classified as bad programmers.

karan on July 13, 2009 2:05 PM

Thank for information

suteetoe on July 23, 2009 7:12 PM

I like to think that we all had a level one moment in our lives. Don't you agree? :-)

Richard on July 30, 2009 1:40 AM

I'd rather just be alive, period.

Anonymous on July 31, 2009 8:24 AM

I'd like to think that on a good day I can reach level 4! Doesnt #2 seem to have a lot in common with #4? Can't really tell the 2 apart.

CodeCobbler on August 18, 2009 2:41 PM
Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.