Tacit Knowledge
doxsey.net
doxsey.net
All that to say that it is quite true that without the tools in my hand I was hard pressed to describe what I would do.
However, I'm barely like this at all. I might have an instinct for where bugs will be or that something just shouldn't work like that. But I rely almost entirely on nonintuitive, crystallized knowledge:
* I can definitely tell you all the vi commands I know. If I can't name a keyboard shortcut, I can't remember it at all.
* I concentrate while driving, executing conscious algorithms like 'stay in the middle of this gap', 'start coasting exactly now to save brakes', or 'move one lane left if you would have to brake'.
* When I learned a foreign language, I did it by patching together conscious learning like 'n before b is pronounced like m'. I was consequently much worse at speaking than intuitive types, which is the best way to learn, but also much better than most people from my country ever get.
* If I can't answer an interview question, it's because I can't remember the crystallized fact I wrote down in my notes, not because I know but can't describe it. I rely almost totally on notes and snippets for this reason.
In some part it's not because I couldn't get through a task intuitively but because I think there's always a best way to do something and it's usually better than just muscle memory. For example, my ice skating improves when I'm consciously thinking "pressure on the outside toe" or "tuck your pelvis under" instead of skating naturally. That's the opposite of pro skaters, but it works best for me. In programming this means I keep little reminders for myself about when to use log level WARN, which stream collector to use, ways to test recursive queries... all explicit.