O currículo ideal

Muitos alunos na Produto Reativo — principalmente iniciantes — me pedem ajuda sobre o que deveriam colocar no currículo. Eu avaliei e avalio candidatos há anos, mas poucos acertaram o currículo que eu gostaria de receber, vou dar um exemplo que acredito que pode não agradar a todos, mas vai fazer seu currículo ser pelo menos olhado.

O que eu quero?

É muito complicado me apresentar quando eu estava começando na carreira, as vezes até hoje depois de quase duas décadas eu me pergunto: como expor todo meu potencial?

Acredito que um currículo direcionado seja um caminho mais seguro pra você até decidir se aquela vaga realmente é interessante e você deseja passar meses ou anos naquela empresa. Vou usar como exemplo a empresa que eu trabalho, a Greenmile, para montar o meu currículo.

Imagina que vi um anúncio de “estamos contratando”, sim, não é fictício, é real.

Quem é a empresa?

Primeiro dever de casa é saber o que vou enfrentar, dou uma olhada no site, vejo o segmento de mercado que ela atua e a coisa mais óbvia a se fazer é tentar entrar em contato com o RH ou o setor técnico, já que é pra aonde eu mandarei meu currículo, pra entender como participar do processo e o que eles esperam.

A empresa tem vários segmentos em dev, mas o que me atrai é a vaga pra Frontend, vamos então entender o que eles tem e o que desejam.

Informam-me por email que a base legada é em cima do Backbone e muito javascript, além de css explorado ao máximo, usando APIs de mapas, I18n, etc.

Quais as necessidades futuras?

Consigo arrancar a informação que existe um processo em andamento de migração dessa base pra o ecossistema React, tanto o web quanto o Mobile híbrido, necessidade de explorar ao máximo a API do HTML 5, entre outras coisas.

O processo inclui um desafio simples, mas que esconde algumas verificações sobre a minha proficiência sobre a plataforma que desenvolverei, as opções são: implementar com Javascript puro, o plain javascript, ou implementar com React e suas bibliotecas.

Código e Currículo

Bom, é aqui que se dividem as escolhas em cima do que estou disposto a realizar pra conseguir a vaga. Tenho que me fazer algumas perguntas:

1 — Já conheço React a ponto de tentar impressionar e demonstrar o quão posso ser flexível? A empresa não deu um prazo, pelo contrário, me pediu, eu quem tenho que dizer em quanto tempo vou entregar.

2 — Não me sinto seguro em tentar uma biblioteca que ainda não domino? A empresa me informou que pode ser em plain JS, o conhecimento sobre a linguagem é mais importante pra eles do que em frameworks e bibliotecas.

Observe que agradará a empresa que eu realize com sucesso seja qual abordagem seguir. A chave é: entregar com qualidade!

Vamos montar o currículo

Resolvi pedir duas semanas para entregar o desafio em React, vou me dedicar a aprender a biblioteca e implementar com as melhores práticas que conseguir aprender.

Monto meu currículo como:

_________________________________________________________________

Christiano Martins Milfont de Almeida — cmilfont@gmail.com / (85) x xxxx-xxxx

Gostaria de trabalhar na Greenmile porque acredito que posso agregar valor na migração de Backbone para React, comecei a estudar há 15 dias estudando a documentação oficial, o curso da Code School e um livro que comprei (link e nome para o livro se possível). [claro que poderia colocar: fiz o curso na Produto Reativo]

Segue link no github [link aqui] para a implementação do desafio da Greenmile.

Faculdade Lourenço Filho: 7 semestres. A cadeiras que obtive maiores notas foram álgebra linear e álgebra linear computacional (se voce tiver pesquisado no site da empresa vai entender essa referência, mas só coloque se puder demonstrar, of course).

Último emprego relevante para essa vaga: Estágio na XYZ, codificava em Javascript usando knockout e minha grande contribuição foi a implementação de um updater pra Web Worker. Meu currículo completo [link para linkedin]

Meus últimos 3 livros técnicos:

1 — Domain Driven Design, ainda não terminei, estou relendo o capítulo sobre “The Life Cycle of a Domain Object” porque tem alguns conceitos que nunca implementei ou tive a oportunidade de enfrentar antes.

2 — React.js Essentials, reli principalmente os capítulos 5 e 6 para entender como funciona o ciclo de vida de um componente para realizar o desafio da Greenmile.

3 — Understanding ECMAScript 6, terminei o livro para atualizar meu conhecimento sobre a linguagem Javascript.

Tenho conhecimentos em Ionic, Mobile nativo pra android, cordova e Java com Spring e Hibernate. Tenho estudado Nodejs há 12 meses e implementei esse POC [link no github para o exemplo].

Consigo ler em inglês sem problemas, mas tenho a deficiência de não falar fluente.

_______________________________________________

Bom, claro que é trabalhoso você fazer um currículo para cada empresa, mas um conselho que posso dar é que se seu currículo é genérico suficiente para se encaixar em qualquer vaga você está concorrendo para as vagas mais genéricas existentes, aquelas que pedem:

Java, C#, Go, Javascript, CSS, HTML, Oracle Form-Reports, Delphi, Planilhas do Excell, falar inglês e espanhol fluentes, saber fazer café.

Sim, estamos contratando, enviar email pra jobs@greenmile.com.br

Biohacking

A culpa é da genética

tl;dr

No final de 2013 eu estava com síndrome metabólica ao extremo, depois de várias tentativas de emagrecer eu descobri a fórmula pra não continuar o nerd sedentário com saúde frágil.

Vida de atleta

Durante a época escolar eu sempre fui atleta, jogava basquete, futebol, depois na adolescência fui treinar Jiujitsu. Muito magro, com 1.8m eu pesava cerca de 72kg.

Casei, entrei na faculdade de computação, não necessariamente nessa ordem, vida de adulto e anos treinando o “engordamento”.


Durante aproximadamente uma década eu tentei de tempos em tempos estancar a gordura e seguia sempre a regra de restrição alimentar e exercícios extremos além da capacidade que minha vida permitiria quando eu me frustrasse e isso era comum. Tentei todo tipo de coisa, visitei centenas de nutricionistas, literalmente.


A última tentativa real foi um projeto para um jornal local aonde eu deveria correr 10km — começou com 5km o desafio.

Venci, desci de 116kg pra 92kg.

Meses depois já estava com os lindos 120kg novamente.

Nos tempos áureos eu cheguei a 130kg, uma criança inglesa com bochechas rosadas.

Correi uma meia maratona.

#fim R.I.P.

Renascimento

No finalzinho de 2013 já com a saúde cambaleando, rinite & refluxo sem trégua e remédios sem funcionar. Corta a cena para eu trocando receitas de remédios com a última médica que fui tratar rinite, a dela estava mais forte que a minha.

Contraí uma bactéria super resistente que levou 5 antibióticos diferentes pra matar, já sem esperança de qualquer coisa, a medicina tradicional já estava mandando eu rezar ou procurar uma “benzadeira” (nordestinismo para uma xamã local).

O último suspiro foi quando entrei na sala do último nutricionista que tentei e o cara parecia que ia morrer na minha frente, obesidade mórbida, na hora travei e respondi: “desculpe, aqui não é a sala do cardiologista?”. Corri dali pra nunca mais.

Um dia pesquisando na internet por “Reflux and rhinitis” no google eu caí num fórum aonde um irmão de fé falava sobre a #paleo, de cara não levei muito a sério, já tinha ouvido falar e lido um pouco sobre essa brand, mas ligado a esportes e coisas do tipo.

Mas o testemunho de que tinha se livrado dessas moléstias me chamou a atenção, até então eu nunca havia questionado as diretrizes oficiais que fui levado a crer. Não custa nada tentar, já pisei no cocô mesmo, só resta abrir os dedinhos pra não sapatear.

Whole30

Bom, como qualquer pessoas religiosa e com fé inabalável eu resolvi fazer o mais óbvio, procurar o que a ciência dizia sobre isso.

Minha surpresa pesquisando nos fóruns médicos e o que se dizia era o contrário do que eu imaginava, daí resolvi procurar algum método que fosse o estado da arte da coisa, cheguei no Whole30.

Sofrer comendo porco

Preço alto a se pagar

Todas as dietas que eu fui receitado anteriormente se limitava a coisas integrais sem graça — integral no sentido de farinha integral — e sucos idiotas, eu odeio suco, odeio fruta.

O Whole 30 me mandava ficar longe delas, humm… tem algo de válido aí, e dizia pra eu parar com qualquer farinaceos, pra um amante de massas isso era triste e doloroso, mas…

Voce pode sofrer com uma dieta extremamente restritiva comendo costela de porco, bacon, carré, filet, galinha, quaisquer animais. Peixe e frutos do mar também, sim, não são animais ora pombas, são frutos do mar.

Com 15 dias, EU DISSE: apenas motherfuck 15 dias eu já tinha me livrado da Rinite e do refluxo. QUERO OUVIR BEM ALTO: APLAUDE DE PE’ IGREJA!

Vida de atleta: O retorno

Com duas semanas eu estava com os sentidos tão apurados quanto um Wolverine, conseguia sentir cheiros que eu nem sabia que existiam, concentração como de um felino, não dá nem pra explicar. Falei pra mim: tem coisa aí que a mídia capitalista a serviço do vil metal não quer que saibamos.

E pra esporte, o que posso aproveitar?


Meu esporte são artes marciais, especialmente o Jiujitsu e a Luta Livre, vamos ver o que conseguimos aprender pra aplicar nisso, então durante 2014 foi de estudo e experimentação, em 2015 eu resolvi competir pela primeira vez na vida no esporte que mais gosto. Na verdade foi em dezembro de 2014.

Agora com 84kg em média e sem engordar mesmo voltando a comer massa e beber cerveja, já falei dessa paixão antiga? 😦

Esse vício tenho desde que me lembro da vida, lá no começo da década de 90. Sim, sou redneck que cresci no interior da Caatinga, aprendi a beber cedo.

O que aprendi

Bom, no começo eu procurei um endocrinologista que me recomendou uma bateria completa, alguns exames que fiz:

https://gist.github.com/cmilfont/06c6570bd16d84caf4dd

Desde então fui acompanhando a evolução dos números, devo dizer que parei ano passado ainda quando cheguei por volta de 600 de testosterona (tenho quase 40 anos). Mas voltarei em 2017 a acompanhar novamente, esse ano foi de muito pecado.

Os exames de sangue e deficiências logo no início de 2014 me mostraram que eu precisava suplementar com:

https://gist.github.com/cmilfont/b1a1968f0357debfb1c3

Notei depois conversando com muitos amigos que tinham um perfil parecido com o meu que é meio padrão ter deficiência em D e E se voce é um gordinho nerd. Mas isso não quer dizer que pega essa lista e saia comprando, faça os exames antes.

Jejum intermitente

Como de tudo, essa semana mesmo foi num rodízio de massas, bebo constantemente, mais constante do que gostaria, mas enfim.

Uma prática que me mantive fiel foi do Jejum, mas não considero 16h um jejum, isso é já o mainstream pra mim que como apenas duas vezes por dia, as vezes uma. Jejum é quando faço 32h, pelo menos uma vez por mês.

Não gosto de comer pela manhã, nunca curti, foi libertador saber que o café da manhã não é a refeição mais importante do dia, porque você nem precisa ter refeição no dia.

Acha jejum uma loucura?

Bem, pesquisa sobre o prêmio Nobel de medicina sobre a autofagia. Não vai ser comendo de 3 em 3 horas que você vai ter uma boa saúde.

Carbohidratos

Cada indivíduo tem uma resposta muito particular a essa substância maligna de lucifé. Deliciosa, mas maligna. O problema com carbs e açucares em geral é que eles interferem na insulina, o hormoneo que manda em você.

O que notei pra mim, carbs a noite são menos letais em todos os sentidos alinhado com o quê John Kiefer fala no Carb Nite. Então se vou errar, que seja a noite, isso funciona comigo.

Não sou mais #lowcarb há muito tempo, não no sentido clássico, apesar de que as refeições durante o dia quando ocorrem eu tento evitar, mas pastel é meu fraco e sou fraco.

Estou aqui fazendo um post auto-crítica pra alguém que precisa voltar a viver numa vida abençoada longe dessas coisas, mas agora sem a cobrança anterior de achar que é determinístico e que o problema é comigo.

Vamos aprender juntos

Apesar de ter lido uma centena de papers no PubMed, uns 15 livros, mal decorei o ciclo de krebs — ninguém aprende isso de verdade na escola — vamos aprender juntos como hackear nossa biologia, venha discutir e questionar numa comunidade que criamos no Facebook.

Terminei um post sobre lowcarb e práticas de qualidade de vida sem mencionar o Dr Souto, um record.

Enfim, só queria fazer um textão pra resumir que temos jeito, não é assistindo o programa Mal Estar da Rede Tupi, é procurando a sciencia.

Os músculos do Javascript

Existem várias reclamações sobre a Fadiga do Javascript, que seria um excesso de bibliotecas pra aprender.

O choro é livre principalmente para quem detesta estudar e aprender coisas novas, mas Javascript ainda está longe de atingir o grau de maturidade de outras plataformas e necessita de muito mais.

Resolvi postar sobre isso depois de ouvir caras que respeito muito falando sobre algo que discordo vorazmente no Hipsters.tech #16 sobre essa linha de raciocínio de excesso de bibliotecas e sobre SPA no geral, “ouva” lá antes e volte aqui.

MVC não é o que voce pensa

Alguém citou e isso tem sido recorrente que o MVC acabou ou que o React é outra abordagem.

Vamos ao básico, o padrão de 3 camadas se confunde muitas vezes com o MVC no conhecimento de muitos desenvolvedores, mas as camadas são: Apresentação, negócio e persistência.

Na camada de apresentação você tem o padrão MVC que tem a ver com responsabilidades, não artefatos. JSF era MVC, não é porque é Component-based que não faz MVC.


Esse padrão que foi criado por Trygve Reenskaug em 1979, sim, em mil-novecentos-e-setenta-e-nove, já demonstrava que fazer MVC não é criar classes/objetos pra cada uma das responsabilidades, pode inclusive ter tudo em um componente só ou não.

Talvez o que alguns garotos queiram dizer se refere ao Model 2 popularizado pela finada Sun (seus espólios são da Oracle) no final do milênio passado, mas nem isso é o fim porque no lado Frontend nunca foi realmente igual.

2M de Javascript só incomoda quem faz blog ou site de notícias

Existem necessidades que são bem distintas, um blog ou site de notícias de um jornal são bem claros. Você pode até usar um React no server-side pra renderizar aquele conteúdo, mas no lado do cliente, no navegador dele há bem pouca utilidade de um SPA. Talvez na área administrativa, por isso o próprio WordPress tem dado uma guinada ao mundo do SPA no seu wp-admin.

Para webapps como E-commerce o campo já fica meio nublado, parte é apresentação de conteúdo como um site de notícias, mas parte é de gerenciamento das vendas, é um híbrido entre o admin e a landscape. Esse tipo de segmento é mais difícil de avaliação.

Mas o mundão Enterprise, o da gravata com planilha, o coporativo raiz, IDE toquinho de lado, form-grid-report arte, esse é tão claro pra definir quanto notícias. Aqui não tem rapapé de otimização de kb pra abrir a landscape mais rápida e não perder 1% de vendas.

Essa área é justamente tornar a vida do desenvolvedor mais fácil pra não criar features que devem durar meses, senão anos, intocáveis e cheias de bugs. Se voce vive a realidade de agências, aqui é a outra extremidade.

Faltam bibliotecas

Hoje temos tradutores de especificações novas que ainda não foram implementadas nos navegadores, além de traduzir extensões bacanas como decorators. Grite a plenos pulmões um G’d Save the Babel.js.

Uma plataforma no terminal do seu computador pra rodar tudo isso, alô Nodejs. Um gerenciador dessa plataforma, seja bem vindo nvm.

Um gerenciador das dependencias acoplado, o npm que mata nossa inveja do Maven, sim, pra ver como a vida era dura, tínhamos inveja do Maven. Não satisfeito com a performance, o Facebook até criou um melhor em cima, o yarn, mas que na altura desse post ainda tem alguns probleminhas.

Você tem um validador moderno, eslint, que o Airbnb preparou excelentes configurações.

Vários pré-processadores pra tornar o lixo que é o CSS em algo produtivo. Postcss funciona bem com Stylus se você for conservador e detestar ser Early Adopter. Se você quiser explorar mais pode entrar no mundinho do inline entrando cada vez mais a fundo.

Usar especificações do Material Design do Google já prontas em alguma implementação como o Material-UI.

Ecossistema completo com React, react-router, redux (estado dos dados), redux-saga, etc.

Ecossistema de testes com Enzyme, sinon, chai, mocha, nyc e istanbul que formam o ambiente mais produtivo que já trabalhei pra Unit tests.

Nem falei sobre o Webpack, grunt, gulp…

Poderíamos passar o dia falando sobre libs aqui que tornam nossa vida mais fácil. Se não conhece nada disso e quer começar, só precisa instalar o create-react-app que tem tudo embutido magicamente pra você enquanto se familiariza, se é que um dia pode precisar abrir o capô e olhar o motor.

O que falta?

Ainda temos um longo caminho, apesar de specs como Service Workers estarem fora do radar do Edge, temos um grande ganho nos últimos anos pra trabalhar offline, thread no processamento sem bloquear a página e navegação sem precisar usar o cerquilha (#).

Agora que chegamos no nível de produtividade que uma comunidade Java, por exemplo, chegou em 2006. Agora vamos resolver problema sérios de como particionar Apps, gerenciamento de dependências em microservices no Frontend que ninguém ainda consegue ter uma idéia que seja padronizada.

Web Socket é algo inviável também num mundo com Mindset stateless e async, long poling é ainda a técnica mais usada infelizmente.

Mas falei sobre JSX?

Espero que a próxima spec de Web Components reconheça que o React é superior a todas as outras abordagens e faça como o pessoal do JCP lá no Java fez, assuma que Hibernate + Spring eram superiores e refaçam as specs copiando o que eles ditaram mesmo que mudando os nomes dos métodos e classes só pra não dar o braço a torcer.

Antes de reclamar, principalmente se entrou no ônibus agora e já quer sentar na janela, estude, só isso.