A IA matou a entrevista técnica. E agora?
(kanenarraway.com)- Todo mundo odeia o processo de contratação: gerentes de contratação, recrutadores e candidatos também
- A entrevista técnica é, entre essas etapas, uma das mais infames, e a maioria dos entrevistados a detesta
- No trabalho real, muitas vezes a atuação gira em torno de integrações simples de API, mas nas entrevistas é comum ver perguntas sobre teoria complexa e algoritmos
- Como no caso do desenvolvedor do Homebrew, usado por 90% dos engenheiros do Google, que foi reprovado por não conseguir inverter uma árvore binária no quadro
Mudanças nos últimos anos (fatores que enfraquecem a entrevista)
- Em entrevistas remotas, já houve casos de candidatos desligarem a câmera e contratarem outra pessoa para fazer a entrevista
- Houve casos de trabalhadores norte-coreanos tentando conseguir emprego com vídeos em deepfake
- Com o surgimento de ferramentas de codificação automática como GitHub Co-pilot e Cursor, além de LLMs como Claude e OpenAI, ficou fácil resolver perguntas básicas de código e Q&A
- A IA está passando a intervir em tudo, da elaboração do currículo a candidaturas em massa e entrevistas em vídeo, mas este texto foca na entrevista técnica em si
O básico da entrevista técnica
Quase toda empresa que contrata desenvolvedores tem um processo com pequenas variações, mais ou menos assim
- Tarefa prévia no Hackerrank
- Funciona como filtro para contratar desenvolvedores juniores ou estagiários
- Dá para resolver os problemas online com liberdade
- Fundamentos de Ciência da Computação (Comp Sci Fundamentals)
- Perguntas sobre estruturas de dados, algoritmos, Big O etc.
- Muitas vezes voltado para desenvolvedores juniores
- Entrevista de programação
- Avalia a capacidade de escrever código real e fazê-lo funcionar
- Usa exemplos simples de projeto para verificar o domínio básico da linguagem e a capacidade de resolver problemas
- Arquitetura/Design
- Mais voltado para desenvolvedores seniores do que juniores
- Avalia design de sistemas, escalabilidade, banco de dados e design de API
Uso de IA na entrevista
- Por causa da IA, o papel de filtro de tarefas prévias como as do Hackerrank enfraqueceu bastante
- Entrevistas de fundamentos de computação e de programação também estão ficando fáceis de resolver, já que o nível das perguntas entra no alcance das respostas de LLMs
- Entrevistas de arquitetura/design ainda são relativamente seguras, mas no longo prazo esse campo também pode ser ameaçado à medida que a IA evoluir
Quais são as nossas opções?
- 1. Encerrar entrevistas técnicas remotas
- Se o entrevistador estiver ao lado observando, fica difícil usar IA
- Supondo que todas as outras etapas sejam aprovadas, isso pode virar uma entrevista de programação presencial
- Se o entrevistador estiver ao lado observando, fica difícil usar IA
- 2. Usar software no estilo Pearson Vue
- Um modelo com programa de monitoramento instalado e supervisão por câmera
- Não é perfeito, porque vários métodos de contorno já são conhecidos (a ponto de existirem subreddits só sobre isso)
- 3. Ignorar o problema
- Um modelo que depende de um pedido moral para que a pessoa “não use IA”
- Na prática, quem usa IA sai na frente, o que dificulta para a empresa selecionar os candidatos certos
- 4. Permitir o uso de IA
- Em vez de avaliar habilidade de programação pura, avalia a capacidade de escrever bons prompts para LLMs e de refatorar
- É uma fase de transição em que ainda é necessário ter habilidade de programação para corrigir erros na saída da IA
- 5. Abordagem híbrida
- Um modelo misto em que primeiro se verifica remotamente a capacidade de usar IA e depois se faz uma validação final presencial
Soluções possíveis
- No longo prazo, as abordagens 4 e 5 parecem as mais viáveis
- Mesmo com RTO, não dá para chamar todos os candidatos distantes para uma etapa offline, então é preciso criar um método eficiente
- Mudar o próprio formato da entrevista é outra alternativa
- Hoje, entrevistas de programação muitas vezes se limitam a tarefas pequenas no nível de FizzBuzz ou implementação de calculadora
- Com apoio de IA, o nível da tarefa pode ser ampliado em mais de 10 vezes, avaliando o processo de construir uma aplicação completa
- Também dá para testar um formato de entrevista mais longa, de cerca de 2 horas, misturando arquitetura e programação
- Nesse formato, seria possível pedir que a pessoa construa, expanda e implemente recursos adicionais em uma aplicação
- À medida que a base de código cresce, isso traz a vantagem de verificar se ela consegue manter consistência e demonstrar capacidade em um nível mais profundo, sem ficar só em respostas superficiais
- Com esse processo, seria possível avaliar o seguinte
- Habilidade básica no uso de ferramentas como git e IDE
- Capacidade de criar prompts eficazes para LLMs e de programar para obter respostas melhores
- Capacidade de entender e combinar saídas de LLMs para concluir o código de forma sustentável e fácil de manter
- Se a pessoa consegue finalizar, dentro de tempo limitado, uma aplicação com certo nível de escala e escalabilidade
- Capacidade de manter qualidade e lógica consistentes
- Esse tipo de avaliação integrada pode se tornar uma alternativa às entrevistas de programação na era da IA
Summary
- As entrevistas técnicas devem passar por grandes mudanças em um futuro próximo
- Por enquanto, o uso de IA ainda pode parecer relativamente lento ou ficar visível de forma estranha, mas com o tempo pode ficar mais oculto
- Cenários que podem surgir com isso
- A taxa de aprovação pode subir e, em compensação, podem aumentar os casos de eliminação durante o período de experiência
- O peso sobre desenvolvedores juniores pode crescer ainda mais, já que eles terão de acompanhar cedo as exigências técnicas elevadas das empresas
- Se se espalhar o uso de IA para passar em entrevistas de FAANG, a velocidade da mudança pode acelerar ainda mais
9 comentários
Espero que a culpa não acabe recaindo injustamente sobre a IA, quando o que precisamos é reduzir o descompasso entre a entrevista técnica e o trabalho real.
Não sei se é por causa dessa mudança, mas a empresa onde trabalho está fazendo live coding na entrevista, sem questões prévias.
Onde trabalho está caminhando para uma política que permite usar IA durante entrevistas técnicas para fazer perguntas.. Como o input determina o output, a ideia é justamente avaliar a capacidade de formular perguntas..
Acho que pode usar IA.
Mas aí o resultado que sair disso precisa se tornar 100% seu.
Se eu fosse o entrevistador, passaria uma tarefa de programação online e, na entrevista presencial, pediria para a pessoa explicar aquele código. Naturalmente, também faria perguntas adicionais.
Se a pessoa não consegue explicar o código que enviou, tenha sido escrito por ela ou por IA, nem responder perguntas sobre ele, então tem que ser reprovada.
> Em vez de avaliar habilidade de programação, o formato passa a avaliar a capacidade de escrever bons prompts para LLMs e a habilidade de refatoração
Acho que essas competências vão se tornar importantes.
Não é culpa da IA; o problema não é que as tarefas de entrevista já tinham esse formato frágil de “encontre a resposta ótima e pronto, está tudo certo”, e agora esse problema apenas ficou evidente? No trabalho real, também não é como se não fossem usar IA, então por que impor restrições? rsrs No fim, independentemente do meio usado, o que importa é que haja um resultado. Só que, sim, é preciso avaliar com transparência como esse meio foi utilizado.
Concordo. Com a chegada da IA, testes de programação malfeitos e distantes do trabalho real naturalmente serão eliminados do mercado, e as empresas que adotarem formas melhores de contratação acabarão atraindo os melhores talentos.
É uma luta interessante entre a lança e o escudo.
Programa de trapaça para entrevistas do Leetcode
É um exemplo apropriado de trapaça com IA em entrevistas técnicas mencionado neste artigo.
Opiniões do Hacker News
O melhor processo de entrevista incluía programação em par com membros da equipe e entrevistas por telefone. Em poucos minutos, dava para saber se o candidato conseguiria fazer bem o trabalho, e esse processo formou a equipe mais produtiva em mais de 20 anos de carreira
Revisão de código é muito útil como ferramenta de avaliação
Por volta de 2005, em uma SME, foi pedido que codificasse em um quadro branco, sem poder usar um computador
A empresa A deveria se perguntar por que não contratar a IA se ela consegue resolver todas as perguntas de entrevistas técnicas
Como técnica de contratação para evitar IA, pede-se a desenvolvedores júnior que tragam código e o expliquem
Como entrevistador, em empresas que não são FAANG, usa-se um processo de entrevista simples
O mercado de trabalho atual está tão confuso que parece que será difícil conseguir emprego até bater a cabeça na parede
Usar problemas médios/avançados do Leetcode por 30-45 minutos na entrevista só tende a revelar dois tipos de pessoas
O problema não é a IA, mas sim que as empresas não sabem como selecionar candidatos adequadamente
Na última entrevista, foi pedido que a tarefa fosse feita usando ferramentas, incluindo IA