|Ned Batchelder : Blog | Code | Text | Site|
Bad answers on Stack Overflow
» Home : Blog : July 2012
I answer questions on Stack Overflow a lot, and also in the #python IRC channel. There's a common dynamic in both environments, I'll describe it by giving aliases to three participants:
At this point, the conversation can go a few different ways, sometimes all at once. Popular next steps are:
All this came to mind again a few days ago when three questions and answers fitting this description appeared on Stack Overflow in quick succession:
There's really no excuse for giving simplisitic, bad, but technically correct answers to mis-guided questions. I understand the desire to give an answer, to be the helpful knowledgable one. And Stack Overflow in particular inadvertently rewards speed.
But answers like these only cause damage. At the very least, wrap them well with a thick layer of bubble-wrap in the form of cautions, caveats, pointers to likely better ways to solve the problem, and so on.
If the questioner really had one of the unusual circumstances that meant they needed a literal answer to their oddball question, they tend to mention it up front. In my experience, doubting questions like these pays off much more often than it turns out to have falsely accused a curious expert of being a newb, though of course that sometimes happens.
The #python IRC channel on freenode has a bit of a reputation for being full of grizzled experts who can't answer any question no matter how straightforward without grilling the questioner about their motives and needs. I myself have argued for less of this, and being more trusting of the questioner. (Actually, as I'm editing this, I just answered a question in #python in a way that other grizzleds didn't like!)
But if you do this kind of answering long enough, you will learn to recognize the misguided question, and push back on it. I don't feel at all bad about downvoting the answers and calling people on it.
A common failing among GrizzledExperts, though, is being too blunt. When a beginner asks a question, it's almost never useful for them to get this in response:
That's too short, too blunt, and is interpreted (perhaps correctly!) as, "you are wrong," setting up a conflict right from the start. More words always help:
Helping intelligent but lost beginners is not easy, it requires a healthy mix of technical know-how and interpersonal skills. The GrizzledExpert definitely has the first, but often not enough of the second.