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.

Share:
  • Digg
  • Slashdot
  • Technorati
  • Facebook
  • TwitThis
  • StumbleUpon
This entry was posted in Musings, Software and tagged , , . Bookmark the permalink. Trackbacks are closed, but you can post a comment.

10 Comments

  1. Josso
    Posted May 18, 2009 at 1:39 pm | Permalink

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

    Cheers,

  2. Posted June 22, 2009 at 8:44 pm | Permalink

    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
    Posted June 24, 2009 at 5:06 pm | Permalink

    Terrible, terrible list.

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

  4. your mother
    Posted June 24, 2009 at 7:37 pm | Permalink

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

  5. Posted June 26, 2009 at 1:28 am | Permalink

    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. Posted July 8, 2009 at 11:07 am | Permalink

    No. 7 could help more than hurt sometimes.

  7. Jay
    Posted August 6, 2009 at 4:47 pm | Permalink

    Fail. This list smacks of guesswork and shallow analysis.

  8. Posted September 13, 2009 at 8:55 am | Permalink

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

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

  9. KaLee
    Posted November 8, 2009 at 6:15 am | Permalink

    Whatever…

  10. nakki
    Posted December 13, 2009 at 4:06 am | Permalink

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

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*