Stylized line drawing of mark playing the flute

There is an art to asking questions

As a developer, you will find yourself asking many questions and answering many others.

Everyone in this business knows the frustration of getting a bug report that reads along the lines of It doesn't work. with no other details.

Heres the bare minimum you need to ask a decent question:

A summary

You need a one sentence description of whats going on. Something to give people an idea of where you're heading. Details will come later.

What is going wrong?

It doesn't work doesn't cut it. You need to provide detailed information about the issue.

How doesn't it work? What were you expecting to happen? What happened instead?

If theres an error occurring, provide the exact text of the error.

I put so much emphasis on exact because giving an incorrect error will slow things down by sending the person helping you off in the wrong direction.

If you're getting a detailed exception, provide the complete stack trace.

If its a visual problem, take a screenshot.

Enough information to reproduce the problem

Providing a screenshot of your website is great for showing me the CSS problem you're having but I can't help debug it without source code.

Ideally, you should distill your problem down to the tiniest code sample possible.

Try recreating the problem outside of your project. Sometimes that alone will narrow down the scope of the problem

Proofread everything

Reread everything you're submitting to make sure its expressed clearly. Spelling and grammar counts.

You have to make it as easy as possible for someone to answer your question if you want a decent answer. That means organizing everything thats happening and presenting it in a clear and legible fashion.

An added bonus: Half the time, just getting your question in order is enough to solve it yourself.