Sometimes I read something and I just know that responding off the cuff would be a big mistake. Joel’s latest essay, duct tape programmers, is one such case.
Sometimes I feel like Joel is on a quest to eradicate good design practices.
Let us start from where I do agree with him. Yes, some people have a tendency to overcomplicate things and code themselves into a corner. Yes, you should keep an eye on your deadlines and deliver.
But to go from there to disparage good practices? To actually encourage brute force hacking?
I think that Joel’s dream developer is the guy that keep copy/pasting stuff he finds on the web until it looks like it is working. At the very least, it will make sure that his bug tracking system is used.
And the examples that he gives?
Here’s what Zawinski says about Netscape: “It was decisions like not using C++ and not using threads that made us ship the product on time.”
- Routinely shipped a browser that kept crashing
- Wasn’t able to compete with IE
- Got their source code into a bad enough shape that they had to rewrite it from scratch and lose 5 – 6 YEARS doing so
Yep, sounds like this duct tape notion really worked out for them, no?
Here is the deal, every tool and approach can be overused.
But that is part of being a professional, you have to how to balance things. I am not sure what bee got in Joel’s bonnet, but it sure seems to cause him to have a knee jerk reaction whenever good design principles are discussed.
Shipping software is easy, you can cobble together something that sort of works and you have a shipping product. People will even buy it from you. All you have to do is look around and see it.
The hard part is to keep releasing software, and with duct tape, your software will be taken away from you by software protective services.
Don’t, just don’t.