The goal of SO is to create a long-term repository of useful questions and answers. Research effort is to make sure the questioners are contributing to this as well as the answerers. A stereotype of SO is it's a bunch of answerers doing a bunch of free labor, but the great trick we've pulled on everyone is, the questioners are doing free labor as well. And we have upvotes and downvotes to put pressure on them to do so.
The point of research effort isn't to say "I deserve an answer", it's to say "this question deserves to be here." I think the heuristic by which to measure this is, "will this question's existence on SO make it easier for people to solve this problem faster?" So in many cases, googling for other answers is a big part of research effort. I'm about 9k currently and usually if I stumble with a new problem in a Java API or Node or something, and it's not apparent what to do, and I can't find it within five minutes of poking around or Googling, my next thought is, "Wait a minute, other people are going through these same stupid attempts, this should just be on SO somewhere." If I were less experienced those 5 minutes might take 30 (and I'm not claiming my judgment is perfect).
So my research effort very often consists of, "I tried the obvious APIs, looked for similar questions on SO and read the official doc and it didn't work." Sure, I could have fired up a debugger, stepped into library code, found a hidden feature, etc., and solved my own problem within an hour, but why would I do that when I have this lovely Q&A resource right here with people who have done this already? And heck, if no one can solve it, then when I do, I'll post my own answer and do both parts of the Q/A team.
As an answerer, I like to know this work has been done already. Don't make my first step to find your question on SO already by a highly similar title - that's a downvote. Don't make me link you the Javadoc for a standard library method and quote it and plug it in - that's a downvote. The downvote doesn't say "you don't deserve an answer," it says "you didn't do your part of creating a useful Q/A pair."
Conversely, if you can't really understand a stack trace for a NullPointerException
in your Java code, then yet another "read my stack trace and tell me what it says" question isn't going to be useful, and we're going to tear you apart with comments saying, "Did you google NullPointerException
? Did you read your stack trace? Did you look at the line the problem is on?" Or, if the answer requires a very dense long explanation (e.g. explaining the difference between pointers and arrays), then there isn't really any reason to assume the SO answer is going to be more useful than resources (like textbooks) already out there. As I've claimed, for me, 5 minutes of research is enough for a good SO question to be more useful to the next programmer, but on occasion really I need to go spend some time self-learning a new language (and I've recently had downvoted Node questions for this) before expecting SO to be particularly useful.