IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New I see that Joel still has the same effect on me...
He still rubs me the wrong way.

I'm more in line with this guy's take: http://developers.sl...2191&cid=29539983

The linked article is full of colourful metaphors about go-karts and WD-40. Making your argument by metaphor is usually a bad sign - you use them for people who would have trouble understanding the subject if you just stated the case plainly. I hope that's none of us. The article writer seems to see some great division between those who "wield their WD-40 and duct tape elegantly even as their go-kart careens down the hill at a mile a minute" and those who "are still at the starting line arguing over whether to use titanium or some kind of space-age composite material". Well the division between those two groups isn't normally one between two sets of people, but between two environments and resource levels. In an ideal situation, I'll create a rigorous specification and use that as the formal basis for my unit tests and do things by the book. Sometimes I find myself "careening down the hill" because I'm suddenly dumped a big, live system and told "make these vaguely described modifications by yesterday". And I'm the same individual. I'll tell you what I want to see if you're in that latter environment - I want to see someone who understands what corners they are cutting and when to do so and when they can't. Same goes for some of the project management methodologies. You don't have to do things by the letter of the law of Agile development or whatever, but if everyone in the group understands the principles, it can streamline things.

[...]

Some articles are stupid. This is one. It's a load of overblown metaphor and hypotheticals. Ironically enough, it falls into the trap of dealing only in hypothetical and idealised situations that it lambasts some programmers for. Sure - if you're up against a tight deadline and in the midst of a melee of programmers, don't waste two weeks drawing UML diagrams and Gantt charts. But that sort of judgement has nothing to do with not knowing the principles of software design or project management. Banging out a quick website might be a case of shifting images left and right from day to day based on customer feedback. But real programming is most definitely not a "downhill go-kart race". It's about producing maintainable, reliable code that meets the customers' needs. And if you see someone who looks like they're gluing brilliant code together on the fly with "duct tape", you'll probably find they're someone with a lot of experience and who understands the theory well enough that you don't notice them using it. As Ovid said: "Thus by art, is art concealed." In other words - they make it look easy, because they're good.


Cheers,
Scott.
New And playing to his audience
Don't you love at the end where he says the duct-tape guys are the beautiful people of the software world? Sure, let's just describe the bad habits a lot of people are legitimately criticized for, and explain how no, that actually means they're good at it. "Gosh, he really nailed it. It's like he's been watching me at work."
--

Drew
New this guy in acedemia?
But real programming is most definitely not a "downhill go-kart race". It's about producing maintainable, reliable code that meets the customers' needs.
hasnt looked under the hood of a LOT of shipping products
New Yabbut, he's started a discussion.
And *that's* really the more important point. I don't completely agree with him, either, I like your quoted post better. Programming is indeed an artform and many people don't approach it like that and then wonder why things tend to go pear-shaped.

Having thought about it for a few days I think "Duct-tape programming" is misleading. A better term would be "Lego programming". A good programmer knows how to build blocks in his work that are easy to re-use and have nice, neat abstraction boundaries. He also knows how to fit blocks together to get things done. Sure, some programming duct-tape might appear, but this is almost entirely in the glue logic. If it needs to happen elsewhere, a good programmer will tend to black-box it in a better way.

Lastly, a good programmer knows to code in the design phase, because effective programming is not a waterfall, but a spiral. Joel's article is actually attacking non-programmers who are still stuck in the waterfall development model. "Duct-tape programmers" are *one* antithesis of that, but if you aren't careful, you get a "copy-n-paste programmer" which is also bad, but for a different reason.

Wade.

Q:Is it proper to eat cheeseburgers with your fingers?
A:No, the fingers should be eaten separately.
     Are you a Duct-Tape Programmer? - (static) - (7)
         Yep -NT - (jbrabeck)
         Re: Are you a Duct-Tape Programmer? - (lincoln) - (1)
             I see this in Java-land. - (static)
         I see that Joel still has the same effect on me... - (Another Scott) - (3)
             And playing to his audience - (drook)
             this guy in acedemia? - (boxley)
             Yabbut, he's started a discussion. - (static)

Ooops, I'm ranting again... time to get more coffee.
80 ms