I often tell people to "help me help you," and now that I am in the student seat again, I need to remind myself to heed my own advice.
I've asked many questions since I've started Dev Bootcamp. Most of them are directed to friends or cohort-mates. I think that a lot of Phase 0 is learning how to learn, identifying what resources there are, and gaining experience in utilizing them efficiently. In some cases, it is easier and more effective to ask someone rather than read about it on the web. In other cases, the process of finding multiple sources to read is as important as learning the content/concept itself. What I am most guilty of is asking someone for help too soon.
The best questions do not require a back-and-forth. The questions I posit should contain all of the necessary information needed for someone to understand the context, the goal, the constraints, and the issue -- and nothing more.
How to Ask a Good Question
(1) Spend sufficient time trying to answer it on my own. (Don't be impatient!)
(2) Look to resources that are available to me (ie. Stack Overflow, textbooks, previous working code...)
(3) Form a specific and descriptive question.
(4) Provide example code that is succinct and can stand alone.
(5) If there are constraints, list them.
(6) Present the error message you are receiving and what line threw it.
(7) Edit and polish your question: no typos, not verbose.
(8) Respond to feedback.
The best check is to imagine answering my own question. If I have any trouble at all, I can see how difficult it'd be for someone else who is looking at it for the first time.