I originally learned programming by answering questions on StackOverflow. It was (unsurprisingly) quite brutal, but forced me to dive deep into documentation and try everything out to make sure I understood the behavior.

I can’t speak to whether this is a good approach for anyone else (or even for myself ~15 years later) but it served to ingrain in me the habit of questioning everything and poking at things from multiple angles to make sure I had a good mental model.

All that is to say, there is something to be said for answering “stupid” questions yourself (your own or other people’s).

> ... "it served to ingrain in me the habit of questioning everything and poking at things from multiple angles to make sure I had a good mental model."

Way back in "Ye olden days" (Apple ][ era) my first "computer teacher" was a teacher's assistant who had wrangled me (and a few other students) an hour a day each on the school's mostly otherwise un-used Apple ][e. He plopped us down in front of the thing with a stack of manuals, magazines, and floppy discs and let us have at it. "You wanna learn computer programming? You're gonna have to read..." :)