I just came across this article on CodeProject about Programmer Momentum (Why a 15 minute side track actually costs an hour) over at medium.com.
This article pretty much puts into writing my biggest frustration – not being productive enough with the amount of time I have available.
If you read through it and take a look at the graphs, it seemingly presents exactly how I find my productivity - best at night. A little further down it talks about gaining experience - learning to debug and searching for answers on google etc. But lets not get into that now.
I wanted to comment about the section called Time's Up which deals with working 10 hours in a row, being "in the zone" and amazingly efficient. I can fully relate to those 10+ hour streaks of programming that are discussed here; and I know that when inspiration hits me, walking away to spend some rightly demanded time with the family is the hardest thing in the world to do.
But there are a few things we can do to help us get back into the flow of things, picking up where we left off:
The thing to take away from this section in the above article is to know when to stop, walk away and go home. Often times when stuck on a problem, a good night's sleep will bring the answer to you the instant you look at it again. So learn to compartmentalise and “hibernate” your work so you can pick up where you left off with a minimum amount of time; relax and get some rest. You're no good to anyone if you burn out.