I’ve been debating whether or not I even wanted to touch Joel’s latest words of “wisdom”, but I finally decided that it’s just too damaging to ignore. The issue has been beat to death (my favorite, the truth, another take, etc.) and most of the good points have been covered, so I won’t get too in depth. To sum it up, I have lost all confidence in Joel as a being a guy-to-listen to as far as development goes. Yeah, he’s clearly a smart business man, but a developer he isn’t.
You know, now that I’ve said that, I’m not even sure how smart of a business man Joel actually is. If he was as smart as he thinks he is, he would know that we as an industry have TONS of empirical evidence showing that fixing a bug in software development becomes exponentially more expensive as you move away from the point of introduction. Doing simple things, like, you know, testing your code properly, is a great way to find bugs early so that they can be fixed cheaply. Throwing code at the wall and certifying it with “WORKED ON MY MACHINE ONCE!” is a great way to add costs downstream.
Joel also seems to still be laboring under the delusion that good software development practices, such as writing tests and applying good design principles, actually slow you down. That’s simply not true. If you aren’t experienced or just aren’t willing to take the time to learn how to apply them properly, sure, you’re going to flail around aimlessly. If you take the time to master them and improve your skills, you will actually produce better code faster than you were before.
I guess that’s enough of a rant for today. I’m frustrated for two reasons. First, I used to look forward to Joel’s infrequent posts. His posts used to make me think, and I often was able to take something of value away from them. Today, I can’t remember the last time I read one of his posts and felt like I learned something. Nearly every time he posts or opens his mouth now I feel the overwhelming urge to scream. I truly hope the next generation of developers are smart enough to recognize Joel for what he is: a former developer who has failed to stay current, a former developer who no longer wishes to improve himself, and a business man, selling bug tracking software, who really shouldn’t be giving advice to software developers.