fighting the lack of good ideas

the deadly sins of programming – again?

InfoWorld this week published yet another article on “The 7 deadly sins of software development”. For those who don’t care to read the ~1 page article (that’s split unless you use the “print” option that puts it all on one page), here’s the list:

  1. Lust – overengineering
  2. Gluttony – not refactoring
  3. Greed – cross-team competition
  4. Sloth – not validating input
  5. Wrath – no/bad comments
  6. Envy – no version control
  7. Pride – no unit testing

Spiffy. Items 1, 4, 5, and 7 are beaten to DEATH in every computer science / information systems / intro programming / advanced programming / algorithms / data structures / etc / etc class I have every attended, read about, heard about, or thought about. Why is it rehashed AGAIN by InfoWorld?

Better yet, why does an article like this appear every 9-18 months (or more!) in a major publication or on a major website (InfoWorld, ComputerWorld, arstechnica, joelonsoftware, codinghorror, etc etc)?

Is it because, as my friend Steven said they’re ‘basically new writers {“i’m fresh out of college and i know everything”} or quotas on programming articles‘? Is it because programmers are really THAT lazy? Or that bad? Or that inconsiderate? Or that management hasn’t encouraged a culture of excellence and teamwork? Yes, shipping IS a feature. It’s really important. So is having developers who care about their work – and who care for their fellow workers who will have to look at / modify / care for / clean their work later.

Lack of version control will bite you HARD everytime you don’t use it (don’t ask how I know – call it a Bad Experienceâ„¢). Competing with other teams is just dumb: you’re all supposed to be working for the same company, the same end goal, and, ultimately, the same customers who will eventually pay for whatever it is you’re writing (I’ll relate another moderately-humorous anecdote on that another time).

If developers really are that bad, or their employers are bad enough to not help/fix behavior, then we’re all in a lot of trouble. And if they’re not – then it must just be that it was a slow week, so somebody thought they’d regurgitate and modify the same thing we’ve all heard hundreds of times.