@glyph I agree, which is why I worded my initial quip "take time to understand" rather than just "understand". Sometimes you're only going to have 80% understanding and you'll find the rest as you go, but it's better to start from 80% at least.
In programming specifically, when stuck with this kind of paralysis analysis, I give myself explicit permission to write "the bad version" of whatever it is I'm currently thinking of, and then by turning over this artifact I can find more of what I am looking for.
I think the synthesis I will draw from my thesis and your antithesis is that this problem-solving procedure can be recursive, where you set up some simpler version of the problem you're more comfortable with, solve *that*, and reflect. This does happen sometimes in the physics domain, where you consider a different problem and walk it towards your target, or somesuch. Or the meta-skill of deriving forward from the fundamental laws at your disposal.
For beginner-beginners in programming, I agree that "it's not a spectator sport" is a big part of the battle. I guess I don't know how to properly separate the "typing, but I'm thinking" and "typing, as a monkey" activities.