Home > Internet, Social Networks > The Helpful Web: Stack Overflow

The Helpful Web: Stack Overflow

As a side project, I’m learning Python. After looking at a few options, I’m using the “Learn Python the Hard Way” book and supplementing that with “Think Like a Computer Scientist” and various other materials that I find on the internet. There will be more on the blog about the learning process, hopefully a test project soon, and what I’ve learned as I’ve learned the language.

But, for now, I want to talk about Stack Overflow.

Stack Overflow is an online community where people collaborate to ask and answer questions about programming. Specialists and amateurs interact freely (obviously, the amateurs are doing most of the asking and the specialists take it from there). It is by far the most responsive, attentive, knowledgeable and helpful community I’ve seen on the web. Programming is difficult and veteran programmers get a bum rap for being know-it-alls and not suffering fools well. My experience on Stack Overflow has been exactly the opposite.

Every question I’ve asked has been answered with 5 minutes. And every question I’ve asked has been answered multiple times with detailed explanations. Every time I’ve asked a question, I’ve been able to move on in my learning because someone else was able to help me out. Anyone who has attempting to learn a language (or anything) on their own, can appreciate how beneficial it is to be able to receive a correct answer right away. The psychic value of preventing your wheels from spinning is invaluable.

I’m fascinated as to why this community is so efficient and well-designed. Is it because the current state of programming is so collaborative? Is there something about the UI/UX of the site? Is there gamification?

Regardless of what it is, I hope that other people copy it (Stack Overflow has, in fact, expanded beyond programming and to other areas – see Stack Exchange) because one of my persona theses about the current incarnation of the web is that it’s best when it works to allow people to use their skills to help each other.