[JOB] #### Primeiramente parabéns pelo conteúdo
Como foi o processo seletivo, chegou fazer algum teste prático, apresentar algum trabalho?
Oi Fellipe! Sim, na maioria das vezes tem testes práticos. Porque infelizmente tem sido muito comum pessoas se candidatarem sem ter capacidade para de fato fazer o que é preciso e todo mundo acaba perdendo tempo. A empresa, que precisa demitir e voltar ao processo seletivo, o candadito que é demitido e precisa voltar a buscar emprego. Por isso é importante respeitar seu nível e aceitar trabalhos que sejam de acordo com a sua realidade de conhecimento.
Eu já participei de alguns testes. Uns muito bons e justos, outros horríveis e até engraçados.
O primeiro que fiz e passei era um issue real no GitHub que a empresa precisava resolver. O contratante estimou que um developer precisaria saber resolver aquilo em até 1 dia (e, sinceramente, poucas horas seriam suficientes). Criou e disponibilizou uma máquina virtual com o que era necessário para debugar e tentar corrigir. Eu rodei a máquina virtual no meu computador usando o Vagrant e cai dentro da solução do problema.
Vale dizer que eu nunca tinha instalado máquina virtual e sequer sabia o que era Vagrant na época. O próprio líder técnico da empresa me explicou e me ajudou a configurar, porque não era isso que eles estavam buscando num candidato. Mas a competência de entender um código PHP/WP e debugar para entender a origem do problema, o que fiz de maneira bem rápida e com uma solução que gostaram bastante.
Também acho legal mencionar que meu conhecimento de WP na época não era muito profundo. Até então eu só havia feito freelas e não usava a maioria dos recursos disponíveis no WP. E isso não me impediu de ser contratado. Entender lógica de programação e estrutura básica de sistemas online é o mais importante para você entender qualquer sistema, independente da linguagem ou do framework adotado. Se você tem uma base sólida de como as coisas funcionam, você se adapta rapidamente e preenche as lacunas no seu conhecimento com pesquisas no Google.
O segundo teste que fiz e passei tinha duas etapas que eu poderia escolher a ordem:
- Criar uma landing page do zero a partir de um layout no Figma. Precisava ser usando SCSS, com Gulp,Grunt ou WebPack configurado no projeto. E alguns requisitos simples de interação com JS. Algumas coisas não foram ditas/solicitadas de propósito, como o mouse-over nos elementos, o carregamento de um vídeo do YouTube depois de um clique, a entrega de imagens para retina devices (@2x) e até mesmo o layout mobi da página que criei todo da minha cabeça. Com isso eles testaram tanto minha habilidade com front-end, como minha capacidade de entender e simplificar uma solicitação sem precisar ser muito detalhista no pedido.
Se você tem interesse nesse assunto, recomendo demais o canal do Kevin Powell no YouTube.
- Criar um plugin WP do zero - Como no desafio front-end, tinha uma série de requisitos a serem atendidos e vários outros "silenciosos" que deveriam ser subentendidos. Mas basicamente eu precisava usar coisas básicas do WP como shortcodes, wp_options, transients, funções de tradução, chamadas AJAX, wp_nonce, wp_cron, WP CLI, etc. Com o plugin pronto, além do meu conhecimento do universo WP, eles analisaram a qualidade/segurança do meu código, minha organização dos arquivos no plugin, como eu nomeio variáveis, se eu respeito o WP Coding Standards, entre outras coisas.
Já sobre esse assunto (plugin WP) eu tenho vontade de eu mesmo lançar um curso a respeito. Preciso me organizar :)
Não me deram prazo para resolver esses dois desafios. O que foi ótimo e pude conciliar com o trabalho que tinha na época. Mas é claro que existia um "prazo" subentendido porque uma hora eles iriam escolher alguém que já tinha enviado os desafios feitos.
Eu escolhi fazer a landing-page primeiro porque seria mais rápido e, em uma semana, envie ela pronto. Isso me fez "ganhar tempo" para desenvolver o plugin, que levei mais 2 semanas fazendo.
Agora os testes burros:
-
Uma vez me passaram um teste que me trancaram numa sala e pediram pra eu desenvolver um mini-site SEM ACESSO AO GOOGLE hahahaha. Eu quase levantei e foi embora. Mas isso foi para um trabalho presencial. Só achei legal contar. Não passei e nem queria passar. Devia ser um inferno trabalhar naquele lugar.
-
Teve um outro teste técnico de uma empresa da Alemanha que eu já havia sido aprovado pelo RH (porque o cara do RH me disse que por ele tava certo), que o cara marcou um horário. Conectamos. Ele compartilhou a tela dele, me mostrou um código JavaScript e perguntou "O que está errado nesse código?" HAHAHAHA Eu ri e respondi "eu não ter acesso a ele pra poder rodar e saber o que está errado". Ele já ficou meio puto e passou pra próxima questão. Me enviou um link de um CodePen, JSFiddle (sei lá) e pediu pra eu compartilhar minha tela. Eu compartilhei e ele explicou dizendo que queria ver eu criar o código JS pra fazer alguma coisa que eu não lembro o que era. Eu simplesmente não acreditei que o cara queria me ver programar em tempo real numa call de alguns minutos pra julgar minha qualidade/capacidade. LiveCoding é bacana pra streaming. Agora imagina fazer uma prova com o professor no seu cangote?!? É cada merda que a gente passa que parece mentira... Enfim, até tentei fazer alguma coisa, mas não completei o que ele pediu e desligamos a ligação. De raiva, eu voltei no CodePen, fiz o que ele tinha pedido com um pouco mais de tempo e calma. E fiz questão de fazer ainda melhor do que o que ele tinha pedido. Logo em seguida, menos de uma hora depois do início da call, eu enviei um e-mail para ele com o código, dizendo: "Aqui está a solução, melhor do que você gostaria de receber inclusive. E mesmo se você gostar, eu não quero trabalhar na sua empresa. Obrigado pela oportunidade de qualquer forma." E fechei uma porta que, certamente, era furada. Eu não queria ter um chefe daquele.
Tenho algumas outras histórias, mas essas são as principais. O ponto é que os testes técnicos variam DEMAIS de empresa pra empresa. Tem empresa caxias (aka burra) que cobra coisas teóricas que não se usam no dia a dia como scripts pré-prontos e não conseguem avaliar a capacidade do candidato em resolver problemas. Mesmo que você acabe precisando de algo mais específico, Google e StackOverflow tão ai pra isso. Por favor, JAMAIS decorem scripts. Entendem o que cada código faz. E, se possível, fujam de empresas que te avaliam como se você tivesse que saber tudo, não tivesse sentimentos, não ficasse nervoso e não respeita o seu espaço como profissional para errar, consertar, melhorar, construir, entregar.