Quer contratar programadores que não sabem programar?
Vou arriscar que você não saiba.
Contratar programadores que não sabem realmente resolver problemas e escrever código é uma boa maneira de arruinar uma empresa de tecnologia. E você não vai ser eficaz a eliminar os programadores que não conseguem realmente programar (e há um monte desses por aí) se o seu processo de contratação não incluir algum tipo de teste de programação.
** Está disposto a baixar os seus padrões porque todos estão a tentar contratar programadores?**
Talvez esteja, mas acho que não deveria estar. Como já foi referido nos comentários e respostas, há candidatos por aí que não se vão dar ao trabalho de fazer exercícios de programação como parte de um processo de entrevista porque eles simplesmente não precisam de o fazer para conseguir um emprego.
Mas serão realmente essas pessoas que quer contratar de qualquer forma? As que seguem o caminho de menor resistência, fazem o que lhes é mais benéfico a curto prazo e não se preocupam o suficiente com a sua empresa para completar um simples exercício de programação? Esses não parecem ser atributos positivos, e não dão muita confiança em termos de ser capaz de manter esses candidatos a longo prazo (o que também é importante para uma empresa de tecnologia, uma vez que as curvas de aprendizagem tendem a ser íngremes e o custo de substituição do pessoal existente é muito elevado).
Então deixe que essas outras empresas tenham os programadores que nem sequer podem ser incomodados. De qualquer forma não os quer contratar. Ao contrário deles, você tem um plano. Um que não se baseia na falácia “um programador é um programador”. O seu foco deve ser a qualidade e sustentabilidade, não a contagem corporal.
I assustar os candidatos é um problema?
Geralmente não, desde que eles estejam a ser assustados por uma boa razão. Não se quer contratar pessoas que não estejam à altura. E algumas das pessoas que dizem que “não podem ser incomodadas” devido à grande procura podem estar a usar isso como desculpa para encobrir uma situação “não tão boa em programação, pelo que precisariam de toda a semana para completar um exercício de 1 hora”.
É bom afugentar esses candidatos. Quer contratar os candidatos capazes e motivados. Desde que não os afugente também, é bom.
Cada candidato que não afugenta é um candidato que tem de tentar avaliar. E isso pode ser difícil de fazer se não estiver a dar aos seus candidatos técnicos quaisquer exercícios técnicos para usar na avaliação.
** Como posso melhorar o nosso processo de contratação?**
Verifique o conteúdo do seu exercício de programação. É razoável e apropriado para um contexto de entrevista?
Você não quer que algo que vai levar dias (ou mesmo horas) a completar. O que você quer é algo simples para eliminar as pessoas que não conseguem programar, idealmente com espaço suficiente para nuances que as pessoas que conseguem programar realmente bem possam se diferenciar. Tenha em mente o que está a tentar realizar (eliminar candidatos não qualificados e não sérios), e assegure-se de que o seu conteúdo é adaptado a esse objectivo. Não exagere.
Se já tem algum pessoal técnico, pode usá-lo para verificar a sanidade (e/ou ajudar na concepção) do seu exercício.
E considere também a forma como administra o exercício. Se apenas lhes der alguma documentação e disser “aqui, faça isto durante a próxima semana e envie-me por e-mail”, isso provavelmente só será minimamente eficaz.
É melhor se puder fazer o exercício através de um portal Web, que os candidatos podem consultar e iniciar o exercício, e assim que começarem a contagem decrescente a partir de 1 hora. Depois ou submetem algo dentro dessa hora, ou não. Isso é menos aberto, é melhor manter o foco do candidato, e fornece um prazo/caixa de tempo claro tanto para que 1) não fique à espera durante toda a semana por um resultado que nunca virá, e 2) os candidatos não qualificados não deitem fora uma semana do seu tempo a tentar completar o seu exercício de programação. Eles recebem 1 hora, ou resolvem o problema ou não, e você sabe o resultado imediatamente.
E ainda melhor seria trazê-los para uma entrevista no local. Apresente-os a um membro da sua equipa de desenvolvimento. Feche-os numa sala juntamente com uma estação de trabalho. Peça ao seu programador para começar com algumas perguntas gerais/macias da entrevista e depois eles podem fazer um par com o candidato para resolver o exercício de programação. Isto dir-lhe-á não só se o candidato pode ou não codificar, mas também o quão bem eles trabalham com a sua equipa. O seu programador também deve ser capaz de obter muita informação adicional que simplesmente não obterá ao olhar para um monte de código que um candidato escreveu e depois lhe enviou por e-mail.
Bottom line
Não, não se quer livrar do seu exercício de programação. Mas pode querer revê-lo para um conteúdo apropriado, certificar-se de que não demora muito tempo a resolver e também olhar para a forma como o está a enquadrar no seu processo de entrevista global.
Um exercício autodirigido de take-home provavelmente não é a melhor abordagem. Mas a solução para isso não é acabar completamente com o exercício. A não ser que esteja de acordo em contratar programadores de porcaria, pelo menos.
É melhor afugentar um monte de maus candidatos e um punhado de bons do que abrir as comportas e contratar alguns maus.