Search Adaface test library by skills or roles
⌘ K
Blog Guides Guides on How to Hire

Como entrevistar engenheiros de software

As entrevistas são uma exibição muito vulnerável de nós mesmos e estou extremamente honrado pelo fato de que cerca de 400 engenheiros estranhos sentaram comigo para entrevistar e me ensinaram como fazer isso direito.

Anteriormente, reuni uma equipe de engenheiros brilhantes como Google, Facebook e Amazon para uma startup financiada como gerente de produto e montei uma equipe de tecnologia totalmente nova do zero para o FusionCharts como consultor de produto. Agora estou fazendo isso em escala, como cofundador da Adaface , onde automatizamos a triagem técnica da primeira rodada com nosso chatbot, Ada.

Uma vez que tem sido uma parte essencial do meu trabalho há vários anos, tenho trabalhado na elaboração de um processo de entrevista pelo qual gostaria de passar por mim mesmo, um que nos ajude a encontrar os engenheiros mais adequados para a função e, o mais importante, um entrevista onde os candidatos saem do prédio com um sorriso.

Como entrevistar engenheiros de software?

Este post é um resumo do que aprendi até agora e apresentarei insights acionáveis que os gerentes de contratação podem incorporar em seu processo de contratação. Vou dividir meus aprendizados em 3 seções:

  1. Entrevista técnica
  2. Tomando uma decisão
  3. Etiqueta da entrevista

Entrevista técnica

1. Faça perguntas que o ajudem a pontuar os candidatos de forma granular.

Então, como decidimos quais perguntas fazer? Não faça perguntas capciosas apenas por causa de um filtro. Os candidatos ficam chateados. E não lhe dá nenhum sinal significativo sobre a habilidade do candidato. Ninguém está feliz.

Só porque há uma questão que apenas 5% dos engenheiros podem resolver, não significa que esses candidatos sejam os 5% mais adequados para a função. Além disso, essa maneira de medir a habilidade de um desenvolvedor tem um viés inerente contra desenvolvedores mais experientes.

  • Não deixe que cada entrevistador decida quais perguntas fazer aos candidatos aleatoriamente.
  • Faça perguntas para todos os níveis de pontuação 1, 2, 3, 4 (aumentando os níveis de dificuldade/anos de experiência).
  • Cada pergunta precisa ser resolvida por todos os entrevistadores antes que eles comecem a entrevistar os candidatos. Em seguida, permita aos candidatos um subsídio generoso de 3x o tempo para resolver essa questão.
  • A ideia por trás de fazer perguntas específicas em uma entrevista é entender a habilidade do candidato em uma determinada habilidade. Isso significa inerentemente que não podemos fazer todas as perguntas a todos/as mesmas perguntas - isso seria uma perda de tempo. Se um candidato não conseguiu resolver 2 questões de dificuldade média, não adianta discutir uma questão difícil só por isso. Fazer uma pergunta mais fácil fornecerá dados úteis sobre a posição do candidato nessa habilidade.

2. Tenha um mecanismo de pontuação consistente.

Depois de um pouco de iteração, me deparei com o que gosto de chamar de uma maneira de pontuar: suponha-o-candidato-é-excepcional. Veja como funciona:

  • Ao apresentar uma pergunta, assuma que o candidato a resolverá da melhor maneira possível e dê a ele um 5.
  • Ao longo da discussão, adicione pontos negativos para coisas que importam e o candidato não se sai bem.
  • Por exemplo, para um papel que requer um bom domínio de algoritmos, -1,5 por ser capaz de chegar apenas a uma resposta não otimizada na tentativa #2, -1,5 se tivermos que dar ao candidato uma dica muito reveladora para seguir em frente, -2 se ele desista cedo demais, -0,5 se perder casos de borda e assim por diante.
  • Adicione os números no final da discussão para essa pergunta e escolha a próxima pergunta de acordo.

3. Os candidatos são os melhores juízes de suas habilidades.

A maioria dos candidatos sabe o quão bom eles são com uma habilidade específica, mas geralmente se auto-relatam incorretamente por 2 motivos: viés e escalas desalinhadas.

Há uma maneira fácil de corrigir os dois:
Viés → peça para provarem com dados.
Escalas desalinhadas → conte a eles sobre sua escala e peça que eles classifiquem sua escala.

A maioria dos engenheiros é inteligente para recalibrar se você explicar sua escala.

Normalmente, explico minha escala de conhecimento de habilidades aos candidatos:

  1. Você conhece a sintaxe e as palavras-chave o suficiente para pesquisar no Google, use o Stack Overflow e faça o trabalho.
  2. Você tem experiência em lidar com um projeto de ponta a ponta usando a habilidade. Isso pode ser verificado analisando seu código, capturas de tela, entendendo a escala/impacto/desafios do projeto.
  3. Você conhece os aspectos internos da habilidade, padrões de design e atualmente realiza revisões de código para outros engenheiros em sua empresa para essa habilidade. Isso pode ser verificado passando por suas revisões de código (se possível) e perguntando quais padrões de design eles procuram.
  4. Modo Zen: você está escrevendo bibliotecas e lançando novas versões dessa habilidade.

E pergunto aos candidatos como eles se classificariam nesta escala para todas as habilidades que conhecem. Quase todos os candidatos pontuam dentro de uma faixa de erro de -0,5 do que eu acabo pontuando. Use isso a seu favor para saber em quais habilidades focar mais e no que gastar menos tempo.

4. Faça pelo menos uma pergunta em que eles tenham dificuldade.

Isso pode parecer maldoso até certo ponto e talvez seja. Mas se você fizer 10 perguntas a um candidato e ele resolver todas as 10 com facilidade, ele perceberá que é uma entrevista fácil e associará isso ao quão desafiador o trabalho pode ser. Isso pode fazer com que eles não fiquem muito empolgados com o papel. Quanto mais difícil é chegar a algum lugar, mais apreciamos. Além disso, fornece muitos dados significativos sobre como eles reagem em uma situação difícil / estressante.

Obviamente, isso não significa que temos que fazer as perguntas difíceis e fazê-los sentir que perderam. A intenção é bem oposta. O candidato e o entrevistador estão avaliando um ao outro. Vamos empurrar uns aos outros para ter pelo menos um desafio que seja novo para que a discussão nos ensine algo novo, independentemente do resultado.

Então eu acabo fazendo pelo menos uma pergunta (tenho uma lista prática de algumas perguntas que são realmente boas/difíceis) para bons candidatos e deixo-os com isso.

Tomando uma decisão

1. Crie um scorecard à medida que avança e verifique o viés mais tarde.

Não escreva os scorecards após a entrevista. Você vai esquecer muito do que aconteceu durante a entrevista, a pontuação não será tão granular. Ao mesmo tempo, certifique-se de verificar o viés no final. Você marcou alguém mais alto apenas porque eles são de uma faculdade de nível 1? Você os marcou mais alto ou mais baixo porque eles são do sexo oposto/mesmo? Ou porque eles eram muito parecidos com você?

2. Obrigue-se a dizer sim ou não escolhendo escalas melhores.

Não gostamos de nos apropriar de coisas para as quais não nos inscrevemos. É difícil assumir uma postura de rejeitar ou contratar alguém e muitas vezes acabamos dizendo 'talvez' para que outra pessoa precise tomar essa decisão. Force-se a não fazer isso. Uma maneira de fazer isso é escolhendo uma boa escala. Se você escolher uma escala de 1 a 5, a maioria dos entrevistadores escolhe 2 ou 3 ou 2,5 ou 2,75 (qualquer coisa que os deixe à vontade para estar na zona de 'não sei, deixe outra pessoa tomar a decisão').

Aqui está a escala que eu acho que os entrevistadores devem usar para a decisão final sim/não: 1 - 4

  1. Se eles forem contratados, eu me demito.
  2. Não os contrate.
  3. Contrate-os.
  4. Contrate-os, senão eu desisto.

Os prós dessa escala são que não há talvez e há sim ou não polarizados. Quando todo entrevistador segue essa escala, fica fácil discutir um candidato no contexto de sua contratação.

3. Contrate. Não fique muito preso em encontrar o melhor absoluto. Fique bem em fazer contratações calculadas "talvez".

Existem gerentes de contratação que nunca comprometem a "barra"/"qualidade" dos candidatos. Mas no final do dia, precisamos executar. Precisamos nos aproximar da missão da empresa. Então, como decidimos se vamos contratar ou não? Construa uma estrutura de decisão que dê resultados (contratações reais) e corrija o curso à medida que avança. Para este fim, acredito que uma versão humana da estratégia contratar rápido, demitir rápido é melhor do que não contratar ninguém.

Se sempre contratamos todos com uma estrutura rígida, acabaremos com um pensamento semelhante, não diversificado e, eventualmente, um grupo chato. Às vezes, vá com a intuição e faça poucas contratações do tipo 'talvez' ou mesmo 'não' se o projeto precisar disso, mas fique muito atento a quantas contratações você está fazendo. Quem será o gerente deles? Quais são suas responsabilidades? Configure 1-1s para verificar o desempenho deles. Configure processos/treinamento para ajudá-los a reverter seus pontos negativos ou dobrar seus pontos positivos.

Aqui está uma estratégia de contratação que funcionou muito bem para mim no passado:

  1. Se algum entrevistador disser 4, mesmo se alguém disser 2, contrate.
  2. Se ninguém disse 4 e pelo menos um entrevistador disse 1, não contrate.
  3. Se pelo menos 2 entrevistadores disserem 3, contrate.

4. Defina processos para revisitar sua estrutura de contratação.

Precisamos marcar reuniões no calendário para visitar nossa estrutura de contratação e seus resultados. Analise se nossas suposições estão corretas. As contratações "perfeitas" estão tendo o desempenho esperado? O que aconteceu com as contratações "talvez" - como eles estão se saindo?

5. Faça com que sua equipe se sente com o candidato para ver se há um ajuste cultural mútuo.

Seus amigos provavelmente sabem se seu parceiro atual é bom para você (ou não) e podem prever sua separação muito antes que ela aconteça. É o mesmo com uma equipe e um novo contratado. Sua equipe pode fornecer bons dados sobre o que eles pensam sobre a contratação culturalmente. Também dá ao candidato a chance de experimentar a cultura da empresa antes de tomar uma decisão final.

Etiqueta da entrevista

1. Crie um pequeno documento sobre as habilidades pré-requisitos e como você as avalia. Compartilhe com os candidatos com antecedência.

O que é um pré-requisito ou uma habilidade obrigatória? Se um candidato não tiver essa habilidade, não vamos contratá-lo. Idealmente, nem sequer os entrevistaremos se pudermos evitar.

Isso é um pouco de trabalho. Mas faça isso. Idealmente, você precisa ter isso bloqueado com todos os entrevistadores. Não deixe que cada entrevistador decida por si mesmo o que é importante para a função.

Compartilhe-o no e-mail de convite para entrevista que você envia aos candidatos. Depois que comecei a fazer isso, a conversa com os candidatos ficou muito mais efetiva. Lembre-se de que isso pode estar mudando constantemente para a mesma função, portanto, as equipes de aquisição de talentos e os gerentes de contratação precisam continuar repetindo isso.

Por exemplo: contratar o primeiro engenheiro iOS? Provavelmente quer que eles tenham conhecimento obrigatório de Swift. Segundo engenheiro de iOS? Talvez Swift não seja um must-have desta vez? Eles podem aprender no trabalho.

Ponto complicado: Contratar para uma função sem habilidades obrigatórias, como um engenheiro full-stack. Em casos como esses, aprofunde-se no tipo de trabalho que eles deveriam ter feito anteriormente. Quantos projetos/impacto entregue/tempo a pessoa trabalhou em alguma habilidade específica? Se a pessoa ficasse alternando entre os idiomas a cada trimestre sem nenhum projeto de alto impacto, ela poderia ser iniciante em tudo.

Uma vez que tenhamos reduzido as habilidades obrigatórias, também precisamos definir o alcance da especialização. Eles devem ser especialistas na habilidade e ser capazes de implantar novas bibliotecas por conta própria? Eles já deveriam estar fazendo revisões de código nessa habilidade? Eles devem ter experiência com um aplicativo de produção nisso? Qual é o mínimo que precisamos?

2. Quebre o gelo. Você primeiro.

Leva tempo para os candidatos se adaptarem. Portanto, não devemos esperar que eles comecem a falar sobre si mesmos. Faça um discurso sobre você, a empresa e a função à mão (escreva). De preferência as versões curta, média e longa. Comece com uma breve introdução de si mesmo e prepare o cenário para eles.

3. PERGUNTE-lhes o seu estilo de comunicação e adapte-se a ele.

Esta é provavelmente uma das coisas mais importantes em uma entrevista, e o que a maioria de nós erra. Especialmente porque todos os guias de entrevista sobre como esmagar uma tecnologia dizem aos candidatos que eles precisam pensar em voz alta. Mas nem todos funcionam assim. Alguns entrevistadores esperam que os candidatos os guiem pelo processo de pensamento enquanto resolvem uma pergunta, e isso é prejudicial para a categoria de engenheiros que não trabalham dessa maneira.

Eu entendo o porquê disso, e facilita o trabalho do entrevistador se o candidato falar em voz alta sobre o que está pensando, é muito mais fácil ver como ele está pensando em otimizar passo a passo e pontuar de acordo. Mas, precisamos aprender a trabalhar de uma maneira que seja mais propícia para o candidato ter o melhor desempenho.

Acredito que a melhor maneira é dar aos candidatos todas as opções antecipadamente. "Aqui estão algumas maneiras de fazer isso, o que você prefere?" Eles geralmente aliviam imediatamente.

4. A entrevista deve terminar deixando o candidato animado e inspirado.

Idealmente, todos, ainda mais se o candidato puder se encaixar perfeitamente. Fale sobre o impacto que VOCÊ criou na empresa até agora e quais são seus próximos projetos. Nada supera a honestidade e a experiência pessoal. Diga-lhes por que você está animado para estar na empresa e o que o inspira. Prove com dados. Se você não está animado/inspirado todos os dias sobre seu trabalho, provavelmente não deveria entrevistar. Essa é uma razão pela qual eu nunca pediria a alguém que tenha passado apenas 3-4 meses na empresa para entrevistar.

5. Por favor, seja gentil.

Vou terminar com isso, se você não fizer mais nada certo, por favor, certifique-se de não insultar um candidato, independentemente das circunstâncias. Um investidor pode ter desistido no último momento, você pode estar passando por uma separação ou qualquer outra coisa, nada é uma justificativa boa o suficiente para fazer um candidato se sentir mal em um ambiente de entrevista.

A parte de sua vida em que você está entrevistando para papéis pode ser extremamente estressante. E uma experiência de entrevista ruim pode matar a confiança de alguém, você nunca sabe o que alguém já está passando. Independentemente da qualificação (ou não) do candidato para a função, certifique-se de que cada candidato saia da entrevista com um sorriso no rosto. Isso é o mínimo que podemos fazer por alguém que demorou tanto tempo para nos entrevistar.

Se você deseja um procedimento passo a passo para realizar ótimas entrevistas, definitivamente deve ler o Guia do TalentLyft: Como ser um bom entrevistador , que explica a importância de ser um bom entrevistador e os melhores métodos para se preparar para uma entrevista.

Existem muitas empresas no mundo que têm processos de entrevista ridículos que causam estresse indevido aos candidatos. Por favor, seja um exemplo de como pode ser melhor.

P.S. Junte-se aos seus pares.
Subscreva a newsletter para hipergrowth.
Inscreva-se aqui
Confira outros posts populares
Projetar testes eficazes Guias sobre como contratar Tendências da indústria de contratação Práticas de contratação populares Insights salariais Atualizações e avanços tecnológicos Diversos

Avaliamos vários de seus concorrentes e encontramos o Adaface para ser o mais convincente. Grande biblioteca padrão de perguntas que são projetadas para testar para ajuste em vez de memorização de algoritmos.

swayam profile image
Swayam
CTO, Affable
Use a ferramenta de avaliação amigável mais candidata
EXPERIMENTAR GRATUITAMENTE

(100% livre para começar, sem necessidade de cartão de crédito)

A ferramenta de avaliação amigável mais candidata no mercado