Comunidades (de Software) são Artificiais

Mas não quer dizer que não podemos aprender com elas

Rodrigo Perazzo
CESAR Update
6 min readApr 27, 2018

--

“A workplace with countless rows of desks.” by Alex Kotliarskyi on Unsplash

Comentei no artigo sobre OKRs que um tempo atrás uma das minhas metas pessoais e de carreira (daquele trimestre) era me integrar à comunidade de software da qual me sentia distante e que para tal iria medir meu progresso usando algumas métricas fornecidas pelo o Medium e o Stack Overflow. Elas eram:

  1. Responder 12 perguntas (média de 4 por mês) no StackOverflow
  2. Obter 1000 pontos de reputação no StackOverflow (+451 do atual: 549)
  3. Postar 3 artigos sobre software no Medium
  4. Obter 20 recomendações nos artigos relativos à software do Medium

Considerando minha (quase nula) contribuição pública na época (de código e de textos) esses números pareceram fazer sentido para mim. Os resultados numéricos não foram bons: respondi 7 das 12 perguntas; obtive 128 dos 451 pontos; e não publiquei nenhum artigo no Medium. Comento sobre os (possíveis) motivos no artigo lá de cima.

No entanto, o que quero comentar aqui são os resultados subjetivos que, ao contrário dos números, considero enormes, pois me ajudaram a quebrar tabus (será que somente meus?) que me impediam de ver com clareza como me sentia em relação à comunidade de software. E a principal coisa foi entender que:

Comunidades são artificiais

Antes, esperava uma certa uniformidade de comportamento na comunidade de software, imaginei algo (utópico? ingênuo?) como “conhecimento em primeiro lugar” para compartilhar e aprender, mas o que encontrei foi bem diferente.

Algumas pessoas pareciam de fato alinhadas à esse propósito, mas muitas outras só queriam “consumir” respostas rápidas para seus problemas e outras tantas procuravam apenas “atenção”, “ganho de reputação” e “discussão” sem propósito. Sem citar a hostilidade de alguns membros, que no caso do StackOverflow até mereceu um pronunciamento da empresa (ontem! — 26/04/2018).

Acredito (agora) que quando citei a comunidade de software como uma comunidade foi por mera força do hábito e não pelo significado (social, subjetivo e sentimental) da palavra (que só vim conhecer à pouco tempo), pois, como apontado pelos sociólogos Ferdinand Tönnies e Robert Redfield, uma “comunidade verdadeira” é:

  • distinta, a ponto de se ver com clareza suas delimitações (quem faz ou não parte dela);
  • pequena, onde a comunicação é densa o suficiente para deixar as interferências externas em desvantagem;
  • auto-suficiente, para suprir todas as necessidades de seus membros;
  • e dotada de entendimento compartilhado por todos de forma “natural” e “tácita”, de um jeito que “está lá” sem esforço deliberado e sem questionamento.

Esses atributos não são geralmente encontrados, e definitivamente não concomitantemente, nas comunidades de software (no plural). O que se vê nas comunidades em torno de empresas (ex: Apple, Google), papéis (ex: Front-end, Back-end, DevOps), plataformas (ex: Web, Mobile, Desktop), linguagens (ex: Javascript, PHP, Ruby, Swift, Kotlin), SOs (ex: Android, iOS, Linux, Windows), frameworks (ex: Angular, React) e serviços (ex: Github, StackOverflow) é artificial, onde o consenso (quando alçando), diferente do entendimento compartilhado e intuitivo, se dá após longas negociações sobre o que “é” e o “que deixa de ser”.

São “comunidades estéticas” ou “comunidades-cabide” formadas em torno dos “problemas” que quem faz código se depara todos os dias e é onde esperamos “pendurar” nossas aflições e preocupações experimentadas e enfrentadas individualmente; onde esperamos enfrentar aquilo que não conseguimos sozinhos; onde na tentativa de fugir do ambiente (usualmente) estressante e competitivo do trabalho com (e de) software buscamos por um “círculo aconchegante”:

Dentro do “círculo aconchegante” elas não precisam provar nada e podem, o que quer que tenham feito, esperar simpatia e ajuda. — Zygmunt Bauman sobre o conceito criado por Göran Rosenberg.

Mas não se engane, tal naturalidade, fraternidade e “aconchego” não se encontra mais no mundo de hoje e não é “defeito” exclusivo das auto-proclamadas comunidades de software, segundo Zygmunt Bauman, o acordo “artificialmente produzido” é a única forma disponível de unidade. Unidade frágil e dispensável, por mais eloquentes e ativos que sejam seus porta-vozes ou promotores, mas não inútil e acredito que ter consciência disso ajuda a fazermos melhor uso de sua (talvez breve) existência.

Usando esse pensamento como premissa, conclui algumas coisas:

É normal se sentir deslocado

Por ser um acordo construído e que precisa de renovação de tempos em tempos, é normal não se sentir parte do grupo. Mesmo que você se sinta parte em algum momento, tenha certeza que essa sensação é transitória, pois mudam-se os membros muda-se o acordo, e assim como entrar demanda esforço, se manter lá demandará ainda mais.

Dessa forma, se, por exemplo, você trabalha em um projeto “secreto” que lhe toma a maior parte do tempo, não adianta “fazer das tripas coração” para cumprir com seu “papel comunitário” em detrimento de todas as outras coisas da vida. Essa batalha só pode ter como destino a quase-certa decepção.

O melhor mesmo é “deixar rolar” e se quiser ajudar (e ser ajudado) que seja de forma natural e misturada à sua rotina de vida e trabalho.

É normal sentir insegurança

Talvez como consequência do deslocamento, nos sentimos inseguros, pensamos que não temos o que compartilhar e temos medo de quando fazê-lo que seja considerado “trivial” ou “fora de moda” por aqueles que já fazem parte da comunidade.

Mas tenha certeza que na maior parte das vezes isso é uma ilusão que só nos afasta de aproveitar o máximo que aquela comunidade tem a proporcionar. Pois, se pensarmos bem, é igualmente difícil para qualquer um fazer parte de algo em mutação e o mais comum é que ninguém se sinta inteiramente parte daquilo o tempo todo.

Se você for repreendido por perguntar ou compartilhar algo, você pode ter encontrado um(a) babaca de comunidade e/ou concluir que aquela comunidade (leia-se acordo) naquele instante de tempo e lugar não é pra você. Procure mais ou espere que ela (ou você) mude.

Fazer/Ensinar traz tanto ou mais aprendizados do que consumir

Todas as vezes que parei para responder uma pergunta ou compartilhar um conhecimento que aparentemente estava ao meu alcance, mas que precisava de algum embasamento mais sólido, me senti obrigado à estudar e botar em prática antes e, no processo, aprendi muito.

Claro que isso não é verdade para todas as perguntas feitas (e nem para todos conteúdos que compartilhamos por aí), aprendi mais quando pude selecionar as perguntas e assuntos que me pareciam desafiadores o bastante para o meu nível de conhecimento naquela tecnologia ou problema.

Mas no geral quando estamos apenas consumindo uma resposta, o mais fácil e comum é copiá-la e colocá-la à prova (no código defeituoso). Se funcionar, não se faz necessário mais pensar no porquê; caso não funcione, podemos pensar no porquê e fazer algum ajuste para nossa realidade, mas a opção de procurar outra resposta “mais correta” se mantém lá, disponível.

Por isso acredito que contribuir com a comunidade é antes uma atitude de auto-desenvolvimento e aprendizado do que uma ação comunitária em si.

Afinal, qual comunidade funciona?

Então, de acordo com Zygmunt Bauman, a “comunidade verdadeira” (que nos traria segurança real, sensação de pertencimento, propósito e etc) só é possível nos tempos pré-modernos. Hoje tudo é “líquido” e não dá tempo de criarmos os vínculos necessários (sólidos) para tal. Mas se funciona ou não, vai depender do objetivo a que se propõe.

A proposta da freeCodeCamp, por exemplo, é ensinar quem quer aprender a codificar a partir de desafios em projetos open-source sem fins lucrativos. A idéia é que essas pessoas se capacitem e tenham mais chances de conseguir seus primeiros empregos como desenvolvedores (ou empregos melhores para os que já estavam empregados). Além disso, fomenta grupos de estudo (offline) ao redor do mundo e se empenha em compartilhar conteúdo relevante no Medium e no Youtube. Para esse objetivo, acho que tem funcionado bem.

Mas em linhas gerais, se você buscar nas comunidades apenas suas implicações mais práticas, que no caso das de software poderia ser “compartilhar experiências, problemas e soluções técnicas para um determinado nicho” (seguindo algumas dicas que comentei nas seções anteriores), acho que boa parte delas vai funcionar razoavelmente bem. Entretanto, se você procurar nelas um “porto seguro” que vai lhe acolher e ajudar à superar suas inseguranças, profissionais no geral (mas não seria difícil achar pessoas atrás de dar sentido à vida ou de laços afetivos), aí o mais provável é que você se decepcione.

E aí, já se sentiu deslocado, inseguro ou “sem conteúdo”? Deixe seu comentário. Espero ter ajudado. :)

Agradecimentos à Joao Paulo Magalhaes que revisou o texto e me fez um comentário tão pertinente que para melhor respondê-lo optei por adicionar a seção “Afinal, qual comunidade funciona?”.

Referências e Leituras Adicionais

--

--

Rodrigo Perazzo
CESAR Update

Dad & Husband. SW / Android / Arduino / IoT Engineer @inovacao_cesar. In pursuit of good habits for life.