Quase tudo o que um usuário precisa saber sobre a Stack Overflow
52
0

Quase tudo o que um usuário precisa saber sobre a Stack Overflow

Uma tour de como contribuir efetivamente na Stack Overflow e não se sentir perdido.

Vanny
19 min
52
0

To read in English, click here.

Sim, esse tecladinho de ctrl c e v existe e funciona! Cortesia da empresa, mas pode ser encontrado online também <a href="https://drop.com/buy/stack-overflow-the-key-macropad">aqui</a>
Sim, esse tecladinho de ctrl c e v existe e funciona! Cortesia da empresa, mas pode ser encontrado online também aqui

Aviso: Este post é antigo, de outro blog, apenas o atualizei com mais informações. E atualmente trabalho como Community Manager na Stack Overflow, no entanto, este post é educacional e do meu ponto de vista como usuário do site, haverá opiniões pessoais baseadas em minhas experiências como usuário e não estou aqui representando o Stack Exchange ou falando em nome do mesmo, por isso não abordarei processos internos, apenas informações públicas de como utilizar os sites do SE. Todos os links e informações deste post podem ser encontrados nas páginas Stack Overflow e Stack Exchange. Algumas partes desta postagem são citações e traduções das próprias páginas de ajuda do Stack Overflow e estão todas devidamente linkadas.


Se você é desenvolvedor ou está estudando para se tornar um, grandes chances de que você já se encontrou procurando alguma resposta para alguma dúvida relacionada ao o que você está trabalhando no momento e encontrou a resposta em algum post na Stack Overflow. Mas o site tem suas peculiaridades e nem todos entendem corretamente o sistema e como contribuir de forma eficaz, fazendo perguntas fundadas para enfim receber aquela ajuda tão necessária. 

Este post é um guia para entender essa plataforma, como fazer perguntas de qualidade e receber os privilégios necessários para poder contribuir com o site sem dores de cabeça, afinal, a demanda não pode esperar que tirem a suspensão da sua conta por postar pergunta de baixa qualidade no desespero...

Página inicial da Stack Overflow antes do lançamento.
Página inicial da Stack Overflow antes do lançamento.

A história da Stack Overflow

Stack Overflow é um site de perguntas e respostas para programadores profissionais e entusiastas. Foi criada em 2008 por Jeff Atwood e Joel Spolsky. O site apresenta perguntas e respostas sobre uma ampla gama de tópicos em programação de computadores.

Recentemente a Stack Overflow foi vendida para a Prosus em 2 de junho de 2021 por US $ 1,8 bilhão. O que trouxe uma nova perspectiva de crescimento da empresa devido ao grande investimento.

O nome do site foi escolhido por votação em abril de 2008 pelos leitores do Coding Horror, que é o blog do Atwood.

Devido ao sucesso do site e pelas dezenas de sub-comunidades que foram crescendo organicamente dentro do site Stack Overflow, surgiu a idéia de criar a Stack Exchange que estende o modelo de perguntas e respostas do Stack Overflow para outros assuntos além de programação e atualmente a Stack Exchange tem uma família de 177 sites de Q&A (Question & Answer) de assuntos variados, não se limitando a área de Tecnologia. Cada uma dessas comunidades é construída por pessoas apaixonadas por um tópico específico.

Resumo de como o site funciona

O site serve como uma plataforma para os usuários fazerem perguntas e também responder perguntas, por meio de um sistema de gamificação e participação ativa, para votar perguntas e respostas para cima (upvote) ou para baixo (downvote) semelhante ao Reddit e você pode editar perguntas e respostas de forma semelhante a um wiki. Os usuários do Stack Overflow podem ganhar pontos de reputação (reputation) e "emblemas" (badges); por exemplo, uma pessoa recebe 10 pontos de reputação por receber um upvote em uma pergunta ou uma resposta a uma pergunta, e pode receber badges por suas contribuições. Os usuários desbloqueiam novos privilégios com um aumento na reputação, como a capacidade de votar, comentar e até mesmo editar as postagens de outras pessoas. 

Em março de 2021, o Stack Overflow tinha mais de 14 milhões de usuários registrados, e recebeu mais de 21 milhões de perguntas e 31 milhões de respostas. 

Lógica do sistema da Stack Overflow

 A Stack Overflow é um site é para obter respostas. Não é um fórum de discussão

Exemplo ficticio tirado da página de <a href="https://stackexchange.com/tour">Tour</a> da Stack Exchange
Exemplo ficticio tirado da página de Tour da Stack Exchange

Boas respostas são votadas e chegam ao topo, na sessão de respostas. E nas buscas, as melhores respostas aparecem primeiro para que sejam sempre fáceis de encontrar.

A pessoa que fez a pergunta pode marcar uma resposta como "aceita", mas aceitar uma pergunta não significa que essa seja a melhor resposta, apenas significa que funcionou para a pessoa que fez a pergunta.

Concentre-se nas perguntas sobre um problema real que você enfrentou. Inclua detalhes sobre o que você tentou e exatamente o que está tentando fazer.

Pergunte sobre...

  • Questões específicas dentro da área de especialização de cada site.
  • Problemas ou dúvidas reais que você encontrou.

Nem todas as perguntas funcionam bem nesse formato. Evite perguntas baseadas principalmente em opiniões ou que possam gerar uma discussão em vez de respostas.

As perguntas que precisam ser melhoradas podem ser fechadas até que alguém as conserte.

Evite perguntar sobre...

  • Perguntas que se baseiam principalmente em opiniões
  • Perguntas com muitas respostas possíveis ou que exigiriam uma resposta extremamente longa

Tags

A pergunta é sobre Git, então recebeu tags relacionadas ao assunto para fácil busca.
A pergunta é sobre Git, então recebeu tags relacionadas ao assunto para fácil busca.

Todas as questões são marcadas com suas áreas temáticas. Cada um pode ter até 5 tags, pois uma pergunta pode estar relacionada a diversos assuntos. Clique em qualquer tag para ver uma lista de perguntas com essa tag ou vá para a lista de tags para navegar pelos tópicos de seu interesse.

Você pode conferir todas as tags de um site específico do SE clicando em Tags, no menu do lado esquerdo.
Você pode conferir todas as tags de um site específico do SE clicando em Tags, no menu do lado esquerdo.

Privilégios

Os privilégios controlam o que você pode fazer na Stack Overflow. Você ganha mais privilégios aumentando sua reputação de acordo com a sua interação no site. E esses são pontos que você recebe de outros usuários por postar perguntas e respostas úteis.

Aqui são alguns exemplos dos privilégios mais importantes e quantos pontos de reputação você precisa para receber esse privilégio, mas aqui tem a lista completa

Email image
  • Criar Post - 1 reps - Perguntar ou contribuir com uma resposta
  • Participar no Meta - 5 reps - Participar de discussões sobre a Stack Exchange: bugs, feedback, governança e etc... 
  • Upvote - 10 reps - Você pode votar numa questão como algo útil.
  • Sinalizar um post - 15 reps - Trazer atenção dos moderadores ou comunidade sobre um post quando existir a necessidade.
  • Conversar nos chats - 20 reps - Você poderá conversar com outros membros que estão no chat daquele site.
  • Comentar - 50 reps - Além de responder, você poderá inserir comentários em perguntas ou respostas.
  • Downvote - 125 reps - Você pode votar negativamente em uma pergunta ou resposta quando elas não são úteis.

A polêmica que vejo em blogs e vídeos no YouTube de personalidades do mundo do desenvolvimento nas redes sociais sempre citam o quanto a Stack Overflow é um site tóxico. Mas depois que eu aprendi a utilizar o site, as regras e interações necessárias para alcançar privilégios de contribuir more, eu aprendi que a maioria das minhas frustrações eram devido a dois fatores importantes: A falta de conhecimento sobre o sistema como um todo e minha falta de noção sobre interação social.

Gamificações tem seus problemas, como qualquer outro sistema tem, mas esse é um dos mais eficientes quando em termos de comunidade, afinal, a Stack Overflow recebe milhões de acessos, tanto de usuários querendo encontrar respostas, como usuários criando conteúdo nos sites e muitos desses não entendem as regras e acabam postando spam e conteúdo de baixa qualidade (sem código, gramática péssima, spam...), sem regras fica difícil manter um site em pé e que as pessoas ainda consigam tirar algo de útil dele. Sinceramente, me sinto afobada quando tento usar fóruns que não têm nenhuma ferramenta de moderação, é simplesmente impossível encontrar o que você precisa entre todos os spams e trolls... Eu sei que as pessoas, em geral, podem ser difíceis de lidar, especialmente online, mas culpar apenas o sistema e alguns poucos usuários não é justo.

Temos moderadores que tentam cuidar de problemas menores (posts duplicados, spam, posts violando as regras do site), mas devido ao tanto de interações recebidos, fica difícil tanto para quem trabalha internamente, quanto para os moderadores cuidar de cada pequeno aspecto e com um sistema desses, a moderação é automática e quando a intervenção de uma pessoa é necessária, ela está disponível e é usada.

Um exemplo de como isso pode se tornar trabalhoso é: Ser moderador em grupos ou fóruns que não tem nenhum sistema. Eu já fui moderadora de diversos grupos no Facebook (e também Orkut, quando ainda existia) e é um trabalho integral, exige que você tenha que ler cada post e comentário, tem que analizar um por um... E eles não tem sistema de sinalização, as vezes você deixa algo escapar e de pouco em pouco, uma comunidade organizada se torna uma bagunça, o que leva os membros a perderem o interesse em fazer parte daquilo e muito menos colaborar.

Comentários

Outros privilégios são desbloqueados a medida que você interage com o site e colabora na organização dos posts para evitar spam, e até em níveis mais altos de reputação, a Stack Overflow confiará tanto em você, que você terá acesso a ferramentas especiais de moderação. Você poderá trabalhar em conjunto com moderadores da comunidade para manter o site focado e útil. 

Email image

O objetivo é ter as melhores respostas para todas as perguntas, então se você ver perguntas ou respostas que podem ser melhoradas, você pode editá-las. Use as edições para corrigir erros, melhorar a formatação ou esclarecer o significado de uma postagem.

Uma vez que você tiver a reputação necessária para adicionar comentários, você pode comentar para pedir mais informações ou esclarecer uma pergunta ou resposta. Você sempre pode comentar sobre suas próprias perguntas e respostas. Depois de ganhar 50 de reputação, você pode comentar na postagem de qualquer pessoa. E isso acontece, pois muita gente confunde a sessão de comentários com sessão de respostas e vice e versa. Mas a área de respostas é designada para APENAS respostas, se você tem uma dúvida sobre a pergunta ou uma resposta especifica, use os comentários e não o campo de resposta, pois seu post será excluído. 

Reputação

Email image

As duas atividades mais importantes no Stack Overflow são Perguntar Responder - e nenhuma delas requer qualquer reputação!

A reputação é uma medida aproximada de quanto a comunidade confia em você; é conquistado ao convencer outros membros de que você sabe do que está falando. Quanto mais reputação você ganha, mais privilégios você ganha e mais ferramentas você terá acesso no site - nos níveis de privilégio mais altos, você terá acesso a muitas das mesmas ferramentas disponíveis para os moderadores do site. E isso é intencional,  a idéia é a comunidade se administrar e só ter o suporte interno, afinal, quem constrói as comunidades são os membros dela.

Como conseguir reputação?

A principal forma de ganhar reputação é fazer boas perguntas e dar respostas úteis. Bem óbvio. Já os votos nessas postagens fazem com que você ganhe (ou às vezes perca) reputação. Um adendo: os votos para as postagens marcadas como “community wiki” não geram nenhuma reputação.

Você ganha reputação quando:

  • Questão upvoted: +10 reps
  • Resposta upvoted: +10 reps
  • Sua resposta foi marcada como “aceita”: +15 (+2 para quem aceitou)
  • A edição que você sugeriu foi aceita: +2 (até +1000 no total por usuário)
  • Bounty concedida à sua resposta: + valor total da recompensa do bounty
  • Uma de suas respostas recebe uma recompensa automaticamente: + metade do valor da recompensa 
  • Bônus de associação de site: +100 em cada site quando você cria um perfil em outros sites da Stack Exchange

Você pode ganhar no máximo 200 votos de reputação por dia com a combinação de votos positivos, votos negativos e edições sugeridas. Mas os prêmios de recompensa, as respostas aceitas e os bônus de associação não estão sujeitos a esse limite diário de reputação.

Se você for um usuário experiente da rede Stack Exchange com 200 ou mais reputação em pelo menos um dos sites, você receberá o tal do bônus de associação inicial de +100 para superar as restrições básicas de novos usuários nos outros sites. Isso acontecerá automaticamente em todos os sites atuais do Stack Exchange em que você tenha uma conta e em qualquer outro site do Stack Exchange no momento do login.

Você perde reputação quando:

  • Sua pergunta foi rejeitada: -2
  • Sua resposta foi rejeitada: -2
  • Você votar contra uma resposta: -1
  • Você coloca uma recompensa em uma pergunta: - valor total da recompensa
  • Uma de suas postagens recebe 6 spam ou sinalizada como ofensivo: −100

Pontos a se considerar:

  • Todos os usuários começam com 1 ponto de reputação, e a reputação nunca pode cair abaixo de 1.
  • Aceitar sua própria resposta não aumenta sua reputação.
  • As postagens excluídas não afetam a reputação dos eleitores, autores ou qualquer outra pessoa envolvida, na maioria dos casos.
  • Se um usuário reverter um voto, a perda ou ganho de reputação correspondente também será revertido.
  • A reversão de votos como resultado de fraude eleitoral também retornará a reputação perdida ou ganha.

Badges

Além de ganhar reputação com suas perguntas e respostas, você recebe distintivos por ser um membro especialmente útil. Os badges aparecem em sua página de perfil, flair e suas postagens. Existem diversos badges diferentes e alguns sites tem seus próprios badges. Os badges são separados por tipos: Badges de perguntas, respostas, moderação, participação e etc...

Alguns exemplos de Badges para perguntas
Alguns exemplos de Badges para perguntas
Alguns exemplos de badges para respostas
Alguns exemplos de badges para respostas

O que é o tal do Meta?

Eu sei que com o burburinho do grupo Facebook trocando seu nome para Meta acabou confundindo muitas pessoas, e a palavra "Meta" virou um buzzword.

Meta é uma palavra que, como tantas outras coisas, devemos agradecer aos antigos gregos. Quando eles o usavam, meta significava “além”, “depois” ou “atrás”. O sentido de “além” de meta ainda perdura em palavras como metafísica, etc.

Então com essa mesma linha de raciocínio, temos os sites "meta", o mais utilizado é o Meta Stack Exchange, que é a parte do site onde os usuários discutem o funcionamento e as políticas da Stack Exchange ao invés de discutir a o tópico do site em si. Ele é separado das perguntas e respostas principais para reduzir o ruído, fornecendo um espaço legítimo para as pessoas perguntarem como e por que esse site funciona da maneira que funciona.

Cada um dos 177 sites tem seu próprio site Meta, ou seja, qualquer problema, dúvida relacionados ao funcionamento e regras da comunidade, você pode perguntar no site designado como meta para aquela comunidade. Para saber mais, você pode continuar lendo a respeito aqui.

Eu não achei uma lista de todos os sites metas, mas você consegue achar eles como nos exemplos abaixo:

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

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

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

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

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

E como uma comunidade nova é formada?

Essa era uma curiosidade minha, pois eu tenho esse espirito de iniciar as coisas e já pensei em milhares de idéias para comunidades. Mas é muito mais fácil do que executar todo o processo de se iniciar uma comunidade na Stack Exchange e vou explicar brevemente. 

Existe um sistema a parte da Stack Overflow, onde eu gosto de chamar carinhosamente de "incubadora", mais conhecida como Area 51.

Email image

A área 51 é a zona de teste da Stack Exchange Network. É onde grupos de especialistas se reúnem para criar novos sites de perguntas e respostas que funcionam exatamente como o Stack Overflow. Para ler mais sobre todo o processo de proposta, fase de teste e o que é necessário atingir em metas para que o site seja graduado a site oficial na Stack Exchange, click aqui.

Copyright (Direitos autorais)

Uma pergunta sempre pinta em todo mundo é na hora de dar o famoso ctrl+c & ctrl+v em algum pedaço de código que você achou na internet: Será se você seria processado por furtar propriedade intelectual de alguém?

Como os snippets são (geralmente) protegidos por direitos autorais, isso levanta a questão de qual licença seria aplicável.

Há um post explicando como compartilhar trechos executáveis <a href="https://stackoverflow.blog/2014/09/16/introducing-runnable-javascript-css-and-html-code-snippets/">aqui</a>.
Há um post explicando como compartilhar trechos executáveis aqui.

O copyright existe automaticamente sempre que alguém cria uma “obra de autoria”. Isso inclui software. O único requisito é que a obra seja criação intelectual do autor, ou seja, havia alguma criatividade envolvida na obra.

Para software, quase sempre é esse o caso. Um programador precisa fazer muitas escolhas ao escrever um software, desde a escolha do fluxo do programa até a divisão da funcionalidade em funções e módulos, e essas escolhas fornecem a criatividade necessária.

Para trechos, isso pode ser diferente. Um snippet pode ser uma solução muito curta e simples. Por exemplo, um snippet pode mostrar como chamar uma API específica. Isso não seria criativo o suficiente, pois é "meramente" explicar ou demonstrar uma determinada solução.

Como regra geral, se dois programadores fornecerem substancialmente o mesmo trecho de código, o código não é criativo sob a lei de direitos autorais. Isso pode acontecer se o código for muito curto, mas um código mais longo para um ambiente altamente restrito (por exemplo, software incorporado que precisa chamar uma série de funções e executar determinadas ações bem definidas entre elas) também pode não ter direitos autorais por este motivo.

No entanto, um snippet com mais de uma ou duas linhas de chamadas de função padrão normalmente seria criativo o suficiente para direitos autorais. Já nesse nível, o programador deve fazer escolhas criativas. Existe uma regra prática freqüentemente citada afirmando que qualquer coisa menor que dez linhas de código é "trivial" e, portanto, não está protegida por direitos autorais, mas essa regra não é suportada por nenhuma lei de direitos autorais que eu conheça.

Se um snippet estiver protegido por direitos autorais, ele só pode ser usado com uma licença. Este é um problema com o código Stack Overflow, já que poucos contribuidores explicitamente adicionam direitos autorais ou declarações de licença às suas contribuições.

Já nas diretrizes do próprio site, eles dizem:

Acreditamos em nossa missão principal de "tornar a Internet um lugar melhor para obter respostas especializadas para suas perguntas". Decidimos desde o início que todo o conteúdo gerado pelo usuário na Stack Exchange Network seria devolvido à comunidade sob uma licença Creative Commons. Criamos a Stack Exchange API como uma forma de permitir que os usuários escrevam aplicativos que usam a Stack Exchange Network de maneiras novas e criativas. Com acesso aberto para usar (e reutilizar) nossos serviços, é importante que os usuários não fiquem confusos com nosso relacionamento com as pessoas que usam nosso conteúdo e nossos serviços.

Então, em meias palavras, você tem permissão de usar os sites da Stack Exchange inside-and-out, desde o conteúdo até o design do site, claro, como uma forma cordial, você deve dar os devidos créditos.

E quando eu disse conteúdo e design, eu estou falando literalmente, além da Exchange API, você pode criar queries no banco de dados da Stack Exchange utilizando o Data Explore.

Email image

E você também tem acesso ao design system também! 

O Stacks fornece tudo o que você precisa para projetar, criar e enviar rapidamente experiências coerentes em todo o Stack Overflow, desde a marca e o produto em si, até como enviamos e-mails e escrevemos textos.

Email image

E também não poderia faltar o repositório público no Github também.

Email image

Produtos

Existe um Stack Overflow de como consertar o Stack Overflow caso ele saia do ar?

Essa foi uma das perguntas que mais recebi desde que comecei a trabalhar lá, então acho que posso até aproveitar e citar um produto que a Stack Exchange, sob Stack Overflow Solutions desenvolveu, que é o Teams.

Email image

Não, não é igual o mensageiro, é mais um Stack Overflow, só que para a sua equipe... Você tem um ambiente para criar perguntas e receber respostas delimitado apenas aos membros daquele time. Na opção gratuita você pode ter até 50 membros.

Criei esse Teams apenas para mostrar como ele se parece.
Criei esse Teams apenas para mostrar como ele se parece.

Então acho que não preciso dizer que sim, nós utilizamos a Stack Overflow para solucionar problemas da Stack Overflow. Um exercício que eu sempre tive e que é muito forte é o de compartilhar conhecimento documentando os processos e fazendo perguntas inteligentes, desse jeito a informação é imortalizada e sempre atualizamos quando necessário, para sempre manter as informações recentes e úteis. Como tentamos manter também nos sites públicos da Stack Exchange, é uma cultura que é de fora para dentro.

Com isso você tem também tem um plugin da Stack Overflow que é para o Teams da Microsoft. 

Email image

Mas também existe o plugin para o Slack. E eu tenho certeza que muita gente nem sabia da existência desses produtos. Acho que mais equipes deveriam usar pela simplicidade, leveza e familiaridade dos produtos. Pelo menos para mim, que já sou acostumada a usar desde antes da faculdade e eu sei que muitos outros desenvolvedores consideram SO uma ferramenta de uso diária para soluções de problemas.

Email image

Outro produto que existe é o Collectives, que são tecnicamente pequenas comunidades, dentro de um site maior. Por exemplo, temos os Collectives para a linguagem Go, GitLab, Google Cloud e Intel.  E um diferencial que eu acho legal, é de propor artigos.

Email image

Collectives é um novo conjunto de espaços no Stack Overflow onde o conteúdo relacionado a determinadas linguagens técnicas, produtos ou serviços pode ser agrupado. É um lugar para os usuários que interagem regularmente com esse conteúdo para colaborar e para as organizações que ajudam a construir ou manter essa tecnologia para compartilhar seus conhecimentos. Com este lançamento, estamos criando um novo tipo de usuário específico para Coletivos: membros reconhecidos são funcionários de uma organização, parte de seu Programa de Reconhecimento de Desenvolvedores ou usuários selecionados pela organização na comunidade Stack Overflow que conhecem as tecnologias da organização. Esses usuários terão um crachá de identificação quando postarem/editarem uma pergunta, responderem ou escreverem um Artigo que esteja associado a um coletivo por meio de suas tags. Eles também terão a capacidade de recomendar uma resposta existente dentro de seu Coletivo, destacando que, na perspectiva deles, esta é uma maneira recomendada de resolver o problema. Membros reconhecidos de um coletivo também terão a capacidade de contribuir com um novo tipo de conteúdo para nossa rede. Eles podem criar conteúdo de forma mais longa dentro de um coletivo que chamamos de Artigo. Introduzimos esse recurso pela primeira vez em nosso produto Teams no ano passado, onde vimos uma forte adoção e uso. Os artigos dão aos membros reconhecidos a oportunidade de fornecer conhecimento e insights mais profundos por meio de guias de instruções, artigos de conhecimento ou anúncios.

Esses produtos em si ainda são novos, mas espero que espalhando a palavra, eu consiga despertar o interesse da comunidade em usar os Collectives e trazer mais empresas próximas dos usuários de suas tecnologias. 

Eu vejo isso como uma oportunidade até mesmo para aqueles que já contribuem e gostariam de manter a carreira como escritor focado em artigos tecnológicos, DevRels, futuros Community Managers a já estabelecerem suas carreiras em plataformas como essa, eu consigo ver o valor dentro de comunidades e reconhecimento de seus membros e me anima falar sobre o potencial disso tudo, principalmente tendo a perspective de usuário e também de estar por trás dos processos acompanhando o desenvolvimento.

Deixo o convite a vocês ingressarem em um dos Collectives e claro, contribuir e fazer parte das comunidades da Stack Exchange. Se serve de conselho, muito do que eu aprendi, tanto conhecimento técnico, como habilidades sociais, vieram de colaborações em comunidades. Apenas uma dica. ;)


Eu poderia ainda escrever uns bons quilômetros a mais, mas vou deixar para outros posts, se caso julgar necessário explicar outras coisas que talvez tenha ficado de fora. Enquanto isso, fique com alguns links que pode te ajudar a progredir em seu engajamento e contribuição. Espero que este post tenha sido de serventia e que tenha esclarecido algumas dúvidas e dificuldades.

Links úteis: