

I asked a question because I had found no search engine results that offered a clear answer, even after searching for almost an hour. 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 a critical (and rude) comment. Should I take their advice and refrain from asking for help even when I am not able to answer my own question with a reasonable amount of effort?

Return to FAQ index

  • 52
  • 1
  • 63

A lot. Asking a question on Stack Overflow should be the last step in your process for finding an answer - if the information that you need already exists, then you very much want to find it.

You want to

  • Search. Like mad.
  • Test your code.
  • Troubleshoot.
  • Read blogs.
  • Find books.
  • Follow tutorials.

After you have reached the end of your rope with the pain of not having the answer, 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. You'll have notes you can share to help inform the folks answering as to what you need. You'll have the necessary background information to understand those answers when they arrive. You won't have to contend with a poorly-written duplicate of a better answer that already exists somewhere else on the site. And you won't get frustrated by having your question closed, and the folks reading it won't get frustrated by having to close it.


And the quoted comment in the OP was indeed rude - you should flag it. But you should also try to understand the frustration that motivated it, and strive to do better in the future. Searching and researching is a skill, mastery is achieved through practice - the abilities you gain on the road to asking questions here will serve you well long into the future.

  • Moderator Note: This has been locked while we work with the CM team to ensure its verbiage doesn't conflict with the code of conduct or "how to ask"; once that check has been done, it'll be unlocked and rolled-forward to the appropriate version. – George Stocker Aug 6 '19 at 13:25





Step 4: Ask.




  • 14
  • 4
    "...simply because you don't hold a computer science degree in the subject..." That's not the expectation. The expectation is that they not use StackOverflow as a substitute for the most basic research efforts. The OP claims to have spent an hour researching. Do you really believe that? The OP's question would be quickly answered at your step 1. – user2437417 May 13 '18 at 16:26
  • 5
    "It shouldn't matter if every other site on the Internet has the answer you're looking for..." Yes, it should. Because any author could self answer the question if so if they've done their research. That necessarily means that asking the question here would be using SO as "a crutch for the lazy," which you say is inappropriate. That's a contradiction. – jpmc26 Jun 26 '19 at 19:02
  • there is always a gap between what is meant to be, and what it really is. – Greco Jonathan Aug 26 '19 at 8:36






  • 1
    I think some people don't realize that Googling well is a real skill, one that not everybody has. – Mark Ransom Jan 10 at 23:55

From the Help Center article How do I ask a good question?, emphasis mine:



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

  • 2
  • 6
  • 37
  • 6






  • 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 someone knowledgeable about your programming language was able to find the answer rather quickly, but you weren't, 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.

  • I would say the answer to the conflict of "easy to answer" and "need to do research" is that simple questions should usually be self answered. In other words, if they're not already on the site and someone wants to contribute, they should find the answer themselves and then post it along with the question. – jpmc26 Jun 30 '19 at 2:18







  • 2
  • 2
  • 1





  • 2



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 about new technology (say HTTP v3 is released yesterday).


How much research should you do? Well, we can never known how much research you have actually done, because we have not been observing you, and we can not evaluate the truth of a claim by you that you have "searched for ages".

And the truth is, we don't really care how much research you do. Because this site is not about you specifically and not about you doing work. The site is for professional and enthusiast programmers and intends to build a useful repository of high quality questions and answers by having experts answer questions for free. If someone criticises your question because "you have not done enough research", what they really mean is that the you have not done the research expected of a professional or enthusiast and that would result in a useful high-quality question. So instead, consider how a lack of research can be incompatible with that purpose.

  • If the programming language, programming library or API your question is about has readily available (which means, on the Web), clear and complete documentation, a professional is expected to read that for answers, and an enthusiast is expected to be happy to read it. An answer that simply points you to that official documentation and quotes the relevant part of it is not a useful answer: it simply duplicates what is available elsewhere. If your question can be answered like that, you have not done enough research. However, if the official documentation is incomplete, or unclear, or out of date, an answer that points you towards the official documentation and supplements that with corrections, explanations of difficult parts, and cross references to other relevant information is useful. You can imagine that someone else could also benefit from that supplementary information.

  • If someone is looking for information, having that information scattered across multiple places in slightly different forms, of varying quality, is not useful: it is impractical to read it all, but if you don't read it all, you might miss something important. It is much more useful to have one location containing the information needed in high quality form. We therefore do not want to have duplicate questions and answers. If this site already has a question similar to yours, asking your question and getting answers to it is not useful to other people. Sure, you might be helped, but the duplication would, in the long term, make things worse for other people. So you must search this site for existing questions and answers that are relevant for your problem. If you find that this site does have similar questions, but they are not similar enough to help you, your question should include links to those other questions and you must explain in your question how your question differs from those other questions and why none of the answers provided for those other questions are useful to you.

  • Despite how it might sometimes appear, this site is not a place to get free debugging help for your programming problems. You can ask for help with debugging programs. But the question, and its potential answers, must be in a form that will be useful for others. Other people will, of course, have their own, different, programs to debug; for your debugging question to be useful to them they must be able to recognize the similarity between your problem and their problem. This means you must have done enough research to eliminate distracting extraneous details and trivial errors.

  • Remember, when you ask a question here you are asking an expert stranger to give their time to help you for free. You are not entitled to their help. As they are experts, and probably professionals, their time is probably much more valuable than yours. You must do research so you do not waste their time or abuse this generosity of strangers.

  • The format of this site, and its use of volunteers, means it is not practical for conveying all kinds of knowledge. It works best for clear questions that are each about one thing and that have few correct answers, which are short and clear. All technical questions and answers assume some level of relevant background knowledge. Answers that assume little background knowledge must be longer. Therefore questions about fundamental principles and broad abstract concepts are unsuitable for this site. You therefore must do enough research to narrow your problem down to a question about one thing, and for you to understand the fundamental principles and broad abstract concepts underlying computer programming in general and your question in particular.

In summary: you have done enough research if you can reasonably imagine that someone else searching for an answer to their question would also benefit from the answer(s) to your question.

  • FWIW, I've never interpreted "enthusiast" as someone being "happy". Just as a level between amateur and professional… :) – deceze Jun 26 '19 at 11:46
  • 1
    @deceze While I agree in those words, I also think it does apply since an enthusiast has enthusiasm, which is a form of enjoyment, e.g. happiness. Though it's a bit weird to apply "happiness" directly to enthusiast rather than "enjoyment". – TylerH Jun 26 '19 at 13:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .