IT Managers - Why bad programmers are expensive

Dear Mr./Ms. IT Manager,

As the former owner of a very successful software consulting firm, here are several "truths" that you should know about the real costs of employing bad software developers (programmers):

  1. Crappy developers (poor quality programmers) cost you time and money. Why?
    1. Poor developers are slow.
    2. The quality of their code is crappy.
    3. Eventually someone is going to have to fix that code, or, at best, you have to keep restarting things and baby-sitting them all the time. This means (a) you're paying for the code to be created more than once, (b) you can't make forward progress at great speeds because you're always back-tracking to fix problems.
    4. In the words of a Fortune 500 CTO friend of mine, you can't "institutionalize" poor quality code.
  2. Doing things the wrong way costs you time and money.
    1. Don't have a quality build process? How can you possibly know what's in Production? Does it work? Has it been tested?
  3. Poor-quality software costs you time and money.
    1. Once again, you can't "institutionalize" poor quality code, so you end up baby-sitting your "semi-automatic" processes, and that's more labor. A great philosophy you should have is "automate everything."

That's my rant for today. This comes from me not releasing a former employee long ago. I kept him on out of what I thought was the goodness of my heart, but now I see that our company has to pay the price for me being nice and generous to this person, who gave little back in return.

IT Managers: When it's your money or your reputation, and you see someone not doing a good job, you can only blame yourself for not trying to correct that behavior, or, to put it nicely, move on. The person I'm referring to was actually quite an average software developer ... but there's no place for "average" when you're reaching for excellence. And when that person is gone and you're baby-sitting their crap, you'll really know what I mean.

2009 Update

An employee leaves a company, and writes on Facebook, "Holy crap, that is some of the most unmaintainable code I've ever written. Thank goodness I'm out of there and don't have to deal with it any more."

(Um, dude, you were *paid* by your employer to write good code ... you wanna give some of that money back?)