In a recent "lunch and learn" session our assignment was to take on a code kata.
I worked on it at home and got buried in it, what Tom DeMarco calls "flow time." So much so that when I stopped with a solution, two hours had passed. I know it's a common pattern among developers: you're so focused that nothing else matters. Developers are knowledge workers and thinking is the main part of our jobs.
So, what's your work environment like? How long can you focus? How many interruptions do you get in a day? How many of those interruptions are even related to the task at hand?
Gerald Wienberg says in Understanding the Professional Programmer that "...programming computers is by far the hardest intellectual task that human beings have ever tried to do. Ever." If so, (and I think it is) then the ability to focus should be a given.
It's too bad that a quiet, interruption-free development environment is so rare.