
Já falamos (e outros também) sobre as dificuldades dos graduados de bootcamps de programação que tentam encontrar emprego em TI com pouco entendimento do processo de contratação. Os empregadores se preocupam mais com as habilidades reais e projetos do candidato do que com seu certificado ou diploma de treinamento.
Então, como exatamente as empresas avaliam as soft e hard skills? Que perguntas elas fazem durante uma entrevista técnica? E o que os desenvolvedores júnior devem fazer se ainda não construíram seu portfólio profissional?
Claro, cada empresa tem seus próprios métodos para avaliar candidatos. Neste artigo, vamos contar como organizamos esse processo na Toimi.
Etapas de seleção
Em nossa empresa, o processo de seleção consiste em quatro etapas:
- Entrevista com um especialista de RH.
- Teste técnico.
- Entrevista técnica com um membro da equipe que possa avaliar as habilidades técnicas do candidato. As etapas 2 e 3 podem ser invertidas com base no feedback do RH.
- Entrevista técnica final com o CEO.
Durante a primeira etapa, o recrutador avalia o nível geral do candidato, o que significa conhecer sua experiência e competências, bem como avaliar o raciocínio lógico e as soft skills. Já falamos detalhadamente sobre soft skills em outro artigo, então não vamos nos aprofundar aqui.
Após a entrevista inicial, enviamos um teste técnico de 2-3 horas para não ocupar muito tempo do candidato. Usamos problemas preparados para diferentes posições, a maioria dos quais envolve recriar uma funcionalidade específica do nosso site. Dessa forma, garantimos que não usaremos nossos candidatos como mão de obra gratuita.
Processo de entrevista técnica
O objetivo de qualquer entrevista técnica é testar o quanto o candidato conhece sua área de trabalho. E a melhor maneira de fazer isso é fazendo perguntas, tanto práticas quanto teóricas. Não esperamos que a pessoa responda todas perfeitamente: alguém pode ter conhecimentos teóricos limitados e ainda assim ser um excelente programador. Especialmente considerando que a maioria dos nossos candidatos estudou teoria há muito tempo e pode ter esquecido muito. É improvável que algum candidato responda algumas de nossas perguntas, como por que você precisa de padrões DTO ou como as funções diferem dos procedimentos em um banco de dados relacional.
Obviamente, não vamos rejeitar um candidato só porque ele teve dificuldade em responder tais perguntas. No entanto, se você está se preparando para uma entrevista técnica, é bom revisar a teoria; no mínimo, isso fará você se sentir mais confiante. Isso é particularmente importante para desenvolvedores júnior, que não têm muitas habilidades práticas para demonstrar em uma entrevista. Por isso avaliamos os desenvolvedores iniciantes primeiro pela profundidade de seus conhecimentos e segundo por sua capacidade de pensar analiticamente e buscar soluções para problemas. E mesmo se a pessoa não conseguir resolver um problema, mas tiver a ideia certa, isso é um grande ponto a seu favor. Também podemos reformular uma pergunta se vemos que um candidato está tendo dificuldades; às vezes acontece de eles realmente saberem a resposta, mas simplesmente interpretaram algo errado ou se confundiram no caminho.
Codificação ao vivo e testes
Se você deve pedir aos candidatos para escreverem código durante uma entrevista técnica é um tema muito debatido, mas realmente é uma boa maneira de testar a competência. Naturalmente, é preciso ter em mente que a codificação ao vivo é sempre um processo estressante, então os candidatos podem tropeçar e cometer erros ocasionais.
Na maioria das vezes, usamos codificação ao vivo para avaliar web designers: pedimos que eles corrijam algo em seus projetos ou no teste técnico no console, já que a entrevista é realizada online. Mas planejamos expandir essa prática no futuro.
Outra forma de avaliar as habilidades de um candidato é testá-lo usando uma lista predefinida de perguntas e problemas, o que permite uma avaliação mais ou menos objetiva de sua experiência. Este método pode ser usado quando sua equipe não tem ninguém que tenha as competências necessárias para avaliar as habilidades técnicas do candidato. Por exemplo, quando precisávamos de um desenvolvedor Golang, encontramos testes prontos na internet, os estudamos e os demos ao entrevistador.
Reta final
A etapa final do processo de seleção é uma entrevista técnica com o CEO para revisar projetos do portfólio do candidato ou o teste técnico completado. Avisamos as pessoas com antecedência que haverá muitas perguntas esclarecedoras. Curiosamente, é aqui que a maioria dos candidatos falha, embora seus próprios projetos sejam o indicador mais claro de sua competência.
Para dar um exemplo, temos um desenvolvedor HTML/CSS em nossa equipe (olá, Bogdan!) que veio até nós sem experiência comercial e sem formação relevante. Para aprender por conta própria, ele passou um ano inteiro baixando layouts de sites da Internet e replicando-os. Durante a entrevista, nosso CEO naturalmente tinha suas dúvidas sobre a viabilidade de tal cenário, então ele fez uma enxurrada de perguntas sobre como esta ou aquela funcionalidade foi implementada - e obteve uma resposta detalhada para cada uma delas. Em outras palavras, o candidato demonstrou claramente um sólido entendimento do assunto.
No entanto, não são apenas as habilidades técnicas que procuramos em nossos candidatos. É importante para nós ver o quadro completo. A pessoa está disposta a aprender? Pode se encaixar na equipe? Quão responsável e honesta ela é? Se houver uma correspondência direta, podemos fechar os olhos para certa falta de experiência. Por exemplo, se um candidato conhece Vue e precisamos de React, é possível que ele possa aprender se houver vontade, porque esses frameworks compartilham muitas similaridades.