[Off-Topic] Alguém importante deixou a comunidade! E agora??

2014 July 06, 20:38 h - tags: philosophy insights off-topic

Esta semana um conhecido desenvolvedor da comunidade Node.js declarou estar deixando o barco. Foi TJ Holowaychuk, um dos mais prolíficos contribuidores dessa comunidade. Obviamente isso deve ter gerado alguma controvérsia e discussões e gente se desesperando.

Se você é um programador experiente, certamente não precisa de mim para ouvir isso. Mas se por acaso você ficou inseguro com as notícias recentes, talvez o que eu tenha a dizer lhes dê perspectiva.

Antes, quero compartilhar com vocês outros artigos que li poucos dias atrás:

  • My Next Chapter - eu achei que isso fosse gerar alguma discussão extra, mas é a declaração e Mike Perham, um dos mais conhecidos rubistas desta geração e criador do ubíquito e excepcional Sidekiq declarou não que está abandonando o projeto ou algo assim, mas que está trabalhando num novo produto e que ele não envolve Ruby.

  • Saying Goodbye To Python - neste caso foi o pythonista Ian Bicking, que declarou deixar o Python pelo Javascript, seguindo a onda atual. Importante entender que a bolha de Javascript atual não "requer" você "deixar" nada por ele. Novamente o caso em que você pode tranquilamente ser pythonista e usar javascript, não há conflito.

  • Why I Left the .Net Framework - um certo desenvolvedor chamado Jonathan Oliver resolveu também declarar porque está deixando sua tecnologia do dia-a-dia e aponta os pontos positivos e negativos das tecnologias Microsoft. Não é um troll, é até uma leitura bem interessante.

  • Java Again - quem é das primeiras gerações da comunidade Java não deve ter se esquecido de James Duncan Davidson, criador de nada menos do que o primeiro Tomcat e Ant. Ele deixou a comunidade Java, integrou a comunidade Ruby temporariamente, dedicou-se à fotografia (quem procurar por fotos das Rubyconf de 8 anos atrás vai ver as oficiais são todas dele). E agora declarou que está retornando ao Java.

  • Why Go Is Not Good - como o nome diz, é uma crítica de porque uma linguagem recém-lançada deveria ter sido melhor pensada para cobrir casos que outras linguagens já cobrem.

  • Rust vs Go - novamente, tem um certo apelo de "dor de cotovelo", no sentido de que Rust realmente parece ser uma tecnologia superior a Go em termos de design de linguagem e funcionalidades, e demonstra certa frustração de porque mesmo assim Go é mais popular.

  • Why Perl Didn't Win - é uma leitura obrigatória para observar circunstâncias de uma das linguagens mais populares desde o final da década de 80 até o final da década de 90, que caiu em esquecimento e desuso. Até mesmo o Swift, lançado pela Apple semanas atrás, já tem mais usuários ativos do que o Perl 6. Uma das conclusões? Qualquer coisa nova precisa almejar resolver os problemas do futuro, não os do passado.

Quem é das primeiras gerações da comunidade Ruby e Rails, em particular, vai se lembrar dos "traumas" que passamos:

  • Zed is Not Dead - de 2008, quando um dos nossos desenvolvedores mais prolíficos, Zed Shaw, criador do Mongrel e um dos primeiros a encarar o desafio de mensurar e otimizar a performance do Ruby declarou que estava deixando a comunidade e migrando para Python.

  • Bomba: Merb e Rails se fundem! - também em 2008 quando a equipe Merb estava em direção de colisão e destruição com o Core Rails e, felizmente (para alguns, infelizmente para alguns poucos - foi uma solução que deixou mortos e feridos), a solução foi engolir Merb para dentro do Rails 3. Em retrospectiva, vale ler o post "Learning from Rails’ failures" do Matt Aimonetti (que migrou pra Go também) e está entre os feridos da insurgência; e este outro "The Rails/Merb Merge In Retrospect" de Giles Bowkett (ainda rubista) que analisa os resultados com olhos bem críticos.

  • Twitter muda de Ruby para Java - de 2011 quando o Twitter declarou estar substituindo as partes da infraestrutura de mensagens que usava Ruby e migrando para uma solução proprietária em Scala. Apesar de o que a notícia original diz e o que as pessoas resolveram memorizar sejam diferentes, o fato é que foi uma boa dor de cabeça de Public Relations para nós. Felizmente isso já passou.

E esses links são apenas os que eu li e lembro de cabeça, existem dezenas de outros mais.

Para quem ainda é jovem ou inexperiente em comunidades de software, particularmente quem é novo na comunidade Node.js deve estar se perguntando "E agora? Se alguém importante como o TJ diz que está saindo, eu não deveria sair também?" E se você fizer sua pesquisa direito vai ver que esta não é a primeira vez. Em 2012 o criador do Node.js, Ryan Dahl declarou que continuaria acompanhando seu projeto mas não estaria mais envolvido no dia a dia de codificação. "Putz, o mundo acabou!"

Isto não é uma Má Notícia. Esta é uma Excelente Oportunidade! (Sério!)

Em 2006, logo quando eu estava iniciando minha carreira como ativista no mundo Ruby e Rails, eu já sabia o que estava por vir. Por sermos os novatos, imaturos, com tecnologia incompleta e muitas expectativas, naturalmente o caminho seria o mais difícil possível. Por isso escrevi o artigo Evolução pela Concorrência. Muitos imaginam que o melhor caminho do mundo seria onde ninguém questiona o que estou fazendo e apenas me deixam em paz, e acreditam nas minhas promessas que - obviamente - pretendo cumprir - um dia. (yeah, right ...)

Eu digo que não, qualquer promessa ou expectativa que valha a pena deve ser questionada, deve ser pressionada, deve ser escrutinada. Se essa promessa é tão fraca que não suporta críticas, ataques diretos e indiretos, sabotagens, então a promessa em si era fraca e não deveria merecer prosseguir. Quanto antes cair, melhor. Menos tempo estamos perdendo. Por isso eu sempre abraço ataques, pois eu espero estar pronto para contra-atacar em dobro ou morrer tentando. E eu não esperaria menos da comunidade Rails. Todos ainda acreditam que restrições são ruins, eu já disse antes que restrições são importantes: é o único lugar de onde surge inovação.

Qualquer um que precise utilizar dos velhos artifícios de falar mal dos outros, o famoso "eu não tenho vontade de melhorar, então vou prejudicar o outro para eu parecer maior" (escrevi sobre isso em 2007 também "Para eu ganhar, o outro precisa perder ..."), necessariamente se declara um fraco. Pare e relembre, artigos, palestras, entrevistas onde você ouviu alguém que você admira falando mal de outra comunidade. "Ah, Ruby, esse negócio de meninas. Porque nóiz homens usamos Javascript." Me faz rir e ter um pouco de dó, porque está claro para mim que será sempre um fraco.

Todas as declarações acima e similares - "Estou deixando Node". "Estou deixando .NET". "Estou deixando Ruby". "Estou deixando X" - eu honestamente acredito que seus autores não tenham tido nenhuma má intenção ou má fé, pelo menos não conscientemente. Porém eu tenho uma teoria. Todos que fazem declarações como essas querem validação de seus pares, ou pior, querem que seus pares o sigam - e isso também significa validação de sua posição. "Eu não gosto mais do meu brinquedo velho, mas também não quero que ninguém mais brinque com ele." É uma posição bem infantil.

Tomando como exemplo a comunidade Ruby, tivemos diversos nomes que meio que "deixaram" suas atividades principais na comunidade Ruby, mas não fecharam portas e nem agiram com infantilidade. Chad Fowler, está na Alemanha tocando a Wunderlist, focando em desenvolvimento Mobile e back-end e nunca mais ouvimos falando de Ruby. Ilya Grigorik teve sua startup adquirida pelo Google e eventualmente ele desapareceu também. Matt Aimonetti, depois do caso do Merb vs Rails, silenciosamente se retirou e agora está trabalhando com Go. Ryan Bates, um dos mais queridos da comunidade pelo seu trabalho incessante de 5 anos com o RailsCasts deixou de publicar faz meses e não declarou nada a respeito. David Chelimsky, mantenedor do RSpec, passou sua responsabilidade pra frente e se retirou sem alvoroço. José Valim, um dos principais responsáveis pelo Rails 3, hoje está com Elixir/Erlang e raramente ouvimos algo dele sobre Ruby.

"O.M.G! Quer dizer que tudo acabou!? Foi pelos ares!?"

Não, nesse meio tempo centenas de novos Rubistas surgiram e continuaram o trabalho. Exemplo imediato são os próprios Carlos Antônio e Rafael França, que meio que assumiram o manto do José Valim no Rails Core. Evan Phoenix assumiu o manto de Chad Fowler na RubyCentral. Avdi Grimm meio que assumiu o manto de Ryan Bates com seu excelente RubyTapas, e assim por diante.

Uma comunidade é formada por indivíduos. Indivíduos atuam no seu melhor quando eles agem para maximizar seu próprio benefício. Ao fazê-lo, o efeito colateral é que ele acaba naturalmente por influenciar e trazer mais para cima junto com ele. São sempre trocas voluntárias para mútuo benefício. Não existe quem age sem nenhum benefício para si próprio, mas há quem acredite que sim e são os que atingem seu "burn out" mais rápido, porque rapidamente a pergunta se torna:

"Por que eu me canso tanto de colaborar nessa comunidade, me estresso, e mesmo assim nem todos apreciam o que eu faço? Eu faço tudo por eles!"

Essa é a pergunta errada. E a pergunta errada, obviamente, leva à resposta errada. Alguns começam a acreditar que os outros devem alguma coisa a ele, já que ele dedicou tanto do seu tempo livre (especialmente no mundo open source) para "ajudar os outros". E "os outros" acreditam que não devem nada, já que ninguém pediu para eles fazerem esse esforço em primeiro lugar (e "os outros", na prática, estão certos).

Se você participa de uma comunidade, não o faz pelos outros, faz por si mesmo. Seja porque você entende que ajudar os outros faz parte da sua recompensa pessoal. Seja simplesmente porque isso te trás paz de espírito ou consciência limpa. Ou seja porque você é um bom estrategista e sabe que determinadas contribuições vão lhe abrir portas no futuro. Não importa o motivo, desde que exista uma recompensa que você não cobra obrigatoriamente dos outros. Cobrar respeito, cobrar educação, cobrar compaixão, nada disso faz sentido sem contrapartida: ninguém pediu para você fazer o que está fazendo, se está, entenda que é por você mesmo. É a definição de trabalho voluntário.

Aliás, para deixar bem claro: Trabalho Voluntário significa trabalho sem remuneração financeira e não sem benefícios ou altruísta. Se seu Trabalho é Financeiramente Remunerado, nesse caso a discussão é outra e o melhor conselho é de Don Draper:

Voltando ao assunto em questão, eu imagino que os nomes que mencionei acima que se retiraram parcialmente ou silenciosamente provavelmente entendem isso. Eles foram buscar satisfação pessoal em outro lugar. Eles não devem nada a ninguém e nem ninguém lhes deve nada.

Os que saem com declarações bombásticas estão, consciente ou inconscientemente, jogando na cara dos outros "você não me valorizou, agora perdeu sua chance, e eu sei que você vai sentir minha falta!" Não está escrito desta forma, mas é o que faz sentido, do contrário, porque jogar no ventilador e tornar isso uma controvérsia pública? Qualquer argumento por escrito é apenas parte da razão, e não "a" razão.

Você, Indivíduo

O outro lado da moeda é quem segue, admira, idolatra uma dessas pessoas que deixaram o lugar onde você está. Dependendo do seu nível de admiração, você provavelmente fica sem chão, atordoado, sem saber para onde correr. Das duas uma: ou você procura outro ídolo e começa o famoso "ele nem era tão bom assim" ou fica deprimido ou desesperado "não sei o que vai ser agora."

Meu conselho: "não tenha ídolos, tenha referências."

Pare de achar que você deve fazer alguma coisa pelos outros e, por consequência, pare de ficar jogando nos outros a responsabilidade de ajudar outros também. É isso que está acontecendo: você não entende seu propósito e acredita que os outros devem fazer o que você mesmo não faz. E pior, deixa os outros decidirem que caminho você deve tomar. Se você é tão inseguro assim, pare um instante e reflita o que você "é" primeiro.

Seu único propósito na vida é cuidar de si mesmo e produzir. E isso sem atrapalhar o caminho dos outros. Fazendo isso, o efeito natural é que colaborações expontâneas surgem, comunidades evoluem e todos saem ganhando. Uma comunidade onde todos cobram todos não cresce bem, cresce sem propósito.

Em particular sobre tecnologias, opiniões, propostas e promessas também lembre-se: você quer estar sob constante "ataque/restrições". Não há nada pior do que ser ignorado. Escrevi outro artigo, tradução de uma pessoa mais sábia do que eu, Kathy Sierra chamado Dilbert e a zona de mediocridade, onde eu cito:

Quão corajoso você é? Quão longe você iria (ou seu empregador) para evitar a Zona de Mediocridade? Até, ou, a menos que, você esteja disposto a arriscar por Ódio Passional, você pode nunca vir a sentir Amor. Scott Adams concorda. Em um post recente no blog do Dilbert, ele disse “se todos que forem expostos a um produto gostarem dele, o produto nunca será um sucesso … A razão de um produto que ‘todo mundo gosta’ falhará é porque ninguém o ‘ama’. A única coisa que prevê sucesso é paixão, mesmo que apenas 10% dos consumidores o tenham”.

E daí se alguém deixou sua comunidade? Por acaso sua comunidade é tão frágil que uma pancada - não importa o tamanho do impacto - vai desmoroná-la? Se você acredita que sua comunidade é somente resistente, você tem razão, depois de certo ponto, ela desmorona. Porém, se sua comunidade for resiliente, se ela é maleável e adaptável, ela vai sobreviver. É o que garante a sobrevivência das espécies: a Lei do Mais Adaptável (não do mais "forte"! Lembre-se: resistente vs resiliente, você quer ser o segundo).

Você é adaptável? Ou está somente procurando validação dos outros, deixando que eles decidam por você? Uma coisa eu digo com certeza: se um dia eu desistir do que eu faço, ninguém nunca vai saber por um comunicado por escrito, isso eu já havia determinado no dia em que comecei.

Comments

comentários deste blog disponibilizados por Disqus