Por que um teste de amostra de trabalho identificará os desenvolvedores de software que você precisa contratar

Março 21, 2018
lista de artigos de recrutamento lista de trabalho modelo de posto

Antes de ser fácil dar um teste de amostra de trabalho a qualquer pessoa que caísse no seu funil de recrutamento técnico, o processo de contratação técnica era um campo minado. Mesmo antes de entrar na indústria, lembro-me de ouvir histórias das frustrações que meus amigos e colegas enfrentaram ao tentar navegar no processo de entrevista técnica, tanto como candidatos como como gerentes de contratação.

Os candidatos foram atingidos por barragens de testes algorítmicos irrelevantes, demorados e desalentadores e entrevistas de quadro branco, o que favoreceu fortemente os recém-formados universitários e não lhes deu nenhuma visão do trabalho. Foi igualmente difícil para os recrutadores e gerentes de contratação. Eles tinham muito poucos métodos eficazes para determinar qual dos seus candidatos de desenvolvimento iria continuar a fazer um grande trabalho para eles. Então eles usaram o que estava disponível e tiveram que suportar a variabilidade dos resultados. Mas há uma maneira melhor.

O teste da amostra de trabalho é uma idéia bem estabelecida em outros campos, revolucionando o processo de contratação, mas agora está ganhando força na tecnologia.

Saiba mais sobre entrevistas técnicas e testes de habilidade em O guia definitivo para a entrevista técnica.

O que é um teste de amostra de trabalho?

Simplesmente definido, um teste de amostra de trabalho é um teste que, de acordo com o ex-Vice Presidente Sénior de Operações de Pessoas do Google Laszlo Bock,


Laszlo Bock explica o que é um teste de amostra de trabalho.(...) implica dar aos candidatos uma amostra de trabalho, semelhante ao que eles fariam no trabalho, e avaliar o seu desempenho no mesmo.

Fonte da imagem: LinkedIn


Isso parece muito simples, não é? Quase parece um período experimental, mas os testes de amostra de trabalho diferem em que cumprem todos estes critérios de Sockpuppet.org:

  • Eles espelham o mais próximo possível o trabalho real que um candidato será chamado a realizar no seu trabalho.
  • São padronizados para que todos os candidatos enfrentem o mesmo teste.
  • Eles geram dados e uma nota, não um simples resultado de aprovação/reprovação.
  • São muito mais curtos, geralmente não mais do que uma hora ou duas.

Então, se não é um julgamento, o que é? Ryan Daigle, diretor de engenharia da Spreedly coloca isso melhor:


Ryan Daigle explica o que é um teste de amostra de trabalho.Uma amostra de trabalho é uma tarefa de desenvolvimento objetiva e cega de domínio específico que o candidato completa em seu próprio tempo.

Fonte da imagem: LinkedIn


Em outras palavras, uma tarefa de desenvolvimento de software. Então, porquê fazer um esforço extra para testar os seus candidatos desta forma?

Um teste de amostra de trabalho é o melhor preditor do desempenho futuro de um desenvolvedor

Tem sido feita uma extensa pesquisa sobre a eficácia dos diferentes métodos de teste dos candidatos. Os resultados destes estudos apontam geralmente para testes de amostra de trabalho como sendo o melhor preditor de desempenho futuro.

Frank L. Schmidt, da Universidade de Iowa, e John E. Hunter, da Universidade Estadual de Michigan, fizeram um revisão dos 85 anos anteriores de pesquisa sobre o assunto. Descobriram que os testes de amostra de trabalho eram basicamente testes de pescoço e pescoço com aptidão mental geral (GMA) como os melhores preditores de desempenho futuro, com o bônus de não enviesarem contra minorias como os testes de GMA fazem.

O teste da amostra de trabalho é validado em The Validity and Utility of Selection Methods in Personnel Psychology: Implicações Práticas e Teóricas de 85 Anos de Resultados de Pesquisa".Fonte: "A Validade e Utilidade dos Métodos de Selecção em Psicologia do Pessoal:Implicações Práticas e Teóricas de 85 Anos de Resultados de Pesquisa".

Não só o preconceito prejudicar os seus esforços de recrutamento estreitando a sua lista de candidatos, mas de acordo com Tikhon JelvisSe você é um cientista de dados líder na Target, ele pode abri-lo para processos judiciais sob o princípio do impacto díspar. Isto deixa os testes de amostra de trabalho como o vencedor claro, uma descoberta apoiada por Laszlo Bock, que neste entrevista da BBC revela que eles foram os melhores indicadores de desempenho futuro de qualquer um dos testes que fizeram no Google.

Mas estas descobertas são gerais, então como podem ser aplicadas na triagem dos desenvolvedores de software?

O que faz um bom teste de amostra de trabalho para desenvolvedores de software

O que faz um bom teste de amostra de trabalho para desenvolvedores de software?Para que um teste de amostra de trabalho seja eficaz, ele precisa incluir uma tarefa que seja importante e representativo do trabalho que vai ser feito. O que isto significa para um desenvolvedor de software é melhor resumido por Ryan Daigle de Spreedly,

As amostras de trabalho devem ser um reflexo do que a empresa faz e como o faz. Elas são tanto sobre o candidato que mede a empresa quanto sobre a empresa que mede o candidato.

Um exemplo de tarefa de programação deve refletir os tipos de problemas que a empresa resolve e o ambiente em que eles o fazem. Isto significa ver quão confortável o seu candidato está em utilizar as bibliotecas e frameworks que a sua equipa já utiliza. Como Ryan aponta, o teste não se trata apenas de avaliar as habilidades do candidato. Ele também suporta um bom experiência do candidato dando ao candidato uma amostra das tecnologias que a empresa utiliza e dos tipos de tarefas para as quais as utiliza.

A tarefa deve ser feita no mundo real.

O Escritório de Administração de Pessoal dos EUA tem feito uma extensa pesquisa sobre a eficácia de diferentes métodos de determinação de habilidades de contratação. Seu conclusão é isso,

Como as amostras de trabalho exigem que os candidatos realizem tarefas idênticas ou muito semelhantes às tarefas do trabalho, é tomado muito cuidado ao tentar imitar o mais possível o ambiente de trabalho.

Em uma entrevista para um desenvolvedor de software, há duas áreas em que você precisa considerar este efeito. A primeira é o que mencionamos acima sobre a tarefa ser o mesmo tipo de tarefa que o candidato irá fazer se for contratado.

A segunda é tornar o ambiente de trabalho o mesmo. Dar ao candidato acesso a todos os recursos que normalmente utilizaria no trabalho. Estes incluem bibliotecas e estruturas, bem como recursos externos, como Excesso de pilha, GitHube Googletal como os seus actuais programadores usam.

Isso se estende até mesmo ao IDE que eles utilizam. Deixe-os usar aquele com o qual se sentem mais confortáveis. Não faz sentido perder seu tempo em conhecer uma ferramenta que eles só usarão na entrevista quando puderem estar fazendo a tarefa.

Você deve impor um limite de tempo

Você deve impor um limite de tempo para o seu teste de amostra de trabalhoDefinir um limite de tempo para o teste é importante por duas razões. A primeira é que nenhum desenvolvedor tem uma quantidade infinita de tempo para aperfeiçoar seu código. A um certo ponto, eles precisarão terminar seu projeto para que ele tenha algum valor.

A segunda é que um limite de tempo ajuda a definir o alcance do que você está procurando do candidato. Se você simplesmente der uma tarefa e pedir ao candidato para entregá-la quando ela estiver concluída, isso significa que ele deve levar uma semana para torná-la perfeita ou deve ser o seu melhor esforço dentro de uma hora? A adição de um limite de tempo ajuda a remover o preconceito que alguns programadores têm contra testes de amostra de trabalho como o jasode em Notícias Hacker. Eles não têm tempo de uma semana para fazer um projecto, por isso vão desistir do seu funil de recrutamento se o teste de programação parecer demasiado aberto.

Você deve pontuar o teste de acordo com uma rubrica

Falamos em outro lugar neste blog sobre a importância de ter uma rubrica objetiva para usar nas entrevistas. Eles ajudam eliminar preconceitos tornando o processo de avaliação o mais objetivo possível. O mesmo é válido para o seu teste de amostra de trabalho. Decida os critérios que deseja ter para o teste e, em seguida, mantenha-se fiel a eles. Isso o ajudará a obter as melhores pessoas, filtrando o ruído que pode turvar o seu julgamento.

Basta perguntar à Elena Grewal, chefe da Airbnb na Data Science. Em uma entrevista no LA TimesEla explica a importância de usar uma rubrica ao classificar um teste de amostra de trabalho:


Elena Grewal explica que o teste da amostra de trabalho é importante para a AirbnbNós examinamos isso de perto e percebemos que as pessoas que estavam classificando o exercício não tinham uma rubrica clara, então mudamos isso e deixamos claro o que estávamos procurando, tornamos a classificação consistente, e se uma pessoa foi bem sucedida, ela foi movida para a próxima rodada.

Fonte da imagem: LinkedIn

A mudança levou a duplicar o número de mulheres contratadas. Note que elas não mudaram os seus padrões. Em vez disso, introduziram um maior grau de objetividade que lhes deu acesso a candidatos mais qualificados, em primeiro lugar, todo o objetivo do teste.

O candidato deve ser autorizado a preparar-se e receber um feedback detalhado logo em seguida

O objectivo deste teste é que o candidato faça o seu melhor numa tarefa de trabalho normal. Normalmente no trabalho, você entende os tipos de tarefas que a empresa faz e raramente se surpreende com novas tarefas em um ambiente completamente novo. Você deve explicar exatamente sobre o que será o teste e a tarefa para que o candidato saiba exatamente o que esperar.

Após o teste, você deve dar ao candidato um feedback detalhado sobre o seu desempenho. Isto não só faz um bom experiência do candidatoTambém irá melhorar a reputação do seu empregador dentro da comunidade de desenvolvedores.

Como diferentes empresas constroem testes de amostra de trabalho para desenvolvedores de software

Várias empresas diferentes adoptaram abordagens diferentes para criar os seus próprios testes de amostras de trabalho. Aqui estão alguns exemplos que você pode usar.

PolicyStat (desde que adquirida pela iContracts) utilizou esta táctica para mais de 300 candidatos para 6 posições diferentes na sua equipa técnica. Para todos eles, eles dão um projeto específico que espelha o trabalho o mais próximo possível. Isto significa obter mais granular que a linguagem e realmente testar as tecnologias específicas utilizadas pela equipe, no seu caso Django.

Os candidatos são solicitados a enviar um pedido de puxar que anuncia um recurso e corrige um bug em um projeto baseado no Django.

Spreedly é uma ferramenta de pagamento para que a sua amostra de trabalho seja realmente criar um adaptador ActiveMerchant gateway para um gateway de pagamento falso. Este é exactamente o tipo de projecto que os seus dispositivos fazem a toda a hora para que se ajuste perfeitamente ao papel.

Você pode realmente dar uma olhada na amostra deles GitHub. Se você for lá, você pode ver como eles definem exatamente qual é a tarefa, como apresentá-la, o que eles estão procurando e o escopo do projeto.

Teste da amostra de trabalho de SpreedlySockpuppet.org/Latacora é um Trilhos fazer compras. O que eles fazem é pegar uma aplicação Rails que eles implantaram e depois esculpir algumas áreas funcionais da aplicação. Isto pode ser um recurso de pesquisa ou um atualizador de pedidos do cliente. Eles então pedem ao candidato para adicionar a funcionalidade de volta.

Em DevSkillerA partir de um teste de amostra de trabalho para desenvolvedores de software e construímos uma plataforma para automatizar o processo para o testador e para o candidato. Os testes podem ser realizados na plataforma a partir de qualquer lugar do mundo, à vontade do candidato. O teste é então automaticamente avaliado poupando o tempo de um entrevistador técnico. Os recrutadores podem escolher entre um dos muitos testes pré-fabricados ou construir o seu próprio teste com o código real que a empresa utiliza.

Um bom exemplo de um teste DevSkiller é este teste para desenvolvedores Java que escrevem aplicativos de blog RESTful. Como você pode ver a descrição da tarefa estabelece as tecnologias que serão úteis (Spring, Spring Data JPA, Hibernate entre outros) e a tarefa (adicionar um recurso de comentário).

Teste da amostra de trabalho do DevSkillerNo topo da página, há um relógio de contagem decrescente útil para que o candidato saiba quanto tempo tem.

O relógio da contagem decrescente no teste da amostra de trabalho do DevSkillerE há um console de construção para que o candidato possa fazer testes durante o teste da amostra de trabalho.

O console de construção no teste de amostra de trabalho do DevSkillerA idéia é criar parâmetros claros para o projeto, mas dar ao candidato a oportunidade de usar todos os recursos disponíveis para chegar a uma solução. Ao contrário das outras soluções, o DevSkiller acelera o processo enviando automaticamente o teste ao candidato, recebendo o teste concluído, clonando a tarefa, construindo-a e revendo-a sem que a qualidade dos testes seja comprometida. Como Arthur Brooks de CodeSpaghetti coloca, "[Devskiller] testam muito bem e dão uma visão geral significativa do desempenho do candidato". No final, o recrutador recebe um relato detalhado dos resultados para que o candidato possa ser comparado objetivamente com os outros candidatos que fazem o teste.

O seu próximo passo

Os testes de amostra de trabalho são uma forma incrivelmente precisa de avaliar se o seu candidato ao desenvolvimento de software pode ou não fazer o trabalho. Se você construir seu próprio teste a partir do zero ou usar uma plataforma automatizada, aqui estão algumas coisas para lembrar ao construir o teste.

Faça

  • Medir objetivamente a apresentação
  • Tornar o escopo da tarefa manejável e bem definido
  • Teste o ambiente de programação específico que você usa com essas tecnologias

Não o faças

  • Use isto como uma oportunidade para obter trabalho gratuito dos candidatos*.

*Houve alguns casos no passado (ver isto pergunta da Quora) onde as empresas, muitas vezes com start-ups com dinheiro em caixa, usarão uma tarefa de contratação como uma forma barata de adicionar um recurso ao seu produto. Simplesmente não o faça. Seus candidatos descobrirão e isso os afastará de sua empresa. Não só isso, eles vão contar aos seus amigos, arruinando a reputação do seu empregador.

Como você avalia as habilidades de codificação de seus candidatos? Estou ansioso para ouvir os seus pensamentos na secção de comentários abaixo!

Partilhar correio

É mais do que um simples boletim informativo.

Receba insights úteis diretamente em sua caixa de entrada e aprenda mais sobre a contratação de tecnologia.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.