How to Get Value From StackOverflowPosted: July 20, 2010
I’ve been a regular user of StackOverflow since shortly after the beta. It helped keep me sane during a period of semi-employment. My company was bought out and I was paid to do nothing for eight months. I know this sounds great, but it wasn’t. Desperately bored and wanting to do something, I spent hours answering SO questions.
Over the course of eighteen months, I’ve learned a few useful ways to get the most out of this amazing site. I thought now would be a good time to share the best ones.
There are four common ways to get value from StackOverflow:
- Asking questions
- Finding answers by landing on SO through a Google search
- Finding answers by searching SO directly
- Answering questions
We’ll take each one in turn.
Asking questions on StackOverflow is a skill. First and foremost, questions must be answerable. The progenitors and maintainers of the site (Jeff, Joel, and The Community) created StackOverflow to contain Questions and Answers, not Flames and Opinions. That’s not to say the latter doesn’t happen, but subjective questions are generally closed quickly. I have only asked a few questions on SO when I’ve been truly stuck, and have been very satisfied with the results. Answers to well-crafted questions come quickly.
- Make questions concise and readable
- Include enough information (code!!)
- Markup code so it’s readable. Use the ` before and after code blocks, or use the little binary button.
- Include the steps you have already taken (no “How do I write Facebook? Plz send the codez!”)
- Accept Answers! Answerers do pay attention to your accept rate.
- Ask a question until you understand the problem well enough to articulate it clearly
- Ask for help with homework unless you have tried at least ten things (and include those things)
- Ask subjective questions. “Why” questions are often subjective.
- Downvote just because you disagree with an opinion, or out of retribution. No one will know you did it, but it’s baaad karma.
Finding answers on SO is easy: search Google. Over half of my technical searches lead to SO. Searching SO directly is useful too, but here’s a pro tip: when you’re at your wit’s end and you start asking a question, pay attention to the questions that pop up as you enter your question title. For some inexplicable reason, that search seems to come up with better results. It may be that your direct SO searches should be phrased Jeopardy-style, in the form of a question. I haven’t tried that yet.
Here it is- the fun part. Answering questions on SO is all about giving back to the community, helping your fellow programmer. In a divine light of altruistic service, the Oracles of StackOverflow share their wisdom with the masses.
Oh, and there’s that Reputation thing too :)
Honestly, earning rep for helping people is fun. Somehow the one without the other isn’t quite the same, regardless of the fact that the reputation has no intrinsic value whatsoever.*
So, good answers:
- Read the Entire Question. Answers that do not take the entire question into account are often wrong and will get downvoted.
- Use Markdown to your advantage. Bold is great for one-liner summaries of your answer. Italics are good for emphasis. Use bulleted lists when appropriate.
- Mark code appropriately, just as with questions.
- Make the answer easy to read by inserting gaps between thoughts, even if they’re only one or two sentences. Long paragraphs are hard to read.
- Include enough detail to answer the question without being long-winded.
- Focus on your area of expertise. You shouldn’t have to research your answer except to fill in blanks.
- Rush the answer. Getting in first doesn’t automatically mean getting the highest-voted answer. You can edit to add more detail later (but be careful not to write a novel, unless the question warrants a long answer)
- Guess. Back up your information with references. I rarely ever post an answer without a link to supporting information.
- Answer with just a link, unless that link is exactly what the poster needs.
Those are my guiding principles as I use SO. This is certainly an incomplete list, so please leave comments and I’ll update the post with the best ideas.
If you enjoy answering questions on any StackExchange site, check out StackWatcher.