Onde os Hypes me levaram
Quem me conhece sabe que sou uma pessoa que se deixa levar pelos hypes na área de desenvolvimento de software, um seguidor do Hype Driven Development e muitas vezes conhecido como “O cara chato da tecnologia X”. Hypes são as modinhas, o que está dando o que falar, o novo assunto quente, a tecnologia do momento, o mais novo framework revolucionário da semana. Neste artigo contarei o que aprendi com os hypes que aderi durante minha pequena jornada no mundo de desenvolvimento de software.
O Primeiro Hype: AngularJS
O primeiro hype a gente nunca esquece, o ano é 2015, estava no meu primeiro estágio trabalhando com desenvolvimento mobile, super feliz com meu Android Studio travando a cada CTRL + S, eis que um dia alguém aparece e fala: “Já ouviu falar em Ionic? Você vai conseguir desenvolver mais rápido, vou te passar uns vídeos pra você ver depois”. Momentos depois eu estava no youtube assistindo o curso de um rapaz chamado “Rodrigo Branas”, e foi aí, nesse exato momento, que tudo começou.
Em poucos dias eu já estava totalmente contagiado com a facilidade que o AngularJS propusera, quatro palavras definia o meu hype: Two way data binding. Nessa época era comum ver tutoriais onde o “Hello World” era uma página com um input e um texto onde a cada letra digitada no input era exibido ao mesmo tempo no texto.
Em poucas semanas eu já estava infernizando a vida dos meus companheiros de trabalho e de meu gerente para que pudessem adotar o framework como ferramenta de desenvolvimento da equipe, até então todos gastavam o dobro do tempo para desenvolver SPAs com jQuery.
No final de tudo o AngularJS se tornou o framework oficial do time e minha batalha terminou.
O segundo hype: MEAN stack
A bola da vez era o MEAN stack: o banco de dados NoSQL, o framework para servidor, o framework para front-end e o JavaScript no servidor. Ainda era 2015 mas lembro como se fosse ontem, estava no intervalo da aula, eis que ouço a seguinte fala:
“Cara, comprei um livro f*#% sobre MEAN”
Enchi ele de perguntas e consegui que me emprestasse o livro. Ao chegar em casa pesquisei sobre esse tal de MEAN e encontrei um cara de moicano azul, hypado, falando sobre um tal de Crowdfunding para lançar um curso sobre o assunto. Parecia legal mas não tive a menor paciência para esperar ele ser lançado, então comecei a estudar pelo livro e depois de alguns capitulos eu estava completamente hypado.
Até então meus professores me ensinaram que JavaScript só servia pra validar formulários e ao descobrir que ele também funciona no servidor foi simplesmente mind-blowing.
Startup Weekend Natal 2015
Depois de muitos estudos, códigos e tentar convencer meu time no trabalho a usar (dessa vez não deu certo), participei junto com 3 amigos de um evento de empreendedorismo (pra mim foi um Hackathon), que durou 54 horas e 30 delas foram codando quase sem parar! No final saímos do evento com um MVP bem completo de um app de pedidos e pagamentos pelo celular (tipo um iFood só que no próprio estabelecimento).
MEAN Stack bootcamp
E por último e mais importante, como uma pessoa muito bem Hypada, chegou o momento de dar o próximo passo: Passar o hype para outras pessoas. Saí completamente da minha zona de conforto e junto de alguns amigos, em 2016, organizamos um Workshop de MEAN Stack na UFRN, foram 4 dias explorando as tecnologias.
O Terceiro hype: React 💙
Em meados de 2016 conheci o tal do React — há quem diga que o Hype continua até hoje — , foi através das lives no Facebook do Zeno Rocha onde ele responde uma pergunta sobre angular x React. Até aquele momento meus conhecimentos no front-end se resumiam ao angular 1.x, quando comecei a estudar React ocorreu um choque de realidade: eu não sabia JavaScript! Em meio a tantas abstrações que o angular no trás através de diretivas, two way data binding e o próprio padrão MVC, eu acabei não aprendendo o verdadeiro JavaScript.
Outro problema que enfrentei quando iniciei os estudos no React foi a falta de materiais em Português, praticamente não existiam e os poucos que encontrava não saiam do básico, essa escassez de materiais em Português me fez aprender a “me virar” lendo documentações em Inglês e até mesmo ler o código fonte.
Além de ter aprendido novos conceitos introduzidos pelo React como Virtual DOM e programação declarativa, no meio do caminho aprendi Redux e fui apresentado à programação funcional com alguns conceitos como imutabilidade, funções puras, currying e etc.se
Depois de estar habituado com o React, pela primeira vez me senti confortável para contribuir em projetos open-source, e a partir daí se tornou minha principal ferramenta para desenvolver aplicações no front-end e mobile (React Native).
O quarto hype: Elm 😍
E por último mas não menos importante, o Elm. Dessa vez quem me apresentou o Hype foi meu chefe durante uma conversa no horário do almoço, o que me chamou mais atenção foi a forma que ele falava sobre a linguagem, e o que mais me surpreendeu foi o fato dela não possuir erros no runtime (como assim??). Como um bom Hype Driven Developer pedi algumas sugestões de materiais para começar a estudar a linguagem, dentre ele estava uns screencasts de um tal Cuducos, fui pra casa e iniciei a maratona de tutoriais.
O resultado disso? Após alguns dias comecei a desenvolver algumas aplicações para fixar a linguagem, reescrevi uma aplicação que estava em angular 1.x (o resultado ficou bem melhor), aprendi MUITO mais sobre programação funcional, mudei minha forma de pensar e como consequência de tudo isso minha forma de escrever JavaScript melhorou consideravelmente.
Primeiro artigo
Depois de perceber a escassez de materiais em Português sobre a linguagem decidi escrever um artigo sobre a linguagem destinado a pessoas que ainda não a conhece, nele eu abordei as características mais relevantes da linguagem e fiz um mini tutorial. Depois de publicado o artigo saiu na BrazilJS Weekly — isso me deixou mais hypado! — e alguns dias depois algo mais inusitado aconteceu: Fui convidado a participar do meu podcast favorito, o DEVNAESTRADA.
DEVNAESTRADA
Guardo o e-mail até hoje, vi a notificação, o titulo era “Convite Podcast DEVNAESTRADA”, no momento não acreditei mas mesmo assim respondi em instantes — eu estava completamente hypado ! iria participar do meu podcast favorito — . Marcamos uma data e gravamos, fiquei bem nervoso mas saí com a sensação de dever cumprido.
Primeira palestra
E por último, dei a minha primeira palestra com o titulo de “Criando front-ends inquebráveis com Elm” no primeiro WebDev RN, um evento para reunir a comunidade de desenvolvimento do Rio Grande do Norte.
Conclusão
O que sabemos é uma gota; o que ignoramos é um oceano.
— Isaac Newton
Já tive meus momentos de querer aprender tudo ao mesmo tempo, cada um dos frameworks/ferramentas que surgiam a cada dia, mas felizmente acabei percebendo que muitas delas fazem a mesma coisa e muitas são apenas mais do mesmo sem nenhum diferencial.
Depois de testar e aprender coisas completamente diferentes, com paradigmas diferentes e propostas diferentes acabamos criando uma aversão à novas tecnologias, e isso é completamente normal tendo em vista que muitas delas compartilham as mesmas bases e paradigmas, e base é a palavra chave, tendo uma boa base podemos aprender qualquer coisa rapidamente.
Acertei nas escolhas dessas tecnologias? Não sei, mas o que sei é que aprendi muito com cada um desses hypes, novas idéias surgiram, novas formas de pensar e novas oportunidades.