Amendment after accepting answer:
The point that came across after discussion and reading through meta is that we downvote bad questions/answers regardless whether the person is a noob (to SO or programming).
It's the downvoter's perogative whether or not to go any further. Like gnat pointed out, keep it simple. Do what YOU want to do.
Also, the community currently DOES want noobs to programming here.
I do, however, think it's the downvoters responsibility to take extra care when your intuition tells you the person is new to programming or when they are obviously new to SO, but in general if that person makes an effort the community will more then make up for a single, even careless, down vote, or even a wrongfully closed question as stema pointed. The consensus is the system works, just play your part.
I do still believe there is room for improvement in regards to noobs, but this improvement will most likely come from the community not from SO itself. Ideas are still welcome here :). Thanks to all that participated, except for Bobby the n00b trollzor (<3).
Original Post:
tldr; This question was spurred after I noticed a couple noobish, but valid, questions being down voted. We need to make it more obvious we do not want noobs here if that is indeed what we want.
Ok, let me start by saying I love stack overflow, and the community and this site just seems to WORK to get good answers that are easy to find.
However, there are some things I'm noticing it may not be good for, and we should perhaps try to push questions and people in these categories somewhere else (ie. noobs, broad-questions, easy questions, not-so-useful questions, hard to understand questions, etc).
I did some research through meta to gather my thoughts and my reference of interest is:
Downvoting a question that has merit
Quoted for convenience:
The reason given to downvote a question is that it's : Not Clear or Useful. This question isn't very clear, and it doesn't appear like the author has put much (if any) effort into the problem himself.
That merits a downvote in my book.
Others may claim that we should just leave the question alone -- but if you encourage unclear questions, that's what you'll get -- causing more work for everyone else, and increasing friction on the site.
George presents a clear philosophy. I personally can see eye to eye with this philosophy because it will benefit ME. It makes my life easier by making more likely I will receive a good answer to my question, and that the next question I read is well put together. It even makes finding an existing answer easier because there is less cruft to sift through. It makes it so I'm surrounded by a community of experienced and knowledgeable programmers.
This, however, does not benefit someone who is genuinely new, and learning programming for the first time.
Stackoverflow faq states:
You should only ask practical, answerable questions based on actual problems that you face.
For a noob this could be ANYTHING. They could have spent hours on it, days even. They still might not have a clue what they're doing. Do we really want to alienate these people before they even begin to gain understanding? I know I wouldn't feel good about participating in this community as a noob who's first question gets down voted because it's either too easy for someone else answer, not presented well, or provides no widespread value to even a novice skill programmer.
Rather then down voting these questions, it's seems like it would be better to transfer them to another exchange or to tag them or something else, anything else. I'd love to hear YOUR answers to this problem.
Noobish questions are quite obvious to me, and I've never had a problem with them until today when I realized this community MAY not even want these questions around at all (based on the accepted answer in my reference). Perhaps I'm underestimating the harm they could cause, but I just don't see it as George does.
The way I see it a noob question most likely will never come up in a search of mine because they have no specific information to my question presented, nor do the answers therein. It's not work to glance at question, realize it's a noob question, and move on to let some other kind-hearted person deal with it, because I'm not in the "mood", rather then down-voting without even a comment. I digress before I start to go overboard :)...
I believe these posters should be given the benefit of the doubt, answered rightly, given good advice, even if the quality we desire isn't there. A noob cannot produce quality, has a hard time engaging in conversation about the very topic they are asking about, and is just trying to learn. It may appear someone is being a jerk, when in fact they just currently lack ability and understanding. We can give these people good answers... and there still is benefit to us, even if not as great.
The question is: Is Stackoverflow that place?
If not, why do I continually see these questions being presented? Why isn't it abundantly clear we do not want noobs in our faq or when someone new signs up?
If it is, then why is the community down voting new users, with bad questions that no experienced or educated programmer would be caught dead asking?
A penny for your thoughts.
Thanks.
Edit more good references in:
What is SO policy about noob and "please debug this code for me" questions
Stackoverflow is becoming less and less noob friendly nowadays
You want effort from us? You put effort into your questions first, or with all due respect, take it elsewhere.
In context the above quote makes sense. The question was BAD. However, taken out of context, putting more effort in to a problem may yield significantly less benefit then simply asking the question here. Where does one draw the line before they ask a question? How can someone really tell how much "effort" a person put into their problem.
https://stackoverflow.com/questions/how-to-ask
Do your homework
Have you thoroughly searched for an answer before asking your question? Sharing your research helps everyone. Tell us what you found and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer!
Again, this is very gray. There is a multitude of ways to use this site successfully and it ISN'T always do your homework before asking IMHO.
1.) I've been having a trouble finding an answer to a problem, so I ask a question, and continue searching. If I get to an answer, and no one gets back to me I answer it myself. If someone gets back to me, I saved myself some time!
2.) I'm busy. I just spent 20 minutes on a bug that was user error dumb me, and I still don't quite understand why what I did fixed it. Of course I could probably spend 30 minutes more on it to figure it out, but I know someone here will give me a very clear picture with little or no effort on either end.
The point is a noob has neither intuition. They haven't been through the grinder on programming or perhaps even taken a single class. What does "do your homework" mean to a noob?
How do you use stack overflow? Could a noob use it as you do?
I think a better way to describe the "Do your homework" philosophy, is "Participate in your question and answers to your question. Communicate with the people helping you out ASAP. Try to communicate what you learned from them in a way you understand, so further detail can be given." It's not really do your homework BEFORE asking but continue to put effort in AFTER asking your question, based on the feedback of others. (Kudos to stema for helping lead me to this conclusion with the observation about how fast stack overflow works.)
Is it appropriate to answer with a critique, feedback or advice that does not answer the question?