Insights

Reconstruímos nosso próprio processo de contratação com IA

Dizemos aos clientes para começar pelo processo interno sem glamour que eles conseguem medir. Este é o nosso.

Recrutamos engenheiros seniores em grande escala, e duas etapas dessa operação dependiam do tempo escasso de especialistas: avaliar se um candidato é realmente tão bom quanto seu currículo diz e transformar um candidato qualificado em um perfil que um cliente queira ler. Ambas eram lentas e caras, e pioravam à medida que crescíamos. Nós as redesenhamos em torno da IA. Veja o que há por dentro.

Primeira etapa: o entrevistador limitava a avaliação

A triagem técnica exigia recrutadores com conhecimento de engenharia suficiente para avaliar desenvolvedores experientes em várias tecnologias. É um perfil de contratação muito específico, e até um bom profissional tem limites: alguém que domina Python e Django acaba avaliando um engenheiro sênior de Node, e uma conversa que começa em Python passa para infraestrutura em nuvem, bancos de dados, segurança e sistemas distribuídos.

O problema mais grave era mais sutil. Quando um candidato conhecia uma tecnologia melhor que o entrevistador, este não conseguia distinguir com segurança um conhecimento realmente profundo de uma resposta que apenas parecia correta. Por isso, a profundidade de uma avaliação dependia, em parte, de quem a conduzia.

E havia um limite rígido: cerca de seis entrevistas técnicas por recrutador por dia, com duas agendas para conciliar em cada uma.

O que construímos no lugar

Não automatizamos a entrevista. Perguntamos para que ela servia.

Para engenheiros seniores, a pergunta útil não é se conseguem resolver um exercício isolado. É como pensam: como lidam com a incerteza, quais alternativas consideram, se conseguem identificar vantagens e limitações, por que escolhem uma arquitetura em vez de outra e o que fazem quando uma solução introduz uma nova restrição. Desafios de programação não respondem a nada disso e pedem que candidatos experientes passem horas escrevendo código no início de um processo com o qual ainda não se comprometeram.

Por isso, construímos uma avaliação conversacional. O candidato recebe uma situação técnica e explica, com suas próprias palavras, como a abordaria. Não há um questionário fixo: o sistema lê cada resposta e decide como continuar. Uma discussão que começa em Python e chega a uma arquitetura em nuvem pode aprofundar essa arquitetura; se o projeto depende de uma estratégia de banco de dados, a conversa passa para projeto, desempenho e consistência. Ela acompanha o raciocínio do próprio candidato entre diferentes áreas, o que permite separar familiaridade teórica de experiência prática — e elimina a exigência de que um entrevistador domine pessoalmente todas as tecnologias que possam surgir.

Como consequência, duas coisas mudaram. As avaliações acontecem sob demanda e em paralelo, então os candidatos escolhem um momento em que estão preparados em vez de conciliar agendas, e a capacidade de avaliação deixa de depender do tamanho da equipe. Além disso, quando centenas de pessoas se candidatam, não precisamos mais escolher quem consegue uma das poucas vagas de entrevista com base principalmente em um currículo: podemos avaliar todos os candidatos e tomar a próxima decisão com evidências técnicas.

O resultado é estruturado, em vez de anedótico: a profundidade de conhecimento demonstrada, o nível de senioridade correspondente e a posição do candidato em relação a todos os outros que avaliamos. O inglês falado é avaliado a partir da mesma conversa. Ambos os resultados aparecem na visão do recrutador ao lado do perfil, como informações que uma pessoa lê.

Segunda etapa: o perfil que levava seis horas

Os candidatos qualificados ainda precisavam ser apresentados aos clientes no nosso formato padrão — experiência, responsabilidades, tecnologias e participação real em cada projeto. Tínhamos uma equipe dedicada a escrever esses perfis.

Nunca foi só escrever. Para representar um engenheiro sênior com precisão, você precisa entender como cada tecnologia foi usada em cada projeto, o que o candidato implementou pessoalmente em comparação com o que sua equipe entregou e quais detalhes realmente importam para o cliente. Sem esse contexto técnico, informações são omitidas, simplificadas ou discretamente exageradas. Cada perfil levava de quatro a seis horas; preparar um grupo completo de candidatos para um cliente levava de dois a três dias.

O agente usa a transcrição e extrai um esquema fixo: tecnologias por cargo e o verbo associado a cada uma — construiu, manteve, avaliou, migrou; o trabalho que o candidato implementou pessoalmente, separado do que a equipe entregou; seu papel e seu nível real de participação; os detalhes técnicos relevantes para apresentá-lo. Depois, escreve o perfil no nosso formato. Não é um resumo da entrevista — é um documento com uma função: tornar o perfil de um engenheiro sênior compreensível para alguém que decide em cinco minutos se quer conhecê-lo.

A parte difícil foram os pronomes. As entrevistas são contadas em “nós”. Um perfil precisa ser honesto sobre o “eu”. Um modelo solicitado a resumir transforma sem dificuldade “migramos o serviço de pagamentos” em uma afirmação de que o candidato migrou o serviço de pagamentos. Fazer com que ele examine cada frase para atribuí-la corretamente — e descarte a afirmação quando a transcrição não a sustenta — foi a maior parte do desenvolvimento. Essa é a diferença entre um perfil em que o cliente confia e um que ele apenas lê por alto.

Quatro a seis horas viraram cinco a dez minutos. Um grupo de candidatos que levava de dois a três dias fica pronto em menos de dois.

Como conquistamos a autonomia

Não ligamos o sistema e fomos embora.

Nas primeiras três semanas, a operação passou de três redatores para um revisor, cuja função era validar cada perfil gerado e apontar erros, omissões, inconsistências e casos limite. Cada correção virou uma regra: como lidar com um projeto descrito apenas no plural, o que fazer com uma tecnologia mencionada uma única vez de passagem e quando “liderou” significa liderar e quando significa participar.

Nas três a quatro semanas seguintes, iteramos com base no feedback de produção. À medida que as correções se aproximaram de zero, a etapa de revisão dedicada deixou de ser necessária. Três redatores → um revisor → nenhum operador dedicado, em cerca de sete semanas.

As regras que escrevemos antecipadamente estavam, em grande parte, erradas sobre onde surgiriam os problemas. A etapa de revisão não era uma sobrecarga. Foi assim que o sistema foi construído.

Os números

A produção de perfis passou de quatro a seis horas para cinco a dez minutos. O volume passou de cerca de 90 perfis por mês para cerca de 890 — a mesma operação, com uma ordem de grandeza a mais de candidatos apresentados. Na avaliação, a restrição que desapareceu é mais difícil de expressar em um único número: a capacidade de avaliação já não depende de quantos recrutadores técnicos temos, quando estão disponíveis ou quais tecnologias conhecem.

O objetivo não era automatizar duas tarefas. Era fazer com que a qualidade deixasse de depender de quem realizava cada etapa — agora, o mesmo padrão se aplica a todos os candidatos e se mantém à medida que o volume cresce.

O que diríamos a qualquer pessoa fazendo isso

Pergunte para que a etapa serve antes de automatizá-la. Poderíamos ter construído uma versão mais rápida da entrevista que já fazíamos. A entrevista de que realmente precisávamos era outra.

A qualidade da transcrição define o limite. Tudo o que vem depois — o perfil, a senioridade e o nível de inglês — herda os erros da transcrição. Dedicamos mais tempo a isso do que à escolha de qualquer modelo.

Deixe as correções escreverem as regras. Não suas suposições. Um revisor que marque problemas em resultados reais por algumas semanas vai ensinar mais sobre os casos limite do que qualquer quantidade de trabalho de projeto.

Meça a unidade. Horas por perfil. Entrevistas por dia. Não “produtividade”.

Construímos isso para nós antes de construir algo parecido para outra empresa, e é o mesmo padrão que agora aplicamos dentro das operações de outras companhias: encontrar onde a disponibilidade de especialistas, o conhecimento escasso ou as transferências manuais limitam o negócio e redesenhar essa parte em torno do que os modelos realmente fazem bem.

“Reconstruímos nosso próprio processo de contratação com IA” by Federico Roda is licensed under CC BY SA. Source code examples are licensed under MIT. Categorized under Notas de campo.

Related reading