Stack Overflow

A Case Against Stack Overflow

Stack Overflow (SO) is a fantastic resource in many ways. It provides countless answers to common problems and often will alleviate the terrible anguish and frustration that every programmer encounters at one point or another. It has produced a community of experts and dedicated individuals that maintain order and high-quality content. SO is the Wikipedia of practical programming knowledge.

However, SO is not a panacea for all challenges in programming, and at times promotes laziness. I often encounter questions like “What does X mean in Y?”, when Y is something heavily documented, like Python or htop. I’ve even seen answers that copy directly from the said documentation without any citation or mention of it. For beginner programmers, relying on these types of questions/answers seems reasonable. But for an experienced programmer who is familiar with man pages, language references, etc., looking up “easily answerable” questions on SO is lazy! Being able to efficiently use original documentation is a powerful skill. From it, one can often glean more in-depth information than from a simple SO answer, and often develop a better intuition for fundamentals.

Of course there are some caveats to this policy:

  • some Ys have poor documentation
  • some SO answers are profound and enlightening
  • sometimes you’re pressed for time

Nonetheless, there is a transition that every programmer has, from novice to journeyman and beyond. It is important that one understands both the value and the limitations of SO, and avoid overly relying on the resource. Next time you are looking at a list of Google results and have the choice to pick between an SO link and the original documentation, temper the perfunctory inclination to choose SO.

Published 14 Jan 2018