Pragmatism is very important in software development, but that’s very different from not understanding why following patterns and practices is a good thing. Sometimes you have to get a piece of work out the door to hit an important deadline and make some money, but this does not justify doing it all the time as you’ll eventually end up with a big ball of mud.
On to the analogy. If you do forsake quality for speed, understand what you’re doing is buying your software on a credit card. Eventually you’re going to have to pay it back, along with the interest that will have accrued. If you leave it too long it will become unmanageable and you will go bankrupt (rewrite?!). There’s a very good reason why it’s called technical debt.
OK, sometimes (and really not as often as you think) you will have to do this, but make it clear to everyone involved that you will have to pay and the sooner you pay the less it will cost.
Jason Gorman recently tweeted “Programming as a life skill? Discuss.” Well how about “don’t spend what you haven’t got”? The world is in financial meltdown because people have been borrowing far more than they can realistically repay. Personally I don’t have a credit card or any debt for that matter. I believe that if you want something you have to earn it.
Writing poor quality software to get it out the door fast means you’re not paying for it’s true cost. Fine, just don’t stick your head in the sand and pretend the debt will go away because you’ll be the one paying for it.

Leave a Reply