I slip into this sometimes too, but I feel it's a procrastination pattern to avoid thinking about something difficult, and context switching doesn't really move progress on the original hard problem. It's something I typically try to avoid.
I slip into this sometimes too, but I feel it's a procrastination pattern to avoid thinking about something difficult, and context switching doesn't really move progress on the original hard problem. It's something I typically try to avoid.
Recently I had to decide how to rebuild a fairly large component of our compiler (several passes, artifact emission, etc). It took me about a week for the idea (for how to best do it) to occur to me. I spent that time working on our runtime instead. Then once I had the design/architecture, I worked for 2 weeks straight to implement. And during that 2 weeks I figured out a path forward on something I was blocked on in the runtime.
Obviously one can context switch, but every switch comes at a cost. That cost could be hidden by happiness boosts from not having to think about this difficult thing (=pain) and instead do something simpler that feels like lower hanging fruit and gives more immediate gratification (=reward). But the shower you mention is key and can't provide progress on multiple hard things at once. I agree that this is akin to a procrastination strategy and commend you for the analysis and self reflection.