Executando verificação de segurança...
1
3

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.