Como testar as habilidades de codificação de desenvolvedores antes da contratação

[CG]OlogN
31.1K views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Teste as habilidades dos desenvolvedores

Avaliar as habilidades de codificação dos programadores se tornou uma etapa essencial em qualquer processo de recrutamento técnico. Em um estudo que realizamos, descobrimos que o principal desafio encontrado por 60% dos recrutadores ao contratar desenvolvedores era o de encontrar candidatos suficientemente qualificados. De fato, a maioria das contratações problemáticas no recrutamento de tecnologia se resume à falta de habilidades técnicas.

Você deve estar pensando: "Espera aí, você não pode confiar nos currículos dos desenvolvedores?". Bom, não.

Contrate desenvolvedores de maneira inteligente

Em primeiro lugar, como os desenvolvedores não são necessariamente bons em vender a si mesmos - você pode perder grandes candidatos porque aquilo que está no papel não os destaca.

Em segundo lugar, como as habilidades autorreferidas não são confiáveis - se você depositar suas esperanças em um currículo brilhante, poderá se decepcionar com alguém que não atende exatamente às suas expectativas.

Uma variedade de habilidades contribui para um programador talentoso - mas as habilidades técnicas são as que você pode avaliar com mais precisão.

Essas são cinco maneiras de verificar as habilidades de codificação dos desenvolvedores antes de contratá-los:

1. Avalie seu portfólio de programação

Qualquer desenvolvedor apaixonado, por mais inexperiente que seja, deve ter um portfólio de programação.

Os portfólios são a melhor maneira para os desenvolvedores mostrarem suas habilidades de codificação por meio de projetos pessoais e uma chance única de causar uma boa impressão. Eles vêm em várias formas e tamanhos, variando de páginas solitárias na internet, para aqueles que buscam sua primeira função júnior, a projetos de software complexos, para candidatos seniores e gerenciais.

Os portfólios são úteis no processo de recrutamento, pois mostram o nível de desenvolvimento dos candidatos, suas metas de carreira, as habilidades que estão focando adquirir etc.

Observe como um candidato descreve o contexto de cada projeto: como eles se integraram a outras bibliotecas ou ferramentas? Eles colaboraram com outros desenvolvedores? Eles trabalharam em muitos projetos inacabados?

Boas habilidades de comunicação sempre valem a pena na função de desenvolvedor, e um portfólio também é uma maneira de validar a capacidade do candidato de explicar e apresentar as coisas.

Por fim, analisando o portfólio de um candidato, pesquisando o código-fonte de alguns projetos antes de uma entrevista, pode servir de base para o diálogo e ajudá-lo a elaborar perguntas personalizadas para usar durante o processo de contratação.

Veja bem o portfólio de programação de seus candidatos

Uma boa olhada no portfólio de programação de um candidato fornece uma ideia de suas habilidades de codificação e experiência.

2. Dê uma olhada na conta do GitHub

O GitHub é um recurso inestimável ao contratar desenvolvedores. O GitHub serve como um showroom online, onde os desenvolvedores trabalham em projetos de código aberto e contribuem para as iniciativas de outros.

Para os desenvolvedores, o objetivo de possuir um repositório GitHub é mostrar que eles podem escrever código legível e manejável, que outras pessoas possam entender ou acessar facilmente.

Como recrutador, antes de mergulhar nesse código para verificar se é limpo, legível e estruturado, comece verificando métricas muito simples, como:

  • O número de seguidores (um sinal de reputação)
  • A data em que o candidato ingressou no GitHub (existe um filtro útil "membros mais recentes" nas opções de classificação no canto superior direito) como uma indicação do nível de experiência
  • Palavras-chave relevantes para idiomas e tecnologias
  • O número de repositórios que seu candidato possui (projetos que ele/a está criando e o que está puxando de outros) para ter uma ideia do tipo de projeto em que está envolvido
  • Sua atividade pública mostrada através do número de contribuições feitas no site (solicitações de recebimento, confirmações, problemas abertos)

O GitHub NÃO é um currículo. É uma ótima maneira de ver exemplos de projetos de desenvolvedores, como aplicativos para dispositivos móveis, jogos, scripts, plugins etc. Mais importante ainda, permite ver como os desenvolvedores colaboram voluntariamente com colegas em projetos coletivos.

3. Pergunte sobre como usam o Stack Overflow

Stack Overflow é, de forma resumida, um site de perguntas e respostas sobre tudo o que diz respeito à programação de computadores.

Os desenvolvedores podem fazer e responder perguntas sobre qualquer coisa relacionada à programação, e os membros ativos recebem pontos e distintivos por suas respostas e contribuições. O site possui muito conhecimento e todo desenvolvedor o utiliza sempre.

É perfeito para medir o nível de conhecimento e o envolvimento de um candidato na comunidade de desenvolvimento. Você pode verificar rapidamente a reputação dos desenvolvedores no Stack Overflow, bem como suas principais respostas.

A taxa de reputação é ainda mais objetiva, já que é concedida pelos pares de profissão. Usuários com alta reputação no Stack Overflow são desenvolvedores que a) estão regularmente ativos no site b) fazem perguntas pertinentes c) fornecem respostas úteis graças à sua experiência.

4. Codificação ao vivo

Como são provavelmente um dos desafios mais difíceis e estressantes que os desenvolvedores podem encontrar em um processo de recrutamento, as entrevistas de codificação ao vivo geralmente são mal vistas.

De fato, ser capaz de pensar, codificar e se comunicar na presença de um entrevistador pode ser estressante para quem não tem prática. No entanto, do ponto de vista de um recrutador, os testes de programação ao vivo são uma fonte de informação verdadeiramente valiosa. Eles permitem que os recrutadores observem a lógica de um candidato, sua capacidade de explicar o que estão fazendo, como pensam e sua capacidade de codificar sob pressão.

Eles não apenas permitem que os entrevistadores vejam, em tempo real, como o candidato desempenha por conta própria, apenas com o conhecimento de programação como ferramenta, mas também testam habilidades de comunicação e colaboração dentro de uma equipe (no caso de entrevistas coletivas).

Geralmente, a codificação ao vivo é feita via compartilhamento de tela, onde o solicitante recebe um brief e é observado à medida que conclui a tarefa. Este tipo de exercício é muito diferente de um exame cronometrado. O objetivo do exercício não é fornecer uma resposta correta para a pergunta no menor espaço de tempo, mas considerar toda a sessão como um diálogo construtivo.

Os entrevistadores podem estar interessados em ver que tipo de perguntas o entrevistado fará para entender o problema antes de resolvê-lo. Também é positivo saber se o candidato encontra dificuldades a qualquer momento.

No fim das contas, o objetivo deste exercício não é produzir (nem avaliar) um pedaço de código perfeitamente construído e perfeitamente arrumado. De fato e em última instância, a codificação ao vivo permite que ambas as partes entendam uma à outra em um ambiente dinâmico de conversação.

5. Testes de programação

Testes de codificação são uma das maneiras mais eficientes de avaliar os desenvolvedores antes da contratação.

Eles fornecem um modelo comprovado para identificar e contratar desenvolvedores proficientes. Os candidatos codificam seu caminho através de problemas reais e práticos que podem encontrar em uma empresa (como encontrar um bug em um pedaço de código defeituoso ou sincronizar corretamente um aplicativo multithread), permitindo que os recrutadores meçam suas habilidades de codificação de forma objetiva e eficiente.

Tanto recrutadores de tecnologia como gerentes de RH podem configurar testes de programação usando plataformas como o CodinGame, optando por testar os candidatos em uma linguagem de programação específica ou mais várias tecnologias (Java, Angular, Python etc.).

O código dos candidatos é analisado automaticamente e os recrutadores recebem métricas de desempenho que variam do domínio do idioma ao design, legibilidade ou solidez do código. Depois de concluído, um relatório de teste estará disponível para download e compartilhamento para comparar e selecionar candidatos de forma fácil.

Além de otimizar o processo de contratação, esses testes também proporcionam uma experiência aprimorada ao candidato (em comparação com as discussões não técnicas que ocorrem com muita frequência durante a primeira entrevista). Os testes de programação são uma maneira de os recrutadores mostrarem aos desenvolvedores que eles são amigáveis à tecnologia.

Os desafios de codificação economizam muito tempo para os recrutadores, enquanto asseguram suas contratações do ponto de vista técnico. Os testes de programação técnica online substituem com sucesso os testes de papel ou quadro branco, dando aos desenvolvedores a chance de demonstrar suas habilidades.

Testar desenvolvedores com puzzles práticos de codificação

Os desenvolvedores podem demonstrar suas habilidades de codificação ao quebrar a cabeça em desafios e puzzles práticos de codificação

Lembre-se de nossos conselhos ao procurar seu próximo desenvolvedor: elimine as suposições e saiba com certeza se ele é realmente bom.

Ferramenta de avaliação de habilidades de codificação

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content