Redes Sociais

Construindo uma comunidade: Ruby on Rails Brasil

Estava esperando o momento certo para escrever este artigo, para que ele pudesse ser absorvido da melhor maneira possível pelas pessoas que se interessam pelo assunto.

Antes de chegar no catupiry da coxinha (o abrasileiramento da expressão “cereja do bolo”), queria compartilhar um pouco de como e por quê eu me envolvi com a comunidade Ruby on Rails Brasil, no Facebook, em junho de 2012.

A Origem

Naquela época, eu havia recentemente trocado de trabalho e tinha o desafio de iniciar uma nova equipe de desenvolvimento, usando uma tecnologia que não era o carro chefe (Ruby on Rails) daquele grupo de desenvolvedores. Tendo a responsabilidade de recrutar, treinar e auxiliar o progresso daqueles que viessem a trabalhar no projeto, me deixou com um sentimento de isolamento muito grande, não tendo muito com quem conversar sobre assuntos que viriam a ser de extrema importância também pro meu aperfeiçoamento.

Foi um pouco nessa vibe, que eu comecei a pesquisar, listas de e-mail, grupos de discussão pela internet, sem encontrar durante algum tempo, um que parecesse suprir esse requisito.

Meu ponto de partida foi com as comunidades gringas. Eu acreditava que encontraria uma discussão mais avançada lá, tendo como base o lag que diversas tecnologias sempre tiveram dentro do Brasil… (Java estou falando de você).

Comunidades Gringas

Os primeiros lugares que cheguei a dar uma olhada foram o ruby-forum.com, railsforum.com (que recentemente foi modernizado) e as listas de e-mail oficiais do Rails.

A conclusão geral que tive na época é que todas elas tinham problemas, seja o uso de uma tecnologia ruim (os softwares de fórum pareciam ter sido gerados por um scaffold), careciam de ferramentas essenciais para manter saudável uma comunidade (controle de spam, algum nível de moderação para classificar assuntos, coibir trolls, etc).

As discussões em geral terminavam no momento que o primeiro novato vinha dar uma resposta (geralmente errada) e oferecer “serviços profissionais de desenvolvimento por 1/5 do preço do mercado”.

Você deve estar pensando: “Você pré-julgou todas as comunidades sem dar a devida atenção” e outras coisas do gênero.

DISCLAIMER: durante vários anos da minha vida, eu atuei como Community Manager (a.k.a. moderador) de fóruns de jogos online (talvez um dos tipos mais difíceis de se gerenciar), e trouxe comigo um pouco do conhecimento tácito originário de diversas tentativas (pense em uma versão rudimentar de teste A/B sobre comportamento humano).

Apesar desse tempo todo, eu não me considero nenhum especialista, mas digamos que aprendi algumas coisas. Se esse tema te interessa, eu sugiro que leia o artigo do Jeff Antwood (Coding Horror), onde ele fala um pouco da experiência dele construindo comunidades do StackOverflow e das ferramentas que são necessárias para se gerir corretamente uma comunidade mais tradicional (pense fóruns).

Comunidades brasileiras

Depois de me frustrar um pouco com as alternativas disponíveis em língua inglesa, eu resolvi dar uma chance para as opções disponíveis em língua Brasileira (HueHue, me processe).

Se você leu o artigo do Jeff, deve ter entendido por que eu nem comentei sobre as listas de e-mail até agora, certo? Um dos maiores problemas das listas, é a impossibilidade de se moderar ou redirecionar posts fora de tópico, e a tendência em tudo virar uma discussão sobre “você está me fazendo perder tempo, discutindo sobre coisas que não me interessam”.

Infelizmente a única opção razoável em língua tupiniquim que havia encontrado (rails-br), se encaixava no problema acima (lista de e-mails), e todas as suas chateações (trolls, spam, respostas do tipo “pesquise na lista” ou “pesquise no Google”, entre outros), me fazendo por um momento duvidar se encontraria algum lugar onde realmente pudesse discutir sobre coisas úteis do meu dia-a-dia de desenvolvimento.

Meio que fora da curva, acabei encontrando uma tentativa embrionária do Henrique Utsch de criar uma comunidade no Facebook, onde desenvolvedores e interessado em Ruby on Rails, pudessem discutir e trocar informações (exatamente o que eu estava procurando).

Crescendo uma comunidade

A partir do momento que vi valor naquele grupo, que notei que as pessoas que ali estavam, compartilhavam um desejo parecido de ter um local saudável de discussão, sem muita pentelhação, comecei a participar mais ativamente das discussões e a incentivar as pessoas que conhecia, e que sabia que poderiam acrescentar algo, a também participar.

Vou roubar aqui um termo que é usado muito no contexto interno das empresas, mas que pode muito bem ser aplicado ao “ecossistema” que gira em torno da linguagem desde a sua concepção: “Cultura Organizacional”. Entenda aqui o escopo de organização extrapolado para todas as pessoas envolvidas (usuários e desenvolvedores), resumido em um acrónimo: MINSWAN, que expande para: “Matz Is Nice So We Are Nice”. Se você desenvolve a mais tempo, vai reconhecer o autor “Why the Lucky Stiff”, e se não sabe do que estou falando, sugiro a leitura.

MINSWAN sempre foi meu norte e resume um pouco da minha felicidade em utilizar Ruby.

Muita gente nova que tem seu primeiro contato se surpreende com a receptividade dos demais desenvolvedores, aliado a um nível alto de qualidade, que conseguimos comprovar com a facilidade de encontrar gems que resolvem a maioria dos nossos problemas de maneira elegante, o que não podemos dizer sobre outras linguagens mais populares (PHP, estou falando mal de você agora).

Da metade de 2012 para cá, a comunidade dobrou de tamanho diversas vezes. Saímos de algumas dezenas de pessoas, para atualmente quase 4000. Nesses pouco mais de 2 anos, o Henrique foi peça fundamental em manter a harmonia da comunidade, fazendo algo que pouca gente teria coragem de fazer, delegar a moderação.

Somos atualmente 12, e o que acho mais interessante é que a escolha foi bastante na linha meritocrática. Temos desde pessoas que são inegavelmente influentes e com visibilidade nacional como o Fábio Akita, talvez um dos maiores responsáveis pelo surgimento da leva mais antiga de desenvolvedores Ruby no Brasil, ao pessoal que estava desde o início contribuindo ativamente com o crescimento da comunidade.

De lá para cá, tivemos algumas decisões importantes que foram responsáveis por garantir um ambiente saudável para todo mundo:

  1. Não permitir discussões em inglês (esse talvez tenha sido o melhor de todos os filtros, pois além de garantir que a comunidade teria algum foco e uma identidade própria representada pelo idioma, eliminou o pessoal problema que existia nas outras comunidades estrangeiras, e permitiu um crescimento saudável da nossa).
  2. Remover imediatamente pessoas que postem propagandas (ninguém quer entrar na comunidade e ficar recebendo posts sobre aquele “óculos da Oakley original do ebay”)
  3. Necessidade de solicitar ingresso na comunidade (aqui é mais uma barreira para evitar fakes e spams)
  4. Proibir perfis fakes e de empresas (na verdade não deveríamos nem ter que nos preocupar com isso, afinal, quem faz isso viola os termos de uso do Facebook, e deveria ser garbage collected pelo próprio)
  5. Ordenar a postagem de vagas de trabalho (essa é uma exceção de utilidade pública, onde aceitamos que seja feito esse tipo de propaganda, pois acreditamos que isso é totalmente relevante para as pessoas que participam, mas ainda assim, pedimos que quem for postar vagas, gaste alguns minutos e informe os dados que são úteis a todos e não nos faça perder tempo com descrições vazias, sem local, sem faixa salarial e sem um background da empresa).

Maturidade

Um dos motivos que eu escrevi esse artigo, foi ter lido um desabafo do Marcos Tapajós(@tapajos), que acabou sendo compartilhado no grupo por um dos membros da comunidade. Quem tiver o interesse em ler a discussão, utilize a ótica das melhores intenções.

Eu achei que escrever naquele momento faria mais mal do que bem, mas outras situações ocorreram mais recentemente que motivaram levar a discussão para um ponto mais pragmático, e utilizar o feedback da comunidade para moldar mais algumas diretrizes que poderão garantir a sobrevivência do grupo por muito mais tempo, mantendo as mesmas características iniciais que atraíram (e continua atraindo) novos membros.

Entendendo as limitações técnicas que temos:

  • O Facebook não possui um mecanismo muito bom de buscas
  • Não temos como categorizar postagens ou ordená-las de qualquer maneira (a única opção que existe é manter um post fixo)
  • O Facebook não é uma rede social específica para área de tecnologia (e portanto não possui recursos específicos para nós)

O que é possível fazer:

Levando em conta as nossas limitações, temos que ter clareza do que esperar da ferramenta. Não temos a intenção de substituir ferramentas específicas de Q&A como o StackOverflow, e nem o formato de posts do grupo nos permite isso, no entanto não acho que devemos impedir que pessoas façam perguntas.

O Nando Vieira, fez um post interessante sobre “Como formular perguntas”, onde ele lista as regras mais importantes que foram construídas pela comunidade nesses anos e dá algumas dicas sobre “Como formular perguntas” de maneira inteligente e efetiva.

Apesar das limitações é importante compreender que muitas pessoas podem se sentir um pouco mais a vontade de postar onde eles sabem que serão bem recebidos, e onde podem escrever em português, e conseguir avançar para um ponto onde consigam se virar sozinhos.

Algumas pessoas deram sugestões mais severas como “aumentar a moderação” (ou seja, só permitir postagens pré-aprovadas), mas eu sou totalmente contra essa abordagem, primeiro por ter certeza que ela causa mais mal do que bem (você muda completamente a dinâmica do grupo de uma hora pra outra, e cria um gargalo na discussão, sobrecarregando os moderadores).

Vou roubar aqui um ensinamento da comunidade Python: “we are all consenting adults here”, acredito que ninguém aqui precise de alguém gerenciando cada frase que é dita ou pronunciada, eu advogo pela linha do “estado-mínimo” (neste caso, moderação mínima).

O Futuro de além

O que fizemos até agora atende a necessidade dos membros mais novos, mas ainda não aborda o problema do pessoal bem mais antigo, que é o caso do Tapajós, e sobre isso eu ainda não tenho uma opinião 100% formada, e também não acredito que encontraremos uma fórmula mágica (no entanto, estamos sempre aberto a sugestões).

Talvez a solução não esteja no curto prazo, mas sim em uma evolução gradual nos próximos anos. Eu acredito que comunidades mais específicas como a nossa, estariam muito melhor servida, se utilizássemos uma plataforma como o Discourse, mas não há como simplesmente abandonar o Facebook e “mover todo mundo” para algo diferente.

Em uma análise bem superficial, talvez a única comunidade com potencial para migrar de uma plataforma para outra seria o pessoal da rails-br, mas como o Google não permite que seja exportado o histórico de mensagens da mesma, essa mudança é inviável também para eles.

Como um projeto paralelo, antecipando dificuldades que a comunidade poderia ter devido as limitações dos grupos do Facebook, eu resolvi registrar uma comunidade homônima também no Google Plus: Ruby on Rails Brasil, para servir de apoio a principal no Facebook, e agir como uma segunda opção, em um futuro incerto.

Essa comunidade foi criada com algumas premissas importantes, com a finalidade de não gerar nenhum tipo de atrito com a atual:

  1. Espelhar os moderadores da comunidade no Facebook
  2. Espelhar as regras da comunidade no Facebook

Você deve estar se perguntando: “Ta, por que você ta fazendo propaganda de outra comunidade?”. Como comentei logo a cima, eu encaro essa comunidade como uma extensão da primeira, que possui vantagens que poderão ser muito bem aproveitadas no futuro. Ela não possui as duas maiores deficiências da plataforma do Facebook:

  • O mecanismo de pesquisa funciona muito bem (se não funcionasse, podiam fechar as portas né Google)
  • É possível separar em categorias as postagens, permitindo que as pessoas vejam apenas aquilo que lhes interesse

O segundo recurso eu acredito que seja a diferença que nos falta hoje, e que poderia tornar o dia-a-dia mais agradável pro pessoal que deseja ter uma discussão mais “complexa” sobre assuntos pra quem ta a mais tempo no mercado.

Não sei se isso resolveria tudo, mas acredito que é um bom começo.

Padrão

2 comentários em “Construindo uma comunidade: Ruby on Rails Brasil

  1. Achei excelente o post, só não concordo com o ponto “Ordenar a postagem de vagas de trabalho”. Foi justamente por ver que existiam mais postagens sobre vagas de trabalho do que os outros tipos de post que me motivaram a criar o RubyJobs.
    Abraços!

  2. Marcos disse:

    Olá, tenho um projeto de rede social de perguntas e respostas, com o intuito de melhorar o que fazemos hoje no facebook, poderíamos unificar esses projetos, o que acha?

Os comentários estão desativados.