Como qualquer ferramenta, elas podem ser extremamente úteis ou extremamente perigosas. Uma furadeira elétrica facilitará muito sua vida - até você perfurar a parte superior da mão e pousar no pronto-socorro. O mesmo acontece com os desafios de programação no recrutamento.
O bom : essa pode ser uma maneira eficaz de detectar alguém que, no papel, pode não ser tão atraente como programador. Aquele formado em algo que tem muito pouco a ver com o que as pessoas normalmente consideram "campos de programação" - Biologia, Ciência Política, História da Arte ...
Se eles explodirem em seus desafios, então ótimo. Eles aprenderam a programação, de alguma forma, e aparentemente está preso. Se eles ficarem atolados, sua aplicação pode realmente ser apenas algo que escapou ao RH.
O ruim : um desafio de programação mal escrito não avalia realmente a habilidade de programação . Ele testa a resolução de quebra-cabeças por meio de habilidades de programação . O problema é que, mais tarde, há uma questão de duas variáveis - você é bom em resolver quebra-cabeças e pode fazer essa solução por código. É possível ter um programador perfeitamente talentoso que falha completamente na parte de resolução de quebra-cabeças.
A maioria dos desafios de programação que eu vi também falha em detectar pessoas próximas ao que você deseja, dependendo de como está escrito.
Existem maneiras de mitigar os dois. Para o último, eu consideraria aceitar "crédito parcial" na forma de soluções que não parecem estar chegando lá: "Aqui está como eu resolveria isso ..." etc. se você estiver realmente procurando por um problema solucionadores. Afinal, poucas pessoas codificam sozinhas e, se a resposta delas estivesse correta, elas poderiam perguntar a um colega sênior "Ei Jim, você conhece uma boa maneira de implementar o X?", Que pode muito bem ser alguém que você deseja seu time.
O primeiro é um pouco mais difícil, porque o ônus disso está em você. Escolha quebra-cabeças / problemas / desafios importantes. Se ninguém no seu grupo já se deparou com algo que se parecesse remotamente com o problema do Vendedor ambulante em seu trabalho, não faça um giro inteligente do Vendedor ambulante como o desafio que você enfrenta. Dessa forma, se eles estão falhando no aspecto de "resolver o problema e codificá-lo", pelo menos estão falhando em algo que realmente surgirá, em vez de alguma esperteza arbitrária que sua equipe cuspiu durante o almoço.