I usually have a zillion of small tasks and I switch between them real fast, and at the end of day most of those are done.
Version control systems and command line histories help greatly.
When I need to write a sizable chunk of code: I might spend a hour or two surfing the web, but when I finally push myself in I get into the zone that Joel described without much problems.
Bonus points: Being ADHD, I'm able to switch tasks and spend a few minutes doing another task without leaving the zone! Resuming without productivity loss. And I absolutely neverming talking, I can talk and be in the zone at the same time.
Version control systems and command line histories help greatly.
When I need to write a sizable chunk of code: I might spend a hour or two surfing the web, but when I finally push myself in I get into the zone that Joel described without much problems.
Bonus points: Being ADHD, I'm able to switch tasks and spend a few minutes doing another task without leaving the zone! Resuming without productivity loss. And I absolutely neverming talking, I can talk and be in the zone at the same time.