Em um processo de recrutamento, realizar um teste para desenvolvedor por meio dos conhecimentos de um candidato é uma etapa fundamental, ainda mais quando falamos da contratação de programadores.
Desenvolvedores são seres multitask: buscam, investigam, planejam e constroem saídas e, por fim, concebem soluções.
Como decidir pelo melhor, dentro dessa complexidade de cenário, apenas checando o CV? É difícil mesmo! O termo de ordem é testar desenvolvedores.
No seu lugar, nós também perguntaríamos: qual o melhor tipo de teste? Quais as principais plataformas de testes? As respostas para estas e outras perguntas relacionadas você confere neste artigo.
Testes de programação on-line no recrutamento de desenvolvedores
Realizar testes no recrutamento de desenvolvedores é essencial. Avaliar o resultado, um desafio e tanto. São muitas as variáveis – linguagem escolhida, velocidade de solução, e por aí.
Além de dar uma bela ajuda na seleção de ordem técnica, a tecnologia traz economia de dinheiro e tempo no árduo processo de recrutamento em TI.
É aí que entram recursos poderosos, como os testes online para desenvolvedores.
Que atire o primeiro monitor o desenvolvedor que nunca se perdeu no próprio código!
Especialmente, quando a arte de codar é desafiada durante uma avaliação técnica para vaga de emprego.
Sim, dev também fica nervoso, sente frio na barriga, dá branco na hora de ser testado. Mas não há como a gente fugir disso, o recrutamento de desenvolvedores deve envolver teste de programação online.
O que revelam os fóruns sobre teste para desenvolvedor
Nos fóruns de discussão – e quem nos acompanha aqui no blog sabe que somos fãs confessos deles – é muito interessante ver o posicionamento da galera em relação a ser avaliado como desenvolvedor. Pinçamos uma resposta de um dev a um colega aflito sobre a diferença de um roteiro de testes em vagas para pleno e para sênior:
“Na boa, eu acredito que como um pleno ou um sênior nós descobrimos no dia a dia. Nada melhor do que um belo bate-papo para avaliar o nível do candidato. Um pleno deve conhecer alguns designer patterns, precisa ter criado uns projetos do zero, e também conhecer alguns (pelo menos 2) frameworks. Um sênior deve saber abstrair bem um problema e resolvê-lo com classe!!!”.
Mensagem de um desenvolvedor
O duro é não perder a classe durante uma prova, mesmo sendo sênior…
E, não somos só nós, da Geekhunter, que adoramos fuçar fóruns. Uma reportagem da revista Exame, foi dar uma conferida no site de perguntas e respostas Quora atrás de pistas sobre teste para desenvolvedor.
E trouxe as seguintes pérolas: um usuário diz que as melhores perguntas para programadores são aquelas que trazem várias abordagens com diferentes trade-offs.
Conflito de escolhas
O exemplo dado pelo internauta foi o seguinte: “Digamos que você tenha uma lista de N+1 números inteiros entre 1 e N.
Você sabe que há pelo menos um número duplicado, mas podem haver outros. Por exemplo: se N = 3, sua lista poderia ser 3, 1, 1, 3 ou 1, 3, 2, 2. Imprima o número que aparece na lista mais de uma vez. Resolução do problema
Outro exemplo vindo do Quora, um dos métodos usados por Joseph Wang, cientista chefe na Bitquant Research, é imprimir um código com 10 páginas do sistema e passar para o entrevistado. Que tal?
Como revelar a diferença entre um dev experiente e um novato
Isso porque, seguindo o raciocínio dele, um candidato com menos experiência geralmente começaria a olhar o código linha por linha.
Já um programador mais avançado daria uma olhada rápida e depois folhearia as páginas para entender o design de alto nível do sistema.
Isso quando o objetivo for realmente de contratar um profissional mais experiente na área.
6 técnicas de seleção criativas (e vitoriosas) utilizadas por gigantes
Principais benefícios dos testes para desenvolvedores
Hoje, temos a disposição diversas plataformas de testes para desenvolvedor, que nos permite, entre outras coisas, realizar:
- Testes de desenvolvedor on-line;
- Testes de conhecimento de Python;
- Testes práticos de PHP;
- Teste de lógica de programação;
- Testes de conhecimento Java, entre tantos outros.
É importante ressaltar que, muito além de identificar o conhecimento técnico, aplicar os testes de programação online durante os processos de seleção auxiliam o RH a identificar outras características importantes dos candidatos.
Ao aplicar um teste prático para desenvolvedor, é possível identificar a forma como o candidato resolve um problema, de que forma ele encara um desafio, além de auxiliar no reconhecimento de profissionais experientes e novatos.
Na maioria dos casos é possível também medir o tempo que esse profissional leva para resolver problemas simples ou mais complexos,
Agora, se a sua equipe de RH não possui profissionais com experiência técnica na área de programação, as plataformas de testes são ainda mais benéficas.
É que, além da aplicação do teste, algumas dessas soluções já entregam os resultados das provas e uma análise do desempenho dos candidatos.
Detector de fake devs
Outro ponto relevante que o teste para desenvolvedor é capaz de oferecer é a capacidade de detecção de “falsas qualificações” para a vaga.
Como ter certeza de que aquele candidato não é uma farsa, principalmente quando programar não é a praia do recrutador?
Existem algumas dicas para identificar quem notadamente não vai entregar o que é esperado:
Peça algo implementável
A dica número um é a óbvia: peça ao desenvolvedor para botar a mão na massa e programar (dê um tempo x a ele), mas… a arte de programar tem ser mais do que arte.
Tem que servir a um propósito real. Não adianta algo super que não cumpra o seu objetivo; se todo o saber teórico não se refletir em soluções que funcionam na prática é inútil.
Pergunte como usariam as features para melhorar um sistema ou framework, por exemplo.
Avalie o espírito de equipe
Programar é, na maioria das vezes, uma atividade solitária, mas isso não significa que dá para aliviar a falta de espírito de equipe do candidato.
Os bons desenvolvedores escrevem códigos de maneira clara e compreensível, de modo que outros do time possam ajustá-los sem grande esforço.
Questione o aspirante à vaga como é para ele trabalhar em grupo e o empenho para que o código não resulte em algo desnecessariamente complexo.
Cuidado com o bom de papo
Tem quem faça e tem quem fale mais do que faça.
Conduza aqueles que jogam muito confete em si mesmos para focar nas habilidades e desafios que os fazem ter tamanha confiança na sua qualidade profissional.
É estimular a exemplificar de forma prática esse talento propagandeado.
Paixão pelo que faz: será?
Dizer que ama o que faz é o clichê dos clichês. Vá mais fundo!
Pergunte o que inspira o candidato a codar e o que ele imagina para si, num horizonte de médio e longo prazo.
Você terá acesso a muitas experiências bacanas, enquanto verá que os fake sairão pela tangente com respostas generalistas.
Ele domina todas as linguagens de programação. Hummm…
A pessoa diz ser fera em uma infinidade de linguagens. Pode até ser, mas insista em testar para comprovar.
Currículo que lista familiaridade com a maioria das linguagens pode ser um indício de certo exagero de um profissional mais autoconfiante ou enrolação mesmo.
Live Coding: como testar o desenvolvedor antes de contratar
O desafio técnico no RH com testes para desenvolvedores
Como dito, há recrutadores passando aperto na hora de contratar por absoluta falta de familiaridade com a área de TI, tudo bem!
Shaz Amin, especialista em customer acquisition do Texas (EUA), é um dos que confessam que se ressentem de não entender melhor de programação e, por isso, amargou muitas escolhas equivocadas.
Se culpava por muito pela “falha”, até o momento em que, de tanto comprar gato por lebre – uma, duas, três vezes – notou que havia algo errado não só com ele, mas também com os candidatos.
Coisas que seus olhos destreinados para a área não identificavam. E decidiu que devia pedir ajuda a quem entende do assunto.
Era hora de ver, entre amigos, quem conhecia um recrutador experiente na seleção de programadores. A partir daí, tudo mudou. O conhecimento técnico era a peça que faltava no jogo.
Divida as suas dúvidas
Colegas ajudarão a identificar sintomas de escolhas discutíveis pelo candidato, pontos a serem reforçados.
Se ainda estiver na dúvida durante a contratação e não contar com ninguém na empresa para auxiliar, já falamos aqui em outra oportunidade: considere procurar um consultor externo para a tarefa.
Aliás, se você não dispor de alguém mais técnico, como outro programador, para fazer o recrutamento, pode contar com a GeekHunter. Para ajudar você deixo um artigo que pode ajudar na contratação de profissionais tech para sua empresa.
Principais plataformas de testes para desenvolvedor
Agora que você conhece os benefícios das plataformas de teste para desenvolvedor na hora da contratação, conheça algumas das melhores soluções disponíveis no mercado.
GeekHunter
A GeekHunter vai muito além de testes para desenvolvedores, a plataforma da Geek oferece uma solução completa no recrutamento e seleção de profissionais tech online.
Conhecida por entregar um dos mais completos portfólios de hunting em TI, a plataforma capta profissionais do setor e os apresenta de forma dinâmica e altamente qualificada para empresas.
Com a GeekHunter, uma plataforma completa e 100% online, você vai muito além dos testes para programadores e garante economia de tempo, dinheiro e acesso aos melhores talentos de TI.
Ou seja, além de uma pré-seleção e acompanhamento, a GeekHunter auxilia o seu processo de recrutamento e seleção de forma personalizada, com um time de especialistas que orienta você sobre o melhor caminho a seguir conforme suas necessidades.
Agora, se você não busca uma solução sob medida e abre mão de uma equipe especializada para orientar seu processo de recrutamento e seleção do início ao fim e de uma plataforma capaz de proporcionar o match perfeito entre empresa e candidato, você pode contar com soluções que oferecem apenas os testes para desenvolvedor de forma isolada, como os exemplos a seguir.
FizzBuzz
O FizzBuzz é um teste para desenvolvedor que envolve elaborar uma entrevista projetada para filtrar 99,5% dos candidatos às vagas de programadores.
A definição do problema de programação é o seguinte:
“Escreva um programa que imprima os números de 1 a 100. Mas para múltiplos de três imprima ‘Fizz’ em vez do número e para os múltiplos de cinco imprima ‘Buzz’.
Para números que são múltiplos de três e cinco imprimir ‘FizzBuzz'”.
HackerRank
A plataforma HackerRank é uma das mais conhecidas para se testar desenvolvedores.
A HackerRank disponibiliza mais de mil desafios, em 35 línguas de programação e em 6 áreas da ciência da computação.
Outro diferencial da plataforma é a possibilidade do recrutador selecionar um Code Challenge ou criar seu próprio testes ou questões.
Além disso, é possível enviar o convite aos candidatos diretamente pelo HackerRank ou através de plataformas ATS integradas.
Na HackerRank os testes são corrigidos automaticamente, e os recrutadores recebem um relatório junto da pontuação alcançada.
Outra solução oferecida pela plataforma é o CodePair, que permite ver o código em tempo real durante as entrevistas e envolver até 25 candidatos de uma só vez.
Codility.com
A plataforma inglesa Codility já foi utilizada por mais de 1.200 empresas em 120 países do mundo. Uma dessas empresas é o LinkedIn, a rede social voltada para profissionais mais famosa do mundo.
A plataforma oferece uma centena de testes, de diferentes tipos e níveis. Assim que a empresa interessada escolhe o tipo de teste que deseja aplicar, é feito o upload com os dados do candidato e a prova é enviada diretamente para ele.
O teste solicita que esse candidato faça uma codificação online, confira a demo test e, sem seguida, um relatório detalhado é enviado ao recrutador.
Testdome.com
A Testdome.com é uma plataforma inglesa utilizada por grandes organizações como a Paypal e o Ebay para teste de programadores.
A solução, considerada bastante assertiva, recomenda aos recrutadores que solicitem aos candidatos para “codarem de verdade” antes de serem chamados para uma entrevista.
A plataforma defende que a melhor forma de selecionar um desenvolvedor é dar a ele o desafio de um projeto real e, assim, avaliar suas habilidades técnicas, velocidade da execução e consumo de memória.
A Testdome.com dispobiliza testes para qualquer linguagem e tecnologia.
Interviewmocha
A plataforma Interviewmocha.com atende a diversas necessidades de organizações que buscam por desenvolvedores.
A plataforma oferece mais de mil testes prontos, com atualizações constantes e também testes customizados para recrutadores que buscam por profissionais com skills especiais.
Talview
Com escritórios em diversos lugares do mundo a Talview.com é uma plataforma especializada me testes para desenvolvedores.
Seu grande diferencial é a possibilidade de ampliar o alcance geográfico de acesso aos profissionais de desenvolvimento e garante ainda uma redução de 40% do tempo gasto na etapa de entrevistas.
Essa última característica faz com que a Talview.com seja conhecida como uma das formas mais rápidas de contratar empregadores corporativos em todo o mundo.
Agora que você conhece as melhores opções para aplicar testes para desenvolvedores, é hora de avaliar as necessidades de sua organização e selecionar aquela que melhor atende a equipe responsável pelo recrutamento e seleção.