10 Ways to be a Bad Programmer

I recently read this post at readwriteweb called Top 10 Traits of a Rockstar Software Engineer. It got me thinking, those were important traits to be a good programmer, but here some were surefire traits of a bad programmer.

A great bad programmer

1) Thinks Emotionally

You can be a bad programmer easily if you start coloring the world of bits and bytes by the hues of your emotions. You can often see hallmarks of great bad programmers by phrases such as “I am so sad that my program doesn’t work, I have tried to plead with it and it still doesn’t give work.” or by “I feel that this code is right, but I just am not sure why it won’t work” or even by “I read to my program every day, and try to be a good friend, but it still doesn’t like me, whenever I tried to attach to it, it gives me a core dump”.

2) Suspects the compiler/interpreter first

The bad programmer will say, “My code is alright, I suspect that there is a compiler/interpreter optimization that is causing this problem. Let me look at the compiler switches”.

3) Shoots first, thinks later

When presented with a problem, the bad programmer will start thinking about solutions first. Debugging is for the birds. And a truly bad programmer, will actually put that solution in without actually verifying the problem first. By doing so, he will snag the prestigious “Fastest time from bug filing to actual check-in time into the source repository” award.

By doing so, he will also bag the not-so-prestigious “Fastest time from new-build-from-check-in-time to bug-still-remains-unfixed-time”.

4) Will use code that he doesn’t understand

A bad programmer’s best friend is Ctrl-C, Ctrl-V and he doesn’t care much about where the code comes from or what it does. If he sees some code that does appears to work somewhere else correctly, he will accept it as a fact that it will work anywhere.

5) is hard working

They have to be, to fix the bugs that they introduce. They spend endless hours burning the midnight oil, putting out fires and fighting the demons that struggle to jump out of the code. On the other hand, the good programmers are the laziest bunch out there. They will do 10x more work to avoid doing 1x work at a given point in time, if they think that 1x has the potential to come back again as new work. They would rather spend their free time reading and arguing at slashdot.

6) is at inner peace with the world

They are innately satisfied with the world and how things work. They prefer not to question the order of things and the status quo. They might have used a build system for years, but they won’t be able to tell you in general terms how it works. They rather not waste their time storing useless information in their brain.

7) Can navigate office politics easily

Unlike their tongue tied good programmer colleagues, many of the bad programmers have skills in various areas not directly related to programming. It is an important skill to cultivate as it helps them keep their job in the first place.

8 ) Has  confidence in their abilities

A bad programmer will never accept their limitations or boundaries of knowledge. When given a task will rather go at it alone and get it done even if it takes a few weeks rather than go talk to the nearby programmer who might know something more that will help get it done in a day.

9) is strong willed

Many could call that trait obstinate, but that is what they will be, in the face of any amount of mounting evidence that a particular approach has holes in it or won’t work. They will push forward the approach over all the problems that may arise, instead of sometimes sitting back and considering if any other approaches are better.

10) Writes clever code

They can write code that other colleagues have to open a language reference manual to figure out how it works. They delight in writing code in the most pithy and terse form they can. They write code for the machine and not for humans.

Do you have what it takes to be a bad programmer? How many traits do you have from this list? Are we missing something important here? Let us know.

15 Responses

  1. Josso says:

    I don’t agree on no. 4.
    Copy-Paste is one of the best ways to learn.

    I have made several sites and applications where I didn’t even know why it did what it did but I still learned from it.
    And later – when I’d learn it – I was able to look back and say “Aha… So that’s what it [the code] did”. :)


  2. Aaron Oliver says:

    Re: #7, are being a good communicator and being a good programmer really mutually exclusive?

    I’d like to think that a major part of building software is communication.

  3. Dylan says:

    Terrible, terrible list.

    Yeah, having skills not directly related to programming makes you a bad programmer. Thanks for the tip.

  4. your mother says:

    These are horrible, I think you sir might be the bad programmer

  5. Jurriën says:

    I have actually just one item that applies… does that make me a WONDERFUL programmer?

    I doubt it, my friend.

    And indeed, limitations are there to be broken, and expanded.

  6. Paul says:

    No. 7 could help more than hurt sometimes.

  7. Jay says:

    Fail. This list smacks of guesswork and shallow analysis.

  8. Great list,
    Don’t agree with the first point though

    I think emotions can create great right-brain design for the application

  9. KaLee says:


  10. nakki says:

    Like programming, if it ain’t right do it again. The smae applies for ypur writing also.

  11. luke says:

    ah… such lists good programmers are not publishing. The good ones publish, what a realy good programmer does… That thinks you are writing, sometimes come in the mind of everybody, even of bad programmers. So #11 would be, a way to be a really bad programmer is, when you think, you can write a blog a say, what a bad programmer is…

    btw… i need mmex for android…

  12. John says:

    I proudly do #4. Saves me time…why write your own logger when you can use log4net. I am object oriented all the way. I string the pieces together.

  13. Hung Nguyen says:

    Good advices.

  14. marcao says:

    I actually agree a lot. That’s the exact portrait of a bad programmer.

  15. jay says:

    Nice article. Currently working with a no.8 guy.Kind of frustrating too.

Leave a Reply