Ask HN: How do you maintain a high velocity in productivity?
Obviously the answer is to speed up compilation or startup, but if this isn't an option how do you maintain focus and velocity?
Obviously the answer is to speed up compilation or startup, but if this isn't an option how do you maintain focus and velocity?
Get up and walk around so that you can get the blood flowing. Probably good for thinking anyways.
I have a pretty solid workflow for reading articles, etc. That is, the sorts of things that I get distracted on. The stronger my flow, the less I feel the tug to aimlessly wander because it seems pointless when I already have a good system. This system is setup on my Android phone, which is a great shield for me because I have to actually pick up the thing to start the process of distraction.
I usually keep a "stream" list. When I do something significant, I'll note it in the list. If I get stuck, then I write what I feel should be my next step in the list. If that doesn't work, then I go back and write another item in the list. If I'm working on something complex, then I might write out several steps that I have to follow in advance. The list kind of keeps me grounded by just writing.
Also, at a certain code base size you need to build abstractions and aggressively contain complexity in order to stay productive. This is the reason for Greenspun's Tenth Rule: http://en.m.wikipedia.org/wiki/Greenspun's_tenth_rule
While humorous, it contains a kernel of truth. When complexity gets high you need to keep the project organized at a higher level, which eventually means using more sophisticated build tools, metaprogramming and/or macros to implement a DSL, or even bringing in a full-blown scripting language to write glue code that calls your core modules.
Without speedup there not so many options. - As already mentioned, test driven developing or like to reduce needness to start up - As you said, multitasking. It's doesn't work for me, if I try to do more work. But it's work if I do some not directly related tasks like writing mails, contribute to wiki pages, grooming, reading articles or HN.
[...]
-- http://www.componentowl.com/blog/zen-coder-vs-distraction-ju...