As I was going through Twitterland, I heard this strange sound:
“Coders are special. We are expected to know how to do things we've never done before and estimate how long they will take."
Well, yes and no. The part about estimating how long it will take is definitely true. See, there’s someone paying for your efforts, let’s call him the customer. The customer wants to know when he gets something for his money.
Haven’t done this before? Maybe the customer hired the wrong gal or guy. Maybe he should have gone with someone who HAS done this before.
Or maybe you’re one of the very special group of people working on actual new technology, most developers aren’t. Statistically, I’m sorry, but you’re not.
For every one, in every profession, there are new tasks to do, or tasks that contain new elements in them. We never do everything exactly the same, because even if we try to control everything, there’s going to be a traffic jam, a communication meltdown, or a small war. There’s always risk involved and that affects our estimations. We still need to give them, though
Developers have hard time estimating as the next guy. There are ways to minimize risks, but eventually, we need to give a due date, because this date means money going somewhere, and the wallet needs to know when and how much.
Sorry to break the illusion. Coders are not special.