I get between 500 and 1000 email a day.

Many, MANY, are from developers asking for help.

Now before anyone gets angry, I love helping developers solve problems.

But… Lately I’ve been getting more and more “unnecessary” questions.

My problem with this is that I spend several hours answering these email every day and taking the time to answer questions that could have been easily answered with a little proactivity on the part of the asker, means that I have far less time to work on the harder questions that folks really can’t solve without a little help.

If your question is for an opinion like what’s the best approach to do something or what book do you suggest, then by all means ask away.

If you want help writing code, I thought I’d write some guidelines to the process of emailing a question.

1.    Try stuff BEFORE you email.

2.    SEARCH FIRST – Before your email, please use the search engine of your choice to look for an answer. It’s staggering the number of times I get an email question and I find the answer on the first page of search engine results. I know it’s easier to just send an email, but it’s only easier for the person on the SENDING end.

3.    Check www.asp.net/learn – there are tons of samples, videos and tutorials.

4.    Read the error messages if your project doesn’t build, a little research on the message will likely reveal the result.

5.    Ask in the www.asp.net forums. Yes, it’s slower but asking 1-on-1 is selfish because it helps only you. Taking the time to ask in the forums contributes to the community.
6.    If you have done all that and still have a problem then by all means contact me.

7.    Please don’t PM me – even if I get your message, I don’t get your email address to reply to.

8.    Send me direct email at my Microsoft.com address or via the contact option on this website.

9.    Explain your question IN DETAIL. Include the problem or question and any error messages; explain what is happening and how it differs from the behavior that you desire.

10.    Remember, sentences have periods and email has paragraphs. If you cannot write the explanation clearly, there is little chance that I can help you since I won’t understand your issue. To my non-English speaking friends, PLEASE take extra care in your translations so that I can be off accurate help.

11.    Please send code ONLY as follows.

a.    Send a Zip file of a complete solution directory that is buildable in Visual Studio or Visual Web Developer 2008. (I do not have ready access to any other versions at the moment.)
b.    DO NOT paste code into your email !!!!
c.    Do not send code that does not compile.
d.    Do not send projects that to not build (unless that is the issue.)

12.    If you are asking for help with a behavioral problem in your code, I probably can’t help you if I can’t run your code.  This means creating a local database etc. before you email the project.

13.    Once you have a solution, please go back to the forums and post the solution so that anyone else who has the problem later will find the answer.

Following these steps will help reduce my email to the questions that don’t have readily found answers and will give me the time to help ell the developers who really need it.

Many thanks in advance.