Stackoverflow is the developer's temple, so to speak. When you get stuck, you first copy the error you got, paste it to Google, then click on the top Stackoverflow result... and this simple process magically solves most of your problems.
However, as in any temple, some strict rules apply here.
No pain, no gain
I've been coding for 5 years and I've started a total of 9 threads on Stackoverflow. 6 of the issues were solved by someone else, 2 of them by myself and only 1 remained unsolved. But in the meantime, I've probably browsed hundreds of threads and thousands of responses. At times, I attempted to start a new thread but while I was editing and detailing my question, the solution appeared by itself.
That's the thing about Stackoverflow: If you can construct your question in a way most other users do, you probably won't need to ask at all because you will put so much mental effort into your question that the effort will be enough to resolve the issue.
So what do all these statistics tell us? The answer to your question or the solution to your problem is 99% likely there.
All you need to do is search... relentlessly. If you can't still find it, consider the following:
- Although the answers with the most upvotes are generally accepted as solutions, occasionally these two can be different from each other. Don't just read the top answer and skip the thread, check out at least a few answers.
- Sometimes the information you need is not in the answers, but in the comments under the answers. Don't forget to read them too.
- If you're looking for some brief tutorial, you may be using the wrong words. As you know, the site is in English, and whatever you're trying to do, research the technical terms for the English equivalent and try searching again.
Things to consider when asking questions
You have been struggling with a problem for hours, you spent at least 1 day doing research, but in vain. You could neither solve by yourself nor find a solution. Then, let's start a thread on Stackoverflow.
I recommend that you start by buttoning up your jacket, because if you want to stand out among the millions of threads here and get some answers, you need to take it really seriously — especially at the beginning when your rating is '0'.
- "If I had clicked on this thread, would I have read this question to the end? Even if I had, would I have taken the trouble to reply?" Ask yourself these in every line, and if your answer is 'no', better not start that thread at all.
- Pay attention to punctuation, your grammar, the clarity and simplicity and clearness of your language.
- Write as concise as possible. Do not go into any unnecessary (specific to your project, not reflecting the general) detail, but include every detail that your savior may need.
- Use the tools in the question box correctly. Crucially, never write the code sample in plain text. It should look in the same format in your question as it does in your own project.
How to increase your reputation
The points under your username are quite valuable, because it is quite difficult to get them. Plus, the probability of your questions being answered increases with your reputation.
Your reputation is determined by the badges you receive in three categories: bronze, silver and gold. These badges come naturally as you use and interact with the site frequently, but you can still accelerate the process:
- For bronze badges
- Fill in your user profile.
- Leave comments and replies.
- Ask a question and then edit it.
- Vote for other questions and answers.
- Mark as 'correct' if the received answer is correct.
- If you solved your question yourself, answer it and mark it as 'solved'.
- Ask proper questions.
- Vote a lot (at least 300 votes required).
- Visit Stackoverflow daily (30 consecutive days required).
- Visit Stackoverflow daily (100 days in a row required).
- Vote on questions, not just answers (minimum 600 question votes required).