Duck Tape Programmer

I’ve first read Jamie’s response to Joel’s writing on him on Coders at Work. I didn’t think much of it, and then I had a chance to read Joel’s actual writing. It sort of coincided with another discussion I had with an aspiring entrepreneur I met yesterday. And I decided I like the term, duck tape programmer.

The aspiring entrepreneur I met had his opinion about certain Rails programmers, and that’s exactly who Joel described as “someone with a coffee mug”.  I don’t think it’s a matter of right or wrong, but about the whole approach towards programming. The entrepreneur said that he has met many smart programmers who can talk up the latest movement and fads in programming world, but when it’s time to deliver, they are stuck in their world, trying to come up with best looking code using the latest techniques. However, the kind of programmers most value to startups are those who just get things done.

Some of the cool things he said were,

Peter asked Zawinski, “Overengineering seems to be a pet peeve of yours.”

“Yeah,” he says, “At the end of the day, ship the fucking thing! It’s great to rewrite your code and make it cleaner and by the third time it’ll actually be pretty. But that’s not the point—you’re not here to write code; you’re here to ship products.”

My hero.

Duct tape programmers are pragmatic. Zawinski popularized Richard Gabriel’s precept of Worse is Better. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it’s in your lab where you’re endlessly polishing the damn thing. Shipping is a feature. A really important feature. Your product must have it.

I think what Joel referred as duct tape programmers are hackers in Paul Graham’s definition. Just as I concur with Paul, I do with Joel on this. Hacker or duct tape programmer, I aspire to be the one who just gets things done.

I am going to buy that book, which has very similar cover as Founders at Work.


Post to Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see