Rather than work on my personal application this week, i've been thinking. I feel like I don't have any blocks of time to work on my side project. You know, the one i've been blogging about. Most all my time is on my current work assignments. I am wrapping up a phase of a project and have all the final wiring to complete. Rather than post on what I did ( or in this case, didn't do ) i'll just post a collection of thoughts on personal productivity. I reserve the right to change and refine these thoughts later.
I tend to work in spurts. Depending on what I am doing exactly, these spurts last anywhere from 30 minutes to several hours. During that time I usually work on a single task without interruption.
Sometimes, in the middle of a tough problem, I might step away for a short break. The context switch sort of draws my attention from the specifics of the problem I am working on and when I refocus, I often have a much clearer cohesive insight.
From what I can tell, there is a difference between a 5 or 10 minute pause and in an hour. If I pause for an hour, such as at lunch, I need additional ramp up time. Getting all the details back in my head is important to reach productive programming flow.
To be of most benefit, a short pause must be properly timed. Accidental pauses, such as a workplace interruption, or the Fedex man coming to the door, can reduce efficiency for sure. For me, the most productive pauses occur either at the apex of a frustrating problem, or at the end of solving a problem.
Some folks have alluded to an unplanned interruption can cost two weeks in the development cycle. Seems a little strong, but the point is a good one. Programming well is hard enough and requires the programmer to keep many datasets and their relationships, responsibilities and behaviours in solid mental structure. Knocking this mental structure can have negative consequences for sure.
I am still working through the most productive environment for me to work in. At times I like a little music on. Others, I need silence. Sometimes I just need to be away from others where I can have finer grained control of my distractions. I guess perfection is a constantly moving target.