Before I start this post, let me say that it is not pointed at any one person - if you've asked me for help recently, this isn't about you!
The programming and administration computer disciplines are fairly unique, in my mind, in one interesting way: we help each other a lot. Since the beginning of the DARPANET, which eventually became the Internet, administrators have used e-mail, newsgroups and other methods to chat with each other - "hey, I'm having this issue....anyone know how to handle that?" It was a form of necessity, since everyone had to come up to speed quickly on a technology that wasn't documented yet because it didn't exist yet.
And that tradition continues today. Those of us that work at Microsoft, and of course tons of people who don't, participate in forums, e-mail exchanges, newsgroups and other forms of user-to-user assistance. But many times I'm not able (or very willing, at least) to help someone because they get in their own way. So I thought I would create a blog entry that gives you some ways to get help from those willing to give it. If you'll follow these simple steps, you'll probably find more of your posts answered:
1. State your question clearly.
Instead of "I tried this terrible software and it doesn't work right - how do I fix that?" be very specific: "When I implement the Maintenance Plan Wizard, on step three of the Wizard I get error 980234 from SQL Server Management Studio. Has anyone else encountered that, and where should I look to start fixing this?" The more precise you are the better the odds that someone can help you.
2. State what you've done to fix the problem so far.
Explain all of the steps you've taken to research or correct the issue so far: "...so I looked up error 980234 in Books Online, but it doesn't seem to apply because I'm not on a cluster. I searched on "non-clustered" and "980234" and I didn't come up with any hits." If you haven't even read the manual or looked at any one of the thousands of pages of documentation on the subject, don't ask the question. Do your homework first, put some effort into finding the answer.
On this note, don't expect others to re-write your code or do your work for you. There's a very big line between helping you find the answer to a question and doing your job - that's why they pay you, not me.
3. Be professional.
No one cares how much you hate a vendor or software product. No one cares how much time you've spent on this or how frustrated you are. None of that matters - what matters is that you need your problem fixed. If you ask a vague question, and insult Microsoft (or any vendor, actually), I just move on to another question. And don't demand and answer: "I need someone to help me fix this now!" If you can't be nice, why should someone else?