Voulez-vous engager des programmeurs qui ne savent pas programmer?
Je vais m'aventurer à dire que non.
Engager des programmeurs qui ne peuvent pas réellement résoudre les problèmes et écrire du code est un bon moyen de ruiner une entreprise technologique. Et vous ne serez pas efficace pour éliminer les programmeurs qui ne peuvent pas réellement programmer (et il y en a a beaucoup) si votre processus d'embauche n'inclut pas une sorte de test de programmation.
Etes-vous prêt à abaisser vos normes parce que tout le monde essaie d'embaucher des programmeurs?
Peut-être que vous l'êtes, mais je ne pense pas que vous devriez l'être. Comme il a été noté dans les commentaires et les réponses, il y a des candidats qui ne vont pas se donner la peine de faire des exercices de programmation dans le cadre d'un entretien parce que ils n'en ont pas besoin pour obtenir un emploi.
Mais est-ce que ce sont vraiment les personnes que vous voulez engager de toute façon ? Ceux qui suivent la voie de la moindre résistance, font ce qui leur est le plus profitable à court terme et ne se soucient pas assez de votre entreprise pour faire un simple exercice de programmation ? Ces qualités ne semblent pas être positives et elles ne donnent pas beaucoup d'assurance quant à la capacité de retenir ces candidats à long terme (ce qui est également important pour une entreprise technologique, car les courbes d'apprentissage ont tendance à être raides et le coût de remplacement du personnel existant est très élevé).
Alors laissez ces autres entreprises avoir les programmeurs qui ne peuvent même pas être dérangés. Vous ne voulez pas les engager de toute façon. Contrairement à eux, vous avez un plan. Un qui n'est pas basé sur l'erreur “un programmeur est un programmeur”. Vous devez vous concentrer sur la qualité et la durabilité, et non sur le comptage corporel.
**Est-ce que faire fuir les candidats est un problème ?
Généralement non, tant qu'ils sont effrayés pour une bonne raison. Vous ne voulez pas engager des gens qui ne sont pas à la hauteur. Et certains de ceux qui disent qu'ils “ne peuvent pas être dérangés” en raison de la forte demande pourraient en fait utiliser cette excuse pour dissimuler une situation “pas vraiment très bonne en programmation, il faudrait donc toute la semaine pour faire un exercice d'une heure”.
C'est bon de faire fuir ces candidats. Vous voulez engager les candidats capables et motivés. Tant que vous ne faites pas fuir ces derniers, vous êtes bon.
Chaque candidat que vous ne faites pas fuir est un candidat que vous devez essayer d'évaluer. Et cela peut être difficile à faire si vous ne donnez pas à vos candidats techniques d'exercices techniques à utiliser pour l'évaluation.
**Comment puis-je améliorer notre processus de recrutement ?
Vérifiez le contenu de votre exercice de programmation. Est-il raisonnable et approprié dans un contexte d'entretien ?
Vous ne voulez pas d'un exercice qui va prendre des jours (voire des heures). Ce que vous voulez, c'est quelque chose de simple pour éliminer les personnes qui ne savent pas programmer, idéalement avec suffisamment de place pour les nuances afin que les personnes qui savent très bien programmer puissent se différencier. Gardez à l'esprit ce que vous essayez d'accomplir (éliminer les candidats non qualifiés et non sérieux), et assurez-vous que votre contenu est adapté à cet objectif. Si vous disposez déjà d'un personnel technique, vous pouvez l'utiliser pour vérifier l'équilibre mental (et/ou aider à concevoir) votre exercice. Et réfléchissez également à la manière dont vous administrez l'exercice. Si vous leur donnez juste un peu de documentation et leur dites “ici, faites ceci la semaine prochaine et envoyez-le moi par e-mail”, cela ne sera probablement que d'une efficacité minimale.
Il serait préférable que vous puissiez faire passer l'exercice par un portail web, que les candidats peuvent consulter et démarrer l'exercice, et qu'une fois qu'ils ont démarré, un compte à rebours d'une heure commence. Ensuite, ils peuvent soumettre quelque chose dans cette heure, ou non. Cette méthode est moins ouverte, permet de mieux retenir l'attention du candidat et fournit un délai/un calendrier précis, de sorte que 1) vous n'ayez pas à attendre toute la semaine un résultat qui n'arrivera jamais et 2) les candidats non qualifiés ne perdent pas une semaine de leur temps à essayer de terminer votre exercice de programmation. Ils ont droit à une heure, soit ils résolvent le problème, soit ils ne le font pas, et vous connaissez le résultat immédiatement.
Et le mieux serait encore de les faire venir pour un entretien sur place. Présentez-les à un membre de votre équipe de développement. Enfermez-les dans une pièce avec un poste de travail. Demandez à votre développeur de commencer par quelques questions d'entretien générales/simples, puis il pourra programmer en binôme avec le candidat pour résoudre l'exercice de programmation. Cela vous permettra de savoir non seulement si le candidat sait coder ou non, mais aussi dans quelle mesure il travaille bien avec votre équipe. Votre développeur devrait également être capable de glaner beaucoup d'informations supplémentaires que vous n'obtiendrez pas en regardant un tas de code qu'un candidat a écrit et vous a ensuite envoyé par e-mail.
Résultat final
Non, vous ne voulez pas vous débarrasser de votre exercice de programmation. Mais vous voudrez peut-être le revoir pour vous assurer qu'il a un contenu approprié, qu'il ne prend pas trop de temps à résoudre, et aussi pour voir comment vous l'intégrez dans votre processus global d'entretien.
Un exercice d'auto-apprentissage n'est probablement pas la meilleure approche. Mais la solution n'est pas d'abandonner complètement l'exercice. Mieux vaut effrayer un grand nombre de mauvais candidats et une poignée de bons que d'ouvrir les vannes et d'embaucher quelques mauvais.