Personally, I'm always astounded that one would even need to explain the whole scientific debugging mindset explicitly. Then again, I'm regularly proven wrong when I eventually meet the next guy who would rather burn incense and read tea leaves for a week instead of using some sort of directed experimental approach. -_-
His first part about "aim" is soooo dead on. It usually happens after I started coding. I find a slack message to a co-worker asking them how to do something, but then having to explain EXACTLY why I need to do this is enough to basically solve my problem. By the time I am done writing the message I have thought of the problem, the rationalle, the why, the where, etc (I don't want to just ask a question I can answer on my own), that I never send the message and thus rubber ducking succeeded.