Almost everything a user needs to know about Stack Overflow
27
0

Almost everything a user needs to know about Stack Overflow

Para ver a versão em inglês, clique aqui.

Vanny
18 min
27
0

Para ver a versão em Português, clique aqui.

Yes, this ctrl c and v keyboard exists and it works! Courtesy of the Stack Overflow, but can be found online as well <a href="https://drop.com/buy/stack-overflow-the-key-macropad">here</a>
Yes, this ctrl c and v keyboard exists and it works! Courtesy of the Stack Overflow, but can be found online as well here

Disclaimer: This post is old, from another blog, I just updated it. And I currently work as a Community Manager for Stack Overflow, however, this post is educational and from my point of view as a user of the site, there will be personal opinions based on my experiences as an user and I am not here representing Stack Overflow or speaking in the name of the same in any way, so I will not address internal processes, only public information on how to use SE sites. All links and information in this post can be found on the Stack Overflow and Stack Exchange pages. Some parts of this post are quotes of Stack Overflow's own help pages and are all properly linked.


If you're a developer or studying to become one, chances are you've found yourself looking for an answer to a question related to what you're currently working on and found the answer in a Stack Overflow post. But the site has its peculiarities and not everyone correctly understands the system and how to contribute effectively, asking well-formulated questions to finally receive that much-needed help.

This post is a guide to understand this platform, how to ask quality questions and receive the necessary privileges to be able to contribute to the site without headaches, after all, tasks cannot wait for your account to be unsuspended because you posted a poor formulated question out of desperation...

Stack Overflow homepage before release.
Stack Overflow homepage before release.

The story of Stack Overflow

Stack Overflow is a question-and-answer site for professional and enthusiast programmers. It was created in 2008 by Jeff Atwood and Joel Spolsky. The site features questions and answers on a wide range of topics in computer programming.

Stack Overflow was recently sold to Prosus on June 2, 2021 for $1.8 billion. Which brought a new perspective for the company's growth due to the large investment.

The site's name was chosen by a vote in April 2008 by readers of Coding Horror, which is Atwood's blog.

Due to the success of the site and the dozens of sub-communities that grew organically within the Stack Overflow site, the idea arose of creating the Stack Exchange which extends the Stack Overflow question-and-answer model to subjects other than programming and currently Stack Exchange has a family of 177 Q&A (Question & Answer) sites on various subjects, not limited to Technology. Each of these communities is built by people passionate about a specific topic.

Summary of how the site works

The site serves as a platform for users to ask questions and also answer questions, through a system of gamification and active participation, to downvote or upvote questions and answers similar to Reddit and you can edit questions and answers similar to a wiki. Stack Overflow users can earn reputation points and badges; for example, a person receives 10 reputation points for receiving an upvote on a question or an answer to a question, and can receive badges for their contributions, will explain better down below.

Users unlock new privileges with a reputation boost, such as the ability to vote, comment, and even edit other people's posts.

As of March 2021, Stack Overflow has over 14 million registered users, and has received over 21 million questions and 31 million responses.

Stack Overflow's Logic

Stack Overflow is a site for getting answers. It is not a discussion forum.

Fictitious example taken from the Stack Exchange&nbsp;<a href="https://stackexchange.com/tour">Tour page</a>
Fictitious example taken from the Stack Exchange Tour page

Good answers are voted on and make it to the top in the answer section. And in searches, the best answers appear first so they're always easy to find.

The person asking the question can mark an answer as "accepted", but accepting a question doesn't mean it's the best answer, it just means it worked for the person asking the question.

Focus on questions about a real problem you faced. Include details about what you've tried and exactly what you're trying to do.

Ask about...

  • Specific issues within each site's area of ​​expertise.
  • Actual problems or questions you have encountered.

Not all questions work well in this format. Avoid questions that are primarily opinion-based or that may lead to discussion rather than answers.

Questions that need improvement can be closed until someone fixes them.

Avoid asking about...

  • Questions that are primarily based on opinions
  • Questions with many possible answers or that would require an extremely long answer

Tags

The question is about Git, so it's been given subject-related tags for easy searching.
The question is about Git, so it's been given subject-related tags for easy searching.


All questions are tagged with their subject areas. Each one can have up to 5 tags, as a question can be related to several subjects. Click on any tag to see a list of questions with that tag, or go to the tag list to browse topics that interest you.

You can check all the tags of a specific SE site by clicking on Tags, on the left side menu.
You can check all the tags of a specific SE site by clicking on Tags, on the left side menu.

Privileges

Privileges control what you can do on Stack Overflow. You gain more privileges by increasing your reputation as you interact with the site. And these are points you get from other users for posting helpful questions and answers.

Here are some examples of the most important perks and how many reputation points you need to receive this perk, but here's the full list.

Email image
  • Create Post - 1 reps - Ask or contribute an answer
  • Participate in Meta - 5 reps - Participate in Stack Exchange discussions: bugs, feedback, governance and etc...
  • Upvote - 10 reps - You can upvote a question as something useful.
  • Flag a post - 15 reps - Bring moderators or community attention to a post when the need arises.
  • Chatting in chats - 20 reps - You will be able to chat with other members who are chatting on that site.
  • Comment - 50 reps - In addition to answering, you can enter comments in questions or answers.
  • Downvote - 125 reps - You can downvote a question or answer when they are not helpful.

The controversy I see in blogs and YouTube videos of personalities from the development world on social media always mention how toxic Stack Overflow is. But after I learned how to use the site, the rules and interactions necessary to gain privileges to contribute more, I learned that most of my frustrations were due to two important factors: The lack of knowledge about the system itself as a whole and my lack of notion of social interaction.

Gamification has its problems, as any other system has, but this is one of the most efficient in terms of community, after all, Stack Overflow receives millions of hits, both from users wanting to find answers, as users creating content on the sites and many of these they don't understand the rules and end up posting spam and low quality content (no code, bad grammar, spam...), without rules it's hard to keep a website up and people can still get something useful out of it. Honestly, I feel overwhelmed when I try to use forums that don’t have any source of moderation, its simply impossible to find what you need among all the spam and trolls... I know people, in general, can be difficult to deal with, especially online, but blaming solely on the system and few users is not fair.

We have moderators who try to take care of minor issues (duplicate posts, spam, posts violating the site's rules), but due to the amount of interactions received, it is difficult for both those who work internally and for moderators to take care of every little aspect and with in such a system, moderation is automatic and when one person's intervention is needed, it is available and used.

An example of how this can become laborious is: Being a moderator in groups or forums that don't have any system. I've been moderator of several groups on Facebook (also back when Orkut existed) and it's a full time job, it requires you to read each post and comment, you have to analyze one by one... And they don't have a signaling system, sometimes you miss something and little by little, an organized community becomes a mess, which causes members to lose interest in being a part of it, let alone collaborating.

Comments

Other privileges are unlocked as you interact with the site and help organize posts to prevent spam, and even at higher reputation levels, Stack Overflow will trust you so much that you'll have access to special moderation tools. You will be able to work together with community moderators to keep the site focused and useful.

Email image

The goal is to have the best answers for every question, so if you see questions or answers that could be improved, you can edit them. Use edits to correct errors, improve formatting, or clarify the meaning of a post.

Once you have the reputation to add comments, you can comment to ask for more information or clarify a question or answer. You can always comment on your own questions and answers. Once you earn 50 reputation, you can comment on anyone's post. And this happens, because many people confuse the comment section with the answer section and vice versa. But the answer area is designed for answers ONLY, if you have a question about the question or a specific answer, please use the comments and not the answer field, as your post will be deleted.

Reputation

Email image

The two most important activities on Stack Overflow are Ask and Reply - and none of them require any reputation!

Reputation is a rough measure of how much the community trusts you; is achieved by convincing other members that you know what you are talking about. The more reputation you earn, the more privileges you gain and the more tools you will have access to on the site - at higher privilege levels you will have access to many of the same tools available to site moderators. And this is intentional, the idea is for the community to manage itself and only have internal support, after all, who build communities are its members!

How to get reputation?

The main way to gain reputation is to ask good questions and provide useful answers. Pretty obvious. Already the votes in these posts make you gain (or sometimes lose) reputation. An addendum: votes for posts tagged as “community wiki” do not generate any reputation.

You gain reputation when:

  • Upvoted question: +10 reps
  • Upvoted answer: +10 reps
  • Your answer was marked as “accepted”: +15 (+2 for those who accepted)
  • The edit you suggested has been accepted: +2 (up to +1000 in total per user)
  • Bounty awarded to your answer: + total bounty bounty amount
  • One of your answers automatically receives a reward: + half the reward amount
  • Site Membership Bonus: +100 on each site when you create a profile on other Stack Exchange sites

You can earn a maximum of 200 reputation votes per day by combining upvotes, downvotes and suggested edits. But bounty awards, accepted answers, and membership bonuses are not subject to this daily reputation cap.

If you are an experienced user of the Stack Exchange network with 200 or more reputation on at least one of the sites, you will receive such an initial membership bonus of +100 to overcome the basic restrictions for new users on the other sites. This will happen automatically on all current Stack Exchange sites where you have an account and on any other Stack Exchange sites at login time.

You lose reputation when:

  • Your question was rejected: -2
  • Your answer was rejected: -2
  • You vote against an answer: -1
  • You put a bounty on a question: - total bounty amount
  • One of your posts receives 6 spam or flagged as offensive: −100

Points to consider:

  • All users start with 1 point of reputation, and reputation can never drop below 1.
  • Accepting your own answer does not increase your reputation.
  • Deleted posts do not affect the reputation of voters, authors or anyone else involved, in most cases.
  • If a user reverses a vote, the corresponding reputation loss or gain will also be reversed.
  • Reversal of votes as a result of voter fraud will also return lost or gained reputation.

Badges

In addition to earning a reputation for your questions and answers, you receive badges for being an especially helpful member. Badges appear on your profile page, flair and your posts. There are several different badges and some sites have their own badges. Badges are separated by types: Badges for questions, answers, moderation, participation and etc...

Some Examples of Badges for Questions
Some Examples of Badges for Questions
Some examples of badges for answers
Some examples of badges for answers

What is the Meta thing?

I know that with the buzz of the Facebook group changing its name to Meta, it ended up confusing a lot of people, and the word "Meta" became a buzzword.

Meta is a word that, like so many other things, we should thank the ancient Greeks for. When they used it, meta meant "beyond", "after" or "behind". The sense of “beyond” the goal still lingers in words like metaphysics, etc.

So with this same line of thinking, we have the "meta" sites, the most used is the Meta Stack Exchange, which is the part of the site where users discuss the operation and policies of the Stack Exchange instead of discussing the site's topic in itself. It is separated from the main Q&A to reduce noise, providing a legitimate space for people to ask how and why this site works the way it does.

Each of the 177 sites has its own Meta site, that is, any problems, questions related to the functioning and rules of the community, you can ask on the site designated as a meta for that community. To learn more, you can continue reading about it here.

I haven’t  find a list of all the meta sites, but normally you can find them as the examples below:

Stack Overflow EN: https://meta.stackoverflow.com/

Stack Overflow PT: https://pt.meta.stackoverflow.com/

Stack Overflow UK: https://ru.meta.stackoverflow.com/

Stack Overflow JA: https://ja.meta.stackoverflow.com/

Stack Overflow ES: https://es.meta.stackoverflow.com/

And how is a new community formed?

This was a curiosity of mine, because I have this spirit of starting things and I have already thought of thousands of ideas for communities. But it's a lot easier saying than going through the whole process of starting a community and I'll explain it briefly.

There is a system apart from Stack Overflow, which I like to affectionately call the "incubator", better known as Area 51.

Email image

Area 51 is the Stack Exchange Network test zone. It's where groups of experts come together to create new Q&A sites that work just like Stack Overflow. To read more about the entire proposal process, testing phase and what needs to be achieved in terms of goals for the site to become an official site on the Stack Exchange, click here.

Copyright (Copyright)

A question that always pops up in everyone is when giving the famous ctrl+c & ctrl+v in some piece of code you found on the internet: Would you be sued for stealing someone's intellectual property?

As snippets are (generally) copyrighted, this raises the question of which license would apply.

There is a post explaining how to share runnable snippets <a href="https://stackoverflow.blog/2014/09/16/introducing-runnable-javascript-css-and-html-code-snippets/">here</a>.
There is a post explaining how to share runnable snippets here.

Copyright exists automatically whenever someone creates a “work of authorship”. This includes software. The only requirement is that the work is the author's intellectual creation, that is, there was some creativity involved in the work.

For software, this is almost always the case. A programmer has to make many choices when writing software, from choosing the program flow to dividing functionality into functions and modules, and these choices provide the creativity needed.

For snippets, this may be different. A snippet can be a very short and simple solution. For example, a snippet might show you how to call a specific API. This would not be creative enough as it is "merely" explaining or demonstrating a certain solution.

As a general rule, if two programmers provide substantially the same snippet of code, the code is not creative under copyright law. This can happen if the code is too short, but longer code for a highly constrained environment (e.g. embedded software that needs to call a series of functions and perform certain well-defined actions between them) might also not be copyrighted by this reason.

However, a snippet with more than one or two lines of standard function calls would normally be creative enough for copyright. Already at this level, the programmer must make creative choices. There is an often cited rule of thumb stating that anything less than ten lines of code is "trivial" and therefore not copyrighted, but this rule is not supported by any copyright law that I am aware of.

If a snippet is copyrighted, it can only be used with a license. This is a problem with the Stack Overflow code, as few contributors explicitly add copyright or license statements to their contributions.

Already in the guidelines of the site itself, they say:

We believe in our core mission of "making the internet a better place to get expert answers to your questions". We decided early on that all user-generated content on the Stack Exchange Network would be returned to the community under a Creative Commons license. We created the Stack Exchange API as a way to enable users to write applications that use the Stack Exchange Network in new and creative ways. With open access to use (and reuse) our services, it is important that users are not confused by our relationship with the people who use our content and services.

So, in a nutshell, you are allowed to use the Stack Exchange sites inside-and-out, from content to site design, of course, as a cordial manner, you must give proper credit.

And when I said content and design, I mean it literally, in addition to the Exchange API, you can create queries against the Stack Exchange database using Data Explore.

Email image

And you also have access to the design system too!

Stacks provides everything you need to quickly design, create and ship coherent experiences across Stack Overflow, from the brand and product itself, to how we email and write texts.

Email image

And the public repository on Github:

Email image

Products

Is there an internal Stack Overflow focused on how to fix Stack Overflow if it goes down?

This was one of the questions I received the most since I started working there, so I think I can even take advantage of it and cite a product that Stack Exchange, under Stack Overflow Solutions, developed, which is Teams.

Email image

No, it's not like the Teams messenger, it's more like a Stack Overflow, only for your team... You have an environment to create questions and receive answers limited only to the members of that team. In the free option you can have up to 50 members.

Created this Teams just show how it looks like.
Created this Teams just show how it looks like.

So I guess I don't need to say anything else, of course use Stack Overflow to troubleshoot Stack Overflow. An exercise that I have always had and that is very strong inside SE is to share knowledge by documenting the processes and asking intelligent questions, in this way the information is immortalized and we always update when necessary, to always keep the information fresh and useful. As we also try to maintain on the public Stack Exchange sites, it's an outside-in culture.

With that you also have a Stack Overflow plugin that is for Microsoft Teams.

But there is also the plugin for Slack.&nbsp;
But there is also the plugin for Slack. 

And I'm sure a lot of people didn't even know about the existence of these products. I think more teams should use it for the simplicity, lightness and familiarity of the products. At least for me, which I've been used to since before college and I know by a fact that a lot of other developers consider SO a tool on a daily basis.

Email image

Another product that exists is Collectives, which are technically small communities within a larger site. For example, we have Collectives for the language Go, GitLab, Google Cloud and Intel. And a differential that I think is cool, is to propose articles.

Email image

Collectives is a new set of spaces on Stack Overflow where content related to certain technical languages, products or services can be grouped. It's a place for users who regularly interact with this content to collaborate and for organizations that help build or maintain this technology to share their knowledge.
With this release, we are creating a new type of user specific to Collectives: Recognized members are either employees of an organization, part of its Developer Recognition Program, or users selected by the organization in the Stack Overflow community who are knowledgeable about the organization's technologies. These users will have an ID badge when they post/edit a question, answer or write an Article that is associated with a collective through their tags. They will also have the ability to recommend an existing response within their Collective, highlighting that from their perspective this is a recommended way to resolve the issue.

Recognized members of a collective will also have the ability to contribute a new type of content to our network. They can create longer-form content within a collective we call an Article. We first introduced this feature in our Teams product last year, where we saw strong adoption and usage. Articles give recognized members the opportunity to provide deeper knowledge and insights through how-to guides, knowledge articles or announcements.

These products themselves are still new, but hopefully by spreading the word, I can spark community interest in using Collectives and bring more companies closer to the users of their technologies.

I see it as an opportunity even for those who already contribute and would like to keep their career as a writer focused on tech articles, DevRels, future Community Managers and already establishing their careers on platforms like this, I can see the value within communities and recognition from its members and it encourages me to talk about the potential of it all, especially from an user perspective.

I invite you to join one of the Collectives and, of course, contribute and be part of the Stack Exchange communities. If it's any advice, a lot of what I've learned, both technical knowledge and soft skills, came from collaborating in communities. So keep it in mind! ;)


I could still write a good few more kilometers, but I'll leave it for other posts, if I think it's necessary to explain other things that were maybe left out. In the meantime, stick with some links that can help you progress your engagement and contribution. I hope this post was useful and that it clarified some doubts and difficulties.

Useful links: