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:

  1. Comments and TODO Lists - Many tools have functionality that can reach into your code and generate a list of things that need to be completed from your carefully constructed comments - in Visual Studio it's the task list generated by any comments starting with TODO:
  2. Schedule a reminder - make a note to yourself in your calendar on what your next steps will be.  Include a list of steps to complete if it's a particularly complex task; the more information you brain dump here the easier it will be to pick up where you left off.
  3. When starting again, make sure you have a good amount of time available to review what you did in the previous session; compare notes with yourself and look at your list of TODO items.

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.



Robert Foster

Robert Foster

Robert is a seasoned software consultant and with over 25 years in designing software architecture and development across a broad spectrum of technologies from desktop and windows server applications through to websites and cloud solutions and mobile apps. He has been part of the Umbraco scene for many years, contributing to the core and developing packages. Robert is currently responsible for the organisation and facilitation of Umbraco meetups in Melbourne and Sydney and is a key driver in community initiatives like the Umbraco Down Under Festival.

Related Articles