Log in

No account? Create an account
21 September 2009 @ 03:46 pm
I forget whose idea I'm stealing, but somebody came up with a great metaphor for kinds of programmers -- commandos, soldiers, police.

When you're taking a foreign country by force, you start with commandos who make a beachhead. After them you can send in disciplined, professionally trained soldiers to take more territory in conventional combat. Finally you need police to keep everything ordered after you've taken it all over.

These three types of armed workers have very different dispositions. In general, a good commando does not make a good policeman and vice-versa.

Today, I received a proposal at work which, translated into these terms, might read:

"The problem is that we have a high crime rate in these neighborhoods. Especially problematic is the high flow of undesirables between them. So to fix it, we're going to set off shaped charges near the cliff on the south side of town. When it's done, there will be a thirty-foot-high rock wall between the neighborhoods. We'll do the demolition in the middle of the night -- four, five civilian casualties at most, which you'll make back on the murder rate alone when things are better. Dude, I've totally got the charges here in my bag."

The problem isn't the programming or analytical skill of the fellow in question -- both are quite good. The problem is that the kind of enthusiasm he brings to the table isn't really conducive to us settling down and getting this thing fully stable.

I'd feel more condescending if I didn't share his same attitude problem.
Cikkaniecikkanie on September 22nd, 2009 12:20 am (UTC)
Garrick says this is hilarious and way too true.
msde on September 22nd, 2009 05:01 pm (UTC)
Startup deadlines have turned me into that kind of developer, especially during planning sessions. I've found that it's good to have both types, as sometimes it can provide a real breakthrough in requirements analysis, and you can write a lot less code than the first reading of the problem suggests.

I have to admit though, the majority of the time you're just building up code debt, which in the short term can be an acceptable tradeoff for the servers not crashing.
vito_excalibur on September 24th, 2009 02:31 am (UTC)
I can't even tell you how hard I laughed at this. ^___^