DominoPivot's

A Guide to Stack Overflow

Stack Overflow is a lot more complex, rich and interesting than you might expect from just browsing it. If you’ve ever had a problem with your code and looked online for help, chances are you landed on Stack Overflow. This Q&A-style website has answers for all the entry-level problems you will face when learning programming, so it’s possible you will never need to create an account and ask your own questions. But did you know that Stack Overflow is not a forum, but a wiki?

A wiki in a forum disguise

Stack Overflow is a wiki of problems and solutions. Users can edit each other’s questions and answers once they have acquired enough experience. The goal of the website is, in theory, to provide an objective answer to all questions a programmer might have. This tends to confuse new users of the website. If you don’t understand that principle, chances are you won’t get any answers to the questions you post. That’s because wikis and forums have a very different etiquette.

The anti-forum

Most forums share a basic set of rules. A thread represents a conversation on a single topic, and can be closed when people have lost interest. Threads are presented chronologically, with people adding new posts to a thread like replies in a conversation. It’s generally frowned upon to write long posts or to post twice in a row, which can be seen as monopolizing the conversation. Starting a new conversation is better than posting on thread that hasn’t been active in a long time. Editing, if available, is only used to fix dead links and to correct typos.

Stack Overflow doesn’t follow any of these rules.

SO is not a forum. You shouldn’t be presenting yourself, acting as if you’re having a conversation and thanking people. Every one is there to seek help, so go straight to the point. SO doesn’t have threads, it has questions. Posts in a thread are answers, not replies, and are not presented chronologically. Short conversations for clarification purposes can be had in the comments of any post. Longer or more casual conversations go in the chat section, which in a way is a separate website. The concept of a double-post is absurd as nobody would reply twice to the same question. Answering to very old questions and editing old answers is actively encouraged. It is better to reply to an existing question, which is already indexed by search engines, than to ask the same question twice and make it harder to find existing answers.

What is a wiki-style question?

Knowing that SO is a wiki is key to writing good questions. Your questions should be as generic as possible so that others with the same problem can find it. People are more likely to reply if they know they’re not just helping one person. Answering should require knowledge, not effort. Questions that lead to debate and opinion-based answers are considered off-topic. All of these rules ensure SO stays an encyclopedia of problems and solutions, not a conversation platform with a history - which is what a forum boils down to.

But I didn’t call SO an encyclopedia, I called it a wiki. That’s because anyone can edit questions and answers. The editing history is kept so vandalism can be reverted. Popular questions are locked to prevent modification or answers from new users. Which brings us to our next topic: who moderates such a website?

Stack Overflow’s reputation system

As you post on SO, you gain reputation. Your reputation score is an indicator of how much you can be trusted. You gain some when people upvote your questions and answers, you lose some with downvotes. People downvote questions that are written poorly, don’t have enough information to be solved, or are otherwise not worth people’s time in their current state. Questions that follow the guidelines and are easy to read get upvoted to make them stand out, giving them a better chance of being noticed and answered.

This might remind you of various social platforms such as reddit, but there are a few key differences. The first one is that downvoting answers also makes YOU lose a bit of reputation. This encourages you to explain why you downvoted an answer so that the author can fix it. When they do, you can then remove your downvote and they’ll get their reputation back. And if an answer is plain wrong, it gets deleted and the reputation is returned to you. This reputation system is the driving force behind Stack Overflow. It’s not flawless, but it’s ingenious.

As you gain more reputation, people are more likely to pay attention to your posts. But a more important effect of reputation is that reaching certain numbers unlocks perks. The first 100 points (which you can get from 10 answer upvotes) will allow you to vote, comment, use the chat and reply to protected questions. Earning more reputation will slowly allow you to use moderation features, including editing other people’s posts, deleting posts and more. This means most Stack Overflow moderators are users who simply earned the right to moderate. SO also has an election system for making users official moderators, giving them additional perks and adding a diamond next to their username.

The Stack Exchange network

Stack Overflow’s model worked so well its creators decided to open similar sites for other topics. These sites make the Stack Exchange network. There’s a Stack Exchange site for questions about coffee, there’s one about the French language, one about music theory, about pets, about poker. When you reach a high enough amount of reputation on one site, you automatically get 100 reputation on all other sites, giving you access to all basic features over the entire network. So if you have trouble unlocking the basic features of Stack Overflow because you don’t know enough about IT to answer questions, you can try helping people with something you know better.

The dark side

All is not flowers and butterflies. Stack Overflow constantly attracts new users that come to the site for help and way fewer who join to offer help. New users don’t understand the site policies, ask about things they could solve by using a debugger, post too little or too much code, etc.

When you see the same low quality posts over and over, it becomes more than irritating trying to find questions you actually want to spend the time to answer. Some users can be a little harsh in the comments if you didn’t even take the time to search on the site for similar questions. It takes a while to get used to the site’s etiquette, and one of Stack Overflow’s biggest challenge is the fact that it’s not very welcoming. Plus, many of us have garlic breath to keep the SO vampires away. You know, those people who are just here to suck you dry of all the knowledge they need because they don’t want to pay for an IT specialist.

Hopefully my article will help make your next adventures in the Stack Exchange realm more pleasant despite the harsh learning curve, and here’s to a future where IT knowledge is accessible to everyone!