You've been coding for hours and you're stuck. Not the kind of stuck like being in a traffic jam, but the kind of stuck where steam is billowing from the engine - you need help, and you need it fast.
You fire up your web browser and search stackoverflow but find nothing, so start a new post. Sometimes you don't even search, you just post. Gotta. Solve. My. Life. Shattering. Problem. Now. You get a quick reply:
This infamous phrase evokes red-blooded frustration, but has a lot to teach coders about how to communicate effectively.
Eric S. Raymond wrote in detail in the essay How to ask questions the smart way on the right and wrong ways to get help, for example:
Be precise and informative about your problem
- Describe the symptoms of your problem or bug carefully and clearly.
- Describe the environment in which it occurs (machine, OS, application, whatever).
- Describe the research you did to try and understand the problem before you asked the question.
- Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.
- Describe any possibly relevant recent changes in your computer or software configuration.
- If at all possible, provide a way to reproduce the problem in a controlled environment.
I turn to stackoverflow as a last restort. When I'm truly stuck. This helps me grow as a programmer. Moreover, when I do resort to it, spending time composing a good question often leads to "aha" moments, and the problem is solved.
By not adhering to the guidelines above, you're missing an opportunity to learn more about your field, to become a better coder, and to develop useful analytical skills.
Oh, and you're also wasting people's time. Don't do that.