Programmer Productivity Problem

I’ve noticed that my productivity (in terms of code output) functions as a sort of punctuated equilibrium.
It’s not a sinusoid wave, as I had thought, but more of a series of spikes.
I’m analyzing the pattern to see if it can be hacked to fit sprints and deadlines.

There definitely seems to be a coherent pattern to it: Lull->Grok Point->Code Spill.
The `Lull` is the ramp-up period – when I’m trying to put all the requisite knowledge pieces together, understand both the problem and the solution at sufficient granularity. Very little if any code output is seen at this stage.
Eventually all the pieces fall into place and I reach the `Grok Point`, at which the productivity curve suddenly spikes and `boom!` – out spills
lots of code in a short period of time. This is the happiest and most exhilarating part of the process – and I want to get to it sooner each time.

But how?

The greatest obstacle is in managing the lull periods in a smart way.
I tend to overload my brain with too much context at once, which makes it harder and longer to reach the `grok point`. This is a most exhausting and miserable part of the process. Clearly, the solution is to break and let the brain rest awhile as soon as it becomes overwhelmed. But I can’t jump the gun on it either, because too frequent context switching is well known to have a very high cost as well.

So the key to reducing the `lull-to-grok` period seems to be a tightrope dance between burnout and context-switch.

The trouble is that it’s not at all evident when my brain gets overloaded. It creeps up on me. I’m not sure *how* to “be mindful” of my cortex capacity and identify the moment it overloads. This “mindfulness” is itself a datum maintained in the prefrontal cortex, and thus a subject to blowout when overload occurs.

More research is needed.