
The Crunch Mode Paradox: Turning Superstars Average - pius
http://jamesgolick.com/2008/2/18/the-crunch-mode-paradox-turning-superstars-average
======
iamwil
I found myself in a self-imposed crunch mode this weekend. I had a
preconceived notion in my mind how much I was going to be able to accomplish
this weekend, and when my estimates were far off (what was estimated to be 6
hours of work were actually 18), I got impatient, thinking that I SHOULD have
finished hours ago.

I ended up not doing things the right way, and merely plowed ahead, until I
got it to work. However, after the relief of finally getting it done, I have
to go back and spend some time refactoring and cleaning up the mess that I
made. I often have to remind myself that good engineering simply takes time,
and will save in the long run.

------
DanielBMarkham
It's interesting. When I'm in crunch mode, I'm not thinking about features at
all. I'm just doing the same thing as I did before, only without so much
goofing off (reading email, drinking, eating, etc) I separate that from
"hacking" which I picture as taking a machete and flailing away at the code
until it submits, no matter what state it is in. I have been known to hack
with the best of 'em, but only for short periods, usually the last few hours
around a drop.

But usually I'm always thinking of the structure of the code as I code,
continuing the work I did with modeling (if I did any) as I think through what
is important, what goes where, what are the important nouns and verbs of my
intermediate language. I drop back out of design mode to pick up various
pieces of functionality, then continue the work. I'm usually looking for the
biggest headache first -- might as well suffer now rather than later. Usually
the biggest headaches are the ones that have greatest impact on whether your
strategies are correct or not -- whether caching that huge list is going to
work real-time or whether a distributed linked-list is going to work. But then
I always end up spending the same amount of time on such vexing stuff as "How
did I get that box blue, anyway?" or "why is that off by one pixel?" or
something like that. Gee, I love programming.

