A few years late to this discussion, but I have some thoughts from the other side of the fence. While browsing SO has been a great experience, actually posting questions to it has not been in a few instances. As a newbie, it can be very difficult to get started.
Consider this. You love SO, so you join and you'd like to be able to up/downvote, comment, and really be a part of the community. So then you realize you need to ask some questions so you can gain points. You carefully and patiently watch for something while you work. Finally, there it is. Something you don't understand at all, but that's a big obstacle to something important to you. So how do you phrase the question? You find that you don't know enough about what's wrong to even ask it correctly. Your attempts at google are fruitless.
You've carefully searched SO, to avoid a duplicate question but everything you find is irrelevant. You KNOW that somebody must have had this question before, because it seems like a common thing to run into. You cobble together a question in the best way you know how, and before the ball can really start rolling, a couple of sticklers have already closed the question. You wonder why because of all the other questions you've read on stack overflow that have started out the same way and have helped you. Now you just feel rejected.
Take a look at these two posts from me:
c++ while loop condition isn't playing nice with stack.empty()
here, I'm blundering through my question, hoping I'll get some help. Yay! In the comments Someone sees that the problem isn't quite what I though it was and points me in the right direction. I'm patiently waiting for the commenter to post an answer that I can accept so that other people can find out a little more about better debuging. Then the question gets shut down because it wasn't very good. But I know it was in some way relevant because other commenters were saying in essence, "This was bothering me. I'm glad you figured it out"
So, under encouragement by commenters, I created a new question ( c++ while loop doesn't exit on false condition ) that I hoped might net a person who's frustrated in the same way that I was. I answered it and was happy to get a few upvotes. I was a little crushed when the new question was closed without any tips on how to adjust it. When I commented @ the user who shut me down, I got no reply, but the reason for the post being closed was changed.
I felt pretty rejected at that point. My goal was to help other newbies learn from my 3 day problem and I spent a heck of a lot of time trying to be relevant and helpful. The effect was that I wondered if I should just stop putting in the effort to try to contribute.
My point here is that a lot of our experts seem like snobs to me. There's got to be a way be more welcoming to new users and to invite them into the community without telling them that they must contribute if they want privileges, but then shame them for coming up with a best attempt at a "concrete, specific programming question." I'm glad that I pressed on, because one or two people have been helped by my contributions, and I like the community. I still feel like it's daunting to ask questions that I don't understand well enough to study.
As an aside, I've been helped greatly as a beginner by code that people have posted and which have been debugged by the community.
Don't get me wrong, I also think that people should put in work and try to be as clear as possible and otherwise formulate helpful questions, but I also think that established users need to be less abrasive and more patient with seemingly stupid questions.