setup #14

Quem é você e o que faz?

Nascido perto e criado no Rio de Janeiro, digo que sou carioca da zona norte, bem longe da praia, mas pertinho da floresta da Tijuca. Em processo de mudança para os EUA, a cidade maravilhosa vai me deixar saudades, mas pretendo voltar com alguma frequência, é impossível abandonar o Rio e perder o contato com as comunidades de desenvolvimento.

Devido à minha curiosidade infinita, me tornei um polímata. Estudei música por alguns anos, toco guitarra e alguns outros instrumentos, toquei em banda, cantei em coral, atuei no Teatro, pratiquei Arco e Flecha, Hipismo Clássico, me formei em Direito, cheguei a fazer MBAs — não finalizadas — de Gestão Tributária, Arquitetura e Governança de TI, já estudei algumas coisas de Psicologia, História, etc. Em um momento estudei numa graduação de tempo reduzido de Análise de Sistemas e finalmente um curso de Engenharia de Software.

Atualmente trabalho com o título de Engenheiro Open Web, mas gosto de resumir tudo como programador. Sou apaixonado por JavaScript, mas já aprendi a programar desde os 9 anos de idade, em 1989, quando fui presenteado com um MSX onde alguns jogos eram carregados com fita cassete de rádio e outros eram digitando o código impresso na revista comprada na banca de jornal. Aprendi da pior forma possível que erros de digitação podiam quebrar tudo, mas da melhor forma que eu poderia escrever códigos pra criar meus jogos.

Por causa disso, acabei ajudando o meu pai a criar o primeiro programa de consulta de CEP no Brasil, isso deve ter sido lá por 1994, na época lançamos com licença dizendo que seria freeware e disponibilizamos o código. Nem sabia, mas estava lançando um projeto Open Source. O programa era feito em Clipper, e rodava no DOS.

Agora eu tenho uma paixão por Open Source que me torna colaborador do QUnit, que é a ferramenta de testes utilizada em grandes projetos como o jQuery, Backbone, Ember, Grunt, etc e adoro aproveitar o tempo livre para colaborar com outros projetos também. Uma hora ou outra estou ajudando alguns projetos independentes de amigos.

Qual hardware você usa?

Atualmente uso somente um MacBook Pro 15" Retina, estou pensando — desde sempre — em começar a usar um monitor extra, mas a vida é muito curta e acabo não fazendo isso.

Não tenho nenhum equipamento especial além do notebook, meus mouses favoritos são os mais simples e com fio da Microsoft. Não gosto de aparelhos que precisam de pilha. Meu mouse mate é uma pilha de papel.

Workspace fofuxo de Leo Balter
Workspace fofuxo de Leo Balter.

Como vou pra muitos eventos de desenvolvimento e acabo levando minha máquina, a mochila precisa ser confortável, durável e impermeável. Uso uma mochila level8 que é bem flexível e me livra de usar malas em viagens pequenas.

Além do computador muito bom, a próxima dica para garantir o conforto no dia a dia é arrumar a cadeira mais confortável possível, não tenho nenhuma em mente mas também acho que depende de cada pessoa experimentar antes de achar a que se sinta um rei. Ela será o verdadeiro salva vidas para uma jornada longa, não gaste dinheiro com outros acessórios antes de gastar uma boa quantia na cadeira.

Qual software você usa?

Há uns 5 anos uso OS/X e o conforto é fundamental, IMHO. Guardo minhas configurações básicas em um repositório no Github e fica fácil migrar pra máquina nova, quando necessário.

Após ter sido Mozilla Rep por mais de 2 anos, eu não escondo minha escolha pelo Firefox como meu navegador favorito. Acompanho ele desde o seu nascimento e após uma época de muita lentidão e interface de cara velha, ele se renovou e está rápido o suficiente e seu devtools está bem interessante. O Chrome é bom, e eu amo a concorrência entre os browsers, pra mim é fundamental na corrida para quem tem maior quantidade de padrões implementados.

Para programar, uso o iTerm 2, o homebrew para instalar os pacotes básicos no mac, como o Git 2.0.4, o Vim 7.4, NodeJS, etc. Para editor, além do Vim tunadão — olha lá nos meus dotfiles — assim como o Sublime Text 3, o único plugin que realmente uso com alguma frequência é o do ESFormatter do Miller Medeiros. Após uma tentativa frustrada de usar o Atom, estou dando uma chance para o Brackets, editor Open Source da Adobe. Ainda tem muito código a ser implementado, mas a equipe é rápida e atenciosa nos feedbacks e o sistema de plugins como módulos NPM é inspirador.

Minhas buscas são feitas no DuckDuckGo. Meu leitor de feeds é o NewsBlur, meu gerenciador de tarefas são as issues do Github.

Como trabalho quase 100% do tempo em JavaScript, sempre ando com vários browsers instalados assim como máquinas virtuais para testes no Windows. Costumo usar o Browserstack runner para rodar meus testes em vários browsers e sistemas ao mesmo tempo de forma automatizada.

Uso muito e acompanho o Grunt desde o seu surgimento e até hoje nunca vi um motivo suficiente para trocá-lo por outro automatizador de tarefas, gosto da ideia do Miller Medeiros de executar tarefas diretamente do NPM script, mas quando as coisas ficam complexas, prefiro arrumar tudo em um Gruntfile.

Uso o QUnit para testar o QUnit e acabo testando também o code do jQuery, o jQuery UI e o jQuery Mobile com as mudanças que faço para garantir a retrocompatibilidade. Não curto a sintaxe do Jasmine, mas curto ver suas funcionalidades assim como o que tem no Mocha, no NodeUnit e no Tape, aos poucos vou garimpando o que há de bom nessas e posso melhorar o QUnit. Se pudesse indicar apenas um lugar para referências sobre testes, o site do [Martin Fowler][martin- fowler] é talvez o melhor. Como posso indicar mais, recomendo muito o livro Testable JavaScript.

O que te motiva a fazer o que faz?

Video games. Aprendi a programar por causa dos jogos. Queria hackear os jogos na forma mais pura da vontade. Mil vidas obtidas na ideia do que seria algo sem muito esforço. Eu não programo jogos, mas fico encantado com a ideia que tudo por trás é código e pra mim não é nada mais que um jogo resolver uma issue de um projeto. Ver cada software funcionando é um motivo de orgulho.

Uma outra motivação que me mantém como desenvolvedor são as comunidades. Trabalhar em uma área onde posso compartilhar conhecimento é sensacional. Me inspiro muito quando vejo tantas pessoas se reunindo para um bem maior que é o conhecimento distribuído via projetos Open Source. É ótimo ver como as coisas funcionam super bem assim.

Uma vez em um #horaextra me apresentaram o Small Acts Manifesto com a ideia básica de que simples atos podiam causar grandes revoluções. Foi nessa ideia que me reuni com uma galera e pensamos em criar o FrontInRio, inspirado no DevInRio, queria reunir e conhecer a galera de front end, até então super fragmentada. Na mesma época surgiu o BrazilJS e 2011 deu início à revolução onde agora temos várias comunidades e FrontIn*s acontecendo em dezenas de cidades no Brasil e já ouvi notícia que estão organizando até um FrontInAmsterdam, quem sabe? Não organizei nem todos os FrontInRio, mas tenho um orgulho imenso por me sentir um tanto culpado.

Um herói?

Meu pai é meu super herói de vida e profissional. Ele também é programador, trabalha com mainframes no IBGE e foi além de meu professor, também meu revisor e fonte de inspiração. Dele já veio todo o apoio necessário para qualquer motivação que eu precisava, desde mudar de carreira assim como passar por um processo difícil e demorado para ir pra outro país. É perfeito ter alguém próximo da família que entende e até me ajuda quando falo sobre algo que estou fazendo.

Minha família e amigos também fazem parte da academia artística da minha vida. Minha mãe é empreendedora e foi a primeira a me ensinar que empreender vai muito além de criar uma empresa, mas sim fazer algo que eu possa contar para meus filhos e netos no futuro. Aprendi com ela que o sucesso vem das coisas mais loucas, triste é quem não muda, além de ter comprado a maioria dos meus video games quando eu ainda não tinha grana. Até mudar de carreira ela também já fez e quando anunciei que ia largar Direito ela agiu na maior naturalidade: "você já devia ter feito isso antes".