Nonetheless, one Stack Overflow user was apparently dissatisfied with the amount of effort that I had put into this question, and they replied to my question with the following comment:

What's your point? You think it would take you hours? Well that's just sad. It was clear in the google results if you took more than a few seconds to look. It's just really very poor to go running to someone for help instead of at least trying on your own. I can see it from a small child, but from an adult, it's really just obnoxious. Now you're whining about it. Seriously man, grow up.

Should I take this advice seriously, and refrain from asking for help even when I am not able to answer my own question with a reasonable amount of effort?

This question came from our discussion, support, and feature requests site for meta-discussion of the Stack Exchange family of Q&A websites.

6

This misunderstanding seems common enough. Even if I actually researched for days I could imagine someone may come and mistook my question as an opportunity to accuse "you didn't do your homework". The research time also seems topic-dependent. That's why Tell us what you found and why it didn’t meet your needs. seems a good idea to me. Aaron Kurtzhal emphasized it from the faq. Let the community decide whether your amount of research in the particular topic was sweet, and give you helpful, constructive feedback if it needs improvement.
–
naxaAug 22 '14 at 17:08

9 Answers
9

A lot. An absurd amount. More than you think you are capable of. In fact, asking a question on Stack Overflow is the absolute last thing you ever want to do. You want to avoid it at all costs. You want to think of it as a horrible shame1 that will forever haunt you and pass down from you to your descendants. You want very much to find your answer some other way.

You want to

Search. Like mad.

Test your code.

Troubleshoot.

Read blogs.

Find books.

Follow tutorials.

Anything to avoid adding another question to Stack Overflow.

You never want to hit that "ask question" button and absolutely never do you want to click the "post your question" button.

After you have reached the end of your rope and the pain of not having the answer exceeds the vast amount of shame received by posting your question, that's when you can go ahead and ask. Because at that point, you will have done whatever research necessary to make it a good question worth asking. Because so help me, if your question gets an answer within 30 seconds that has 10 upvotes within 3 minutes, you did not do enough research.

1The terms "shame" and "never" are a tad bit hyperbolic, but the important point remains that we absolutely want you to do your homework. Understand that our time is not free, though we do not charge for it. Answering low quality, poorly researched, or duplicated questions becomes tiresome.

And the quoted comment in the OP was indeed rude. Let's get that out of the way. But to be frank, you've asked 36 (visible) questions in May. That's rather a lot. I won't review all of them, because I haven't the time, but it's fair to say that you probably do want to consider spending more of your time and less of ours. We do not mind helping, but we're not a replacement for either personal training or paid support.

@Antony, Indeed I have. In all seriousness, I'm right embarrassed by one or three of them.
–
Anthony PegramMay 30 '13 at 15:51

44

This is an excellent answer. The portion above the horizontal line needs to be in the FAQ.
–
Jack ManeyMay 30 '13 at 17:21

10

When I started reading, I wasn't sure I liked this answer. The more I read, the more I liked it. (I, myself, have been shamed 12 times - one that was deleted.) Only one suggestion, and I'm not 100% sure it's necessary: perhaps indicate in some way that you were using just a tad bit of hyperbole, for those who are sensitive. (or, insensitive)
–
Andrew BarberMay 30 '13 at 21:32

5

@user414076 If everyone did this wouldn't this suggest a negative growth rate for SO.
–
Conrad FrixMay 30 '13 at 21:36

17

@SomeHelpfulCommenter Yep, and it would hugely increase the ratio of good/bad questions as a result.
–
Dave NewtonMay 30 '13 at 21:40

"You want to avoid it at all costs" - in this case, it's necessary to add a well visible banner "don't ask questions here" on the main page, so people won't be mislead.
–
user626528Oct 24 '13 at 4:25

14

@user160319: There's a big difference between "don't ask us unless/until you have no other option" and "don't ask us". The former simply requires that you do everything you can for yourself first. Frankly, it's disrespectful to expect strangers to work for free doing stuff you could easily have done; it shows how little you value other people's time. But once you've tried all you can and still need help...your question is more likely to be (a) non-trivial, (b) complete, (c) useful, and (d) interesting enough that many of us would spend time working on it just to understand it for ourselves.
–
cHaoJan 1 '14 at 18:23

34

I think i might be the only person that COMPLETELY disagrees with this. Yes, the members are all volunteers; but it's important to remember what you're volunteering your time towards. SO is not just a programming Q&A site, it's THE programming Q&A site. IMHO, if there exists an on-topic, well-written, question that has not been asked on here yet, it SHOULD be asked--no matter how novice it is. A few minutes of your time to save (future) askers hours/days/weeks/etc. of theirs. Isn't that what this is all about?
–
Noob SaibotFeb 28 '14 at 23:01

16

@NoobSaibot "Isn't that what this is all about" - Nope, Perhaps thats what its all about for you, and thats perfectly fine. To each their own. To many, its about helping solve problems that have reached the point of wits-end. Most problems could/should be solved before that time comes by the person that would otherwise post a remedial question. One better have the chutzpah to have a fighting-chance to solve it themselves. That skill will never be developed so long as they're continually spoon-fed trivial solutions. The only thing that develops in the long run is dependence.
–
WhozCraigMar 4 '14 at 18:17

21

@WhozCraig: And if SO was a place to "forge programmers in iron and fire" as it were, i would agree with you; but SO's mission is to be an objective Q&A site "for professional and enthusiast programmers". That's it. My point is, those who contribute their time to this site do so towards THIS aim--not towards that of a site exclusively for profound, mind-blowing, super-cool programming questions. Insisting that people obtain a CS degree before asking a question is JUST as bad for SO as the please-do-my-homework-type questions you all abhor.
–
Noob SaibotMar 4 '14 at 20:19

17

@NoobSaibot I'll conclude we'll simply end up disagreeing then. The very conditions of your consideration, " if there exists an on-topic, well-written, question that has not been asked on here yet..." (your words, not mine). Those are't the questions we're talking about. It is precisely the ones that don't fit into that condition that fail to reach the level of what most see as contributory to anything. If something is difficult to find, i can see it, but when I can click the search box, copy the title, and find the answer in 2 seconds, the question it worthless.
–
WhozCraigMar 4 '14 at 23:49

14

let me sum up this answer: don't use StackOvervlow, the super users have enough 'power points' and no longer need you to justify their existence. :D
–
Chris HayesMar 18 '14 at 20:42

6

Stupidest(1) thing I've ever heard. This attitude is the sort of thing that is ruining StackOverflow. People want SO to be a reference manual, but really it should be that smart, experienced dev sitting next to you. Yes, spend time researching your question because people learn best by figuring it out on their own - but don't spend an inordinate amount of time beating your head on the wall when there's a person next to you that probably knows the answer. Spend enough time to know that it's not a simple problem and you don't have the knowledge to figure it out, then ask. (1) hyperbole
–
tvanfossonJul 15 at 16:42

The problem with this is that some people are better at searching the internet than others. For some questions, a very slight change in the approach to the search engine can make a very large difference in the quality of the results. So we do get situations where someone has, in fact, made a nontrivial effort, and still ends up asking a question to which an expert can find the answer within three clicks.

On the other hand, there are some warning signs that should indicate to you that you're missing something simple, and you need to rethink how you are searching. Here we have a non-esoteric programming language. Here we have, indeed, what looks like a very simple question about this programming language. It should really bother you that you can't find an answer to your question.

If you can't think of anything else to search for in a case like this, searching for a tutorial can't hurt. And in this case, searching includes visiting the best web site(s) on the topic.

However, if you've tried A, and you've tried B, and you've looked for a tutorial, and you've taken a walk around the block, and you still have come up empty-handed, then ask a question here. You might get the occasional snide comment, which you should flag, but you will be justified in posting your question.

But if this keeps happening to you over and over, you really need to rethink how much effort you are actually putting into trying to find the answer on your own.

I often ask questions about programming languages that I'm not familiar with, so I get a lot of downvotes from people who have more experience with these languages than I do. I know much less about C++, Go, Bash, Haxe, and Python than about Java and JavaScript, so my questions about these subjects often reflect my relative lack of experience with these other languages.
–
Anderson GreenMay 30 '13 at 21:01

2

In addition, unless Google knows you and your search preferences, it may take a few searches/etc. to seed it with the knowledge required to find what you're looking for more easily.
–
Dave NewtonMay 30 '13 at 21:04

42

@AndersonGreen, when you're new to a language, your first thought should be "how likely is it that I am the first person to have this question?" The answer should immediately be "not bloody likely." Stack Overflow has 5,000,000 questions. The idea that anyone is the first to ask anything is quite small just on this website, let alone the internet at large. Search. And when that doesn't work, search harder. Rephrase your question and search a third, fourth, and fifth time. (And find a good language resource that will help you.)
–
Anthony PegramMay 30 '13 at 21:11

5

Searching for information about the Go programming language is particularly problematic, since "go" is a very common English word that rarely refers to the programming language itself. For languages with entirely unique names (e. g., JavaScript), it's often much easier to find relevant information, since search engines don't need to distinguish between multiple meanings of the same word.
–
Anderson GreenOct 7 '13 at 21:00

26

@AndersonGreen: You're basically admitting that you didn't try very hard. When i googled for "Set function parameter types in Go" -- the very title of your question! -- the top 8 results were all Go-language-related, and the Go language spec (the official description of Go syntax) was #5. The top 4 were all SO questions; one of them was yours, and two others had been around a year before you asked yours. While the other questions themselves are not duplicates, they do include sample code that'd answer your question.
–
cHaoJan 1 '14 at 20:55

There's definitely a skill to doing research. I seem to be pretty good and always have to help friends, family and colleagues find information after they claim they've tried but didn't. I wish I could teach how I'm able to come up with search criteria, but have yet to distill it. Your points are well made.
–
MadConanJul 13 at 15:23

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 above all, it helps you get a more specific and relevant
answer!

Doing research is only half of what you need. Your question did not explain what you found and why that wasn't helpful to you.

Sharing your research can also help you in the following ways:

Searched using the wrong terms? If you post the search terms you used, someone can help you with better search terms.

Spent a half hour on a website that had your answer, but you didn't see it? Someone familiar with the website can help.

This is saying why it's important to do research, but that's not the question, the question is how much research should be done. This post doesn't answer that question.
–
ServyOct 7 '13 at 16:55

1

No, but it addresses the implicit "why did I get a snarky response?" question, so it is useful even if slightly off-topic ...
–
Ben BolkerOct 7 '13 at 20:42

15

I think that the power behind this answer is not obvious, and I think that it is very on topic. I can't count the number of times I have started writing a question, and by the time I was done researching and drafting the question, I had found a satisfactory answer. I think that there is a lot of power in taking a perceived problem in your head and framing it in a way that you can explain it to someone else.
–
nispioOct 18 '13 at 19:18

While I've only recently began posting regularly on SO, I will typically leave a comment asking if a user tried searching a specific phrase with a link to the Google search. It's not meant to be snarky, instead, it's meant to be helpful. When I started programming I used to ask my mentor twice a day, "What do I need to Google to figure this out?!?!?!" because I was searching the wrong terms.
–
silencedmessageAug 22 '14 at 3:55

I'm sorry, but I completely disagree with the consensus here, and feel as though I should voice the dissenting side. In my opinion, there are four steps that one must take before asking a question on Stack Overflow:

Step 2: Research your question on Stack Overflow (questions, answers, and comments if you can).

Step 3: If no results return from step 2, do enough extra research to formulate a specific, well-written, on-topic, and objective question.

Step 4: Ask.

Despite what the populous may lead you to believe, Stack Overflow's mission is to be an objective Q&A site "for professional and enthusiast programmers". Period. It was not created to be a crutch for the lazy, nor was it created to be a "playground" for the experts. Stack Overflow has evolved to become, not just a programming Q&A site; but THE programming Q&A site.

It shouldn't matter if every other site on the Internet has the answer you're looking for; if there exists a specific, well-written, on-topic, and objective question that has not been asked & answered on Stack Overflow, it should be. Do not be intimidated into withholding questions simply because you don't hold a computer science degree in the subject, or are concerned about the precious minutes it would take away from Jesus Christ's busy schedule.

Yes, it is important for askers not to waste the time of those who volunteer to help them; but the whole reason the site was created was so that askers can save theirs.

This could be said in a much friendlier manner. If you want people to take you seriously, using such a nonconstructive tone isn't the way to go about it. Regardless, I disagree. The SE network shouldn't be a dumping ground for anything and everything that can be construed to be on-topic. You keep the experts by giving them something to chew on.
–
fbueckertMay 24 '14 at 3:07

8

@fbueckert: Oh? I wasn't aware that my tone was that hostile (i was going for direct). Feel free to edit as necessary. But to your point, i'm not suggesting that SO become a "dumping ground" of any kind. Keep in mind: experts aren't the only ones answering questions. As necessary as they are, SO cannot live on experts alone.
–
Noob SaibotMay 24 '14 at 4:32

I don't see much research in these questions, which, according to your bold phrase, definitely belong here. I'd call those questions lazy, but apparently they are very popular. Your bold steps are too extensive (all comments?!) and lead to implied laziness just below it.
–
Cees TimmermanJul 4 '14 at 16:59

7

Upvoted. If you're on SO and complaining about people taking away your time by posting questions... Solution is simple: Don't be on SO.
–
PhrancisJul 6 '14 at 2:42

3

@CeesTimmerman: Are they "specific, well-written, on-topic, and objective questions that have never been asked & answered on Stack Overflow before"? If so, i assert they belong here. You comment seems to equate "popularity" with "collective laziness". But isn't it more likely that the answers are less obvious than you believed?
–
Noob SaibotAug 17 '14 at 20:24

@NoobSaibot They are precise, on-topic, and original, but some would call them "too easy" and "too short", like the poster didn't try Google and didn't provide more compelling info.
–
Cees TimmermanAug 19 '14 at 9:22

6

@CeesTimmerman: But remember, Google has nothing to do with SO. When you google a programming question, it should be links to SO answers that come up in the results; not the other way around, where SO experts are telling askers to jfgi. That's one of the reasons why I find the spirit behind the accepted answer so perplexing. Who are we to tell an asker where his source of knowledge should come from? It's OK to ask! :-)
–
Noob SaibotAug 20 '14 at 16:30

1

For what it's worth, SO is driven by its community. If the community at large finds these questions helpful, then I'd argue that they do, in fact, belong on SO.
–
silencedmessageAug 22 '14 at 3:59

5

There is nothing more dangerous than discouraging curiosity. It'd be a turn towards the implicit. Be explicit, be specific, do your best but watch out to keep your health, and feel free to ask. You should never be afraid for asking. If you start to be feeling afraid for asking, you should let yourself tell your problem and ask for help right away.
–
naxaAug 22 '14 at 10:56

@NoobSaibot to be fair, I think the question might serve it's purpose better without the or are concerned about the precious minutes it would take away from Jesus Christ's busy schedule part. If there is any unfriendliness in it, I bet that's it. I'd edit it but I can't. grayed out for me.
–
naxaAug 22 '14 at 16:54

In my limited experience, well-formed questions get good answers in a reasonable amount of time. This alone might help confirm that regardless of opinion, SO is functioning well in the mission of filling up the space of "specific, well-written, on-topic, and objective questions".
–
jordanpgOct 6 '14 at 0:12

I agree that if some question isn't on SO, it should be. However it is not okay to let others do the search you didn't bother to do. You are always welcome to answer your own question in such a case. I do that regularly.
–
KPMApr 2 at 22:22

1

@KPM: If we're talking Google searches, then I'm not sure I agree. The Answerer is governed by their own motivations--not by the motivations of the Asker. The Answerer could want to gain rep, or use the question as a sort of FAQ, or to reinforce their own understanding. There's nothing inherently bad about being motivated by the need to save time. SO still gains a question it never had before. Everybody wins!
–
Noob SaibotApr 2 at 22:45

As moderators, we typically try not to make controversial statements; if something is accepted by the community, then we go with it; but this question is a shining example of where conventional wisdom is toxic to a sustainable community.

Effort is misused as a word; so much so that we should probably banish it from our vocabulary.

Stack Overflow was created as a repository of useful programming information; that means that if it's of use to others, it should be here, regardless of how many times the OP commits Self-flagellation.

It's not about how much effort you put it, it's about how much you respect other people's time. A common characteristic of bad questions is that they don't respect other people's time, because they:

Have little to no punctuation

terrible spelling

don't provide the essential information we need to solve the problem

don't tell us what the problem is

expect us to write their program for them

If that's how your question looks, don't be surprised if it's closed.

In your case, you asked a good question that was well formatted. Sure, someone knowledgeable about Go was able to find the answer rather quickly, but you weren't, and that's ok.

That means the problem isn't you, the problem is the the answer isn't easily discernible as such. And now you've contributed to the community by making it easier for someone else to find the answer.

Campaign to change the downvote tooltip to say "This question is not worth taking the time to answer"
–
BoltClock♦Jul 15 at 17:57

@BoltClock Or "This question does not show respect for other people's time. It would take too much effort to bring it up to our standards."
–
George Stocker♦Jul 15 at 17:59

I hope that's firmly tongue-in-cheek? Because that as a tooltip reeks of arrogance to me. And with your final 3 bullet points you don't stray that far from the top answer. Making the points suggested there (in an exaggerated manner) part of your routine, will cause you to be able to fulfil exactly those points. So it seems all you really object to is the tone of the answer?
–
BartJul 15 at 20:37

@Bart If by "Tone" you mean the entire first paragraph; bullets 1,4,5,7; and paragraphs 2 and 3, then sure. "tone".
–
George Stocker♦Jul 18 at 18:13

Some people neglected the necessary learning process when approaching new things. I think it is important to point out that, when talking about research your question, research doesn't just mean search. Yes I agree it is a correct attitude to ask when you don't know. But it does not imply that one should ask whenever they come across something they don't know.

SO is not a site meant for those who skip the first 4 chapters of a tutorial or a book. There are plenty of tutorials, documentation and blog articles about virtually any topic one can think of. Is it really a problem that requires explanation or is the person just lazy to read? This is often a basis for my up-vote or down-vote.

The only type of new questions I can think of, is either an application that requires non-conventional decisions to be made, or a question of new technology (say HTTP v3 is released yesterday).

on the other hand, writing tomes about things have become the intimidating justification of "value". On the top of that, we all may know there are industries built on making patents and some specifications deliberately long, obfuscated and hard to understand, an immoral way of protecting interests. Being succinct and concise while remaining understandable is very hard but it gives even more value to a work. In a quote attributed to Pascal, I didn't have time to write a short letter, so I wrote a long one instead.
–
naxaAug 22 '14 at 10:46

Search¹ for X:
If X found in first few results great, you're done.
Else keep digging for Y additional units of time before asking on SO, where Y can be anything from a few seconds to eternity depending on mood.

¹ Usually via your favorite search engine, but other alternatives, for instance books, may occasionally be considered.

"How about low-quality questions?" -- That's why we have search engines. These seem to work just fine for the Internet of which SO is only a subset. Plus here we have little integers next to the question signaling its usefulness (usefulness ≠ quality).
–
DanielFeb 19 at 2:50

Note that if you follow this advice you have a dramatically higher probability of being question banned due to asking a large number of very low quality questions. You're also likely to run into problems with the rate limiting in the number of questions that the site will let you ask. Oh, and that's not to mention the fact that if you're not capable of solving routine problems on your own that you're unlikely to be successful in the field; getting a lot of help from SO can only help you skate by for so long. Having said all of that, the sad reality is that the post is largely true.
–
ServyMay 31 '13 at 3:14

@Servy the sad reality is that the post is largely trueYep
–
Conrad FrixOct 7 '13 at 18:38

@Servy: "...if you're not capable of solving routine problems on your own that you're unlikely to be successful in the field." assumes that those who ask questions on SO aspire to be (proficient) programmers. It's just as likely that the asker is just looking for an answer to a specific question.
–
Noob SaibotMay 23 '14 at 22:44

1

@Servy disagree. If it took much time for one human to find or comprehend experience or aid for learning, it's just suboptimal for humanity as a species to let other humans suffer any of the unnecessary obstacles, for no other reason that they exist. You just want to encourage others to self-improve.
–
naxaAug 22 '14 at 11:18

1

@naxa First off, yes, I do want people to self-improve. I don't even see why you'd think that that was a bad thing. That said, I'm not saying that everyone should have to work out every problem they face from scratch. I'm saying that they should be doing research into existing solutions to their problems, because the vast majority of problems people face have readily accessible solutions already available to them, they merely need to search for them instead of asking someone else to google their own question for them. Doing basic research is less work than asking on SO.
–
ServyAug 22 '14 at 14:03

@Servy I'm sorry for ambiguity! With You just want I meant generic you. Also I need to be cooler when attempting to express myself on a frustrating topic. I agree with your last post. What got me was the expression if you're not capable of solving routine problems on your own thing. I suspect assumptions. What is routine, for one, may depend on skill level. In some case, a 0.5k rep user may understand better what genuinely hinders a 0.1k than a 10k+ could. I think it's natural. Too big knowledge difference may endanger empathy. A conflict zone.
–
naxaAug 22 '14 at 16:16

@naxa You seem to be under the impression that reputation is an approximation of knowledge. It's not. It's an approximation of how much you're contributed to the community by helping other community members. The 10k user is one who has extensive experience in evaluating what types of problems people can and cannot solve, because that person has spent a considerable amount of time looking at the question list of SO to see what people are actually struggling with and how.
–
ServyAug 22 '14 at 16:23

@Servy you may be right. Meant the correlation loosely. But isn't the knowledge of knowing what makes a quality question is knowledge nevertheless? Aside that, I was really unhappy with the accepted answer. Intimidation should be avoided actively. Maybe it'd take a chat to help us better understand each other.
–
naxaAug 22 '14 at 16:44

@naxa True. To be a bit more precise rep is an approximation of experience using the site, not experience or knowledge of the subject matter that the site is based around.
–
ServyAug 22 '14 at 16:48

-1 for the overall "SO is full of awful, so asking bad is OK" sentiment. Someone asking a question shouldn't be satisfied asking anything less than a good question; this answer encourages complacency.
–
AD7sixJun 26 '14 at 22:34

off: there are, even open source, search engines beside google. as was (and are) other operating systems beside windows. we still talk about OSes, we should talk about search engines as well. what about websearch for a verb?
–
naxaAug 22 '14 at 11:12