[VIDEO] De mantenedor Rails a criador da linguagem de programação Elixir
Contribuir para projetos open source é o desejo de muitos desenvolvedores, quase que como uma espécie de “troca justa” pelo aprendizado ao longo da jornada para se tornar um desenvolvedor profissional. Inclusive, recentemente, até gravamos um bate-papo com Flávio Lisboa, da Comunidade PHP, sobre contribuição em projetos open source, falando justamente sobre isso.
Agora, em nossa 1ª edição da DEV Talks, conversamos com José Valim, desenvolvedor Ruby que está entre os top 10 contribuidores do projeto Rails. A paixão pelo código veio desde o início dos estudos na Poli-USP, onde ele se especializou em Automação e Controle. Neste bate-papo, ele nos revela que seu “segredo do sucesso” é dar um passo de cada vez, em pequenas iterações mesmo, e aproveitando as oportunidades que façam mais sentido até onde você se imagina chegar na carreira como desenvolvedor.
No caso de Valim, uma luz acendeu quando ele foi pela primeira vez ao evento Rails Summit Latin America, lá pelo final dos anos 2000, e na época um dos principais do Brasil. Foi quando ele pensou a primeira vez que também poderia estar naquele palco apresentando seus projetos. Pouco tempo depois, tudo aconteceu muito rápido e naturalmente: além de se apresentar no evento, ele também fundou uma startup e se tornou um mantenedor bastante ativo do projeto Rails - um dos principais.
Essa iniciativa - como ele explica em detalhes no vídeo abaixo - acabou levando-o a participar do projeto Google Summer of Code, nos EUA. E isso tudo em uma época em que o GitHub mal existia. Aliás, essa experiência foi decisiva na sua carreira porque também o colocou em contato direto com os principais contribuidores do Rails - algo que hoje é mais fácil com o GitHub, mas não em 2008. E, de tarefa em tarefa, ele foi se oferecendo para contribuir com outras melhorias no código do framework.
O “turning point”: programação funcional
Muitas coisas aconteceram no início da carreira como dev, mas foi quando começou a prestar mais atenção nas discussões envolvendo número de cores em uma máquina x concorrência no futuro dos computadores que ele percebeu que talvez as ferramentas disponíveis poderiam não ser suficientes para resolver seus problemas como desenvolvedor Ruby. Isso o intrigou bastante, a ponto de o desafiar a conhecer diferentes linguagens de programação, e estudar muito, muito mesmo, até um dia conhecer a programação funcional.
Valim conta que ficou maravilhado por que, se tivesse pensado em usar técnicas da programação funcional para todo o software que escreveu no passado, a grande maioria dos bugs que precisou resolver relacionados à concorrência, simplesmente não existiriam mais. Isso, na visão dele, é a melhor forma de resolver um problema “como um todo”. Foi esse o clique que veio na cabeça para começar a pensar que o software tem que ser feito dessa forma. E aí já estava sendo plantada a semente que deu origem à linguagem Elixir, criada por ele em 2012.
Um apaixonado também pela linguagem de programação Erlang e sua incrível capacidade de resolução de diversos problemas, José Valim nos conta como ela resolve em especial a questão da concorrência e de problemas de distribuição, isso desde antes dos anos 1980. E, na medida em que foi aprendendo mais sobre Erlang, mais foi percebendo as coisas que “estavam faltando” na linguagem, também.
O que o motivou a criar uma linguagem de programação própria foi notar que faltavam algumas features que, para ele, como desenvolvedor, o tornariam ainda mais produtivo. Claro que a história não é tão simples assim, mas você pode acompanhá-la em detalhes no vídeo abaixo, da nossa 1ª DEV Talks, com o próprio José Valim no canal da Revelo Community no YouTube: