What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

I've been using StackOverflow now for about two months and one thing I've noticed is that there seem to be some commonality between answers which get more upvotes.

For example: Short, "pithy" answers tend to be favored over longer answers - even if the longer answers are well thought out and technically accurate.

I wonder, can we glean some general best practices for answering technical questions from this?

What guidelines do you follow for creating effective answers? I am particularly interested because I think that the qualities which make a popular answer on SO probably also apply to writing blog articles and technical marketing material

  • Do you use lists?
  • Analogies?
  • Humor?
  • Keep it short?
  • Take sides on tough issues? (I've noticed that some people attempt to give "fair and balanced" answers versus some answers which tend to present things in black-and-white)
share|improve this question

migrated from stackoverflow.com Aug 29 '09 at 9:45

This question came from our site for professional and enthusiast programmers.

11 Answers 11

I suspect that longer answers get fewer votes to start with because they take longer to write than short answers. I've certainly got some long answers with lots of votes, and short answers with none.

I've written my personal guide to writing good answers elsewhere... I'll see if I can find it.

EDIT: I can't find that guide at the moment. I think I'll write it up as a blog post on the train tonight so I can keep it forever, but briefly:

  • Include links to API documentation when you refer to types/methods.
  • Include code examples, preferrably short but complete ones.
  • Be accurate, including evidence for your statements - particularly if they disagree with other answers.
  • Be careful with spelling and grammar. People may well not be consciously judging you based on them, but the difference between bothering to upvote and not doing so is often quite small.
  • Don't just rip off other answers - but refer to them and build on them.
  • Be polite, both to the questioner and to other people answering.

EDIT: I've now written it up as "Answering technical questions helpfully"

share|improve this answer
1  
Wow, please don't tell me you have got an answer with no upvote! :) –  SDX2000 Feb 9 '09 at 12:39
1  
I have plenty, I think - although I can't see them any more! –  Jon Skeet Feb 9 '09 at 12:43
    
Would you deem it acceptable to collate other answers along with additional material of one's own, in order to provide a more complete answer? –  Russ Cam Feb 9 '09 at 12:51
    
Thanks Jon - I was hoping you would chime in. –  Mo Flanagan Feb 9 '09 at 13:01
    
@Russ: I think if you start grabbing chunks of text/code from other answers it would be polite to make the answer CW, but it's probably a good thing in terms of other people trying to find the best answer quickly. –  Jon Skeet Feb 9 '09 at 13:12
    
@Jon Skeet, you linked the blog post to this question, I think it would be cool to link this answer to your blog too: msmvps.com/blogs/jon_skeet/archive/2009/02/17/… –  Ric Tokyo Feb 19 '09 at 6:52

I prefer stating reasons and keeping the answer short. It's okay to take sides, but even then one should explain the rationale. Shortness is just for lack of time ;)

share|improve this answer

Short.
cause I'm not a native speaker of English ;)

share|improve this answer

Take sides on tough issues?

Generally not a good way to generate points, not that that should stop you.

share|improve this answer
    
I don't know - if there's a contentious issue with 50% of people going each way, a strong statement in favour of one side may garner many votes from both sides. Upvotes are more powerful than downvotes (rep limit aside) so there's a net gain. –  Jon Skeet Feb 9 '09 at 12:47
    
Thats what I was thinking and have observed with my own answers –  Mo Flanagan Feb 9 '09 at 12:58
    
Yeah, but I find that the tough issues are those where the majority of people don't get it or get it wrong, and saying that out loud usually isn't a net gain. Not in points anyway. –  troelskn Feb 10 '09 at 9:42

I like to write short answers but with a lot of links to further informations. They are the most helpful because the person wants to know the answer and not read a lot about it in the first place.

Often people write the solution at the bottom of long answers, which makes it tiresome to extract the needed information. I prefere to write the solution on top and then explain it, if the questioner is interested.

What I like to do too is expand my answer. I write a short answer and expand it over time.

share|improve this answer

I prefer well formatted answers with links, without typos.

share|improve this answer
    
I often find myself correcting answers without these elements. –  strager Feb 9 '09 at 13:07

Get right to the point. That way, even if you have to present lots of information, it is easy to identify the keypoints of your answer.

Other points to answer effectively are:

  • Use complete sentences and paragraphs.
  • Highlight and/or emphasize important ideas.
  • Organize your answer so it is easy to read.
  • Present links to more information and sources for your answer.

At the end, try to conclude your answer, especially if your answer has a lot of information. After all, in many cases, as with reading other types of writing, people tend to look at the first and last few sentences of an answer.

share|improve this answer
1  
@Mo Flanagan: Thanks! I hope the answer illustrates the point! –  coobird Feb 9 '09 at 13:22

I think most users (myself included) prefers a short and to the point answer. We just want to get the information we were looking for and as little else as possible, like it or not.

share|improve this answer

Often there are answers which do not really answer the question, but show other ways of doing something. Since in most cases the examples given through the question are 'constructed' examples, these answers are often useless for the problem. Nonetheless those answers get many upvotes. Just noticed this...

share|improve this answer
1  
Like this one? :) –  Georg Schölly Feb 9 '09 at 14:26

I like to use humor when answering and asking. It can be pretty off the wall and obtuse, though. Also I like to be self-effacing, and I have an exceptional foundation (no self esteem!) and years of practice at that. Being somewhat clumsy, my delivery of course still needs work.

share|improve this answer
1  
Tsk. You're so boastful about your lack of self-esteem. –  mackenir Feb 9 '09 at 13:47
    
I'm a walking Ultima 4 style moral quandry! –  peacedog Feb 9 '09 at 14:25

I prefer small answers broken up into logical parts.

If the answer refers directly to something covered by documentation, I try to link to the documentation.

If it's possible to provide a small snippet of useful example code, I try to write some to illustrate it, using any vocabulary and sample code provided by the questioner.

share|improve this answer

You must log in to answer this question.