Le process de recrutement des développeurs est-il le bon ?
Prisé par les entreprises et craint par les devs, le test technique nourrit les fantasmes depuis ses origines au début des années 2000.
Aujourd’hui, il fait partie intégrante du processus de recrutement dans une grande majorité d’entreprises.
Mais.. Est-il nécessaire ? Ou plutôt, est-il réellement efficace ?
On te donne des éléments de réponse dans cet article.
L’ancêtre du test technique
Au début des années 2000, les grandes entreprises connues aujourd’hui sous le nom de GAFAM commencent à se faire un nom. Google, Facebook ou Microsoft faisaient rêver les travailleurs et étaient déjà renommées pour leur entretien d’embauche insensé.
Questions farfelues, casse-têtes infernaux, énigmes saugrenues, tout était bon pour te retourner le cerveau.
Jugées complexes, ces épreuves ont été délaissées au profit des tests techniques d'aujourd'hui. Mais ces derniers n’étaient pas non plus atteignables pour le premier venu.
Non, un développeur senior doit se préparer pendant des mois pour espérer réussir ces tests à base d’algorithme. Le problème, c’est que les entreprises européennes ont repris le concept et aujourd’hui, quand tu postules dans une entreprise, tu dois passer par ces fameux tests techniques.
Remettons toutefois certaines choses dans son contexte. Ce n’est pas le cas de toutes les boîtes, tu ne vas pas tomber sur un (fra)casse-tête à tous tes entretiens. Les tests techniques des boîtes françaises et des boîtes en général ne sont pas au niveau de difficulté des tests proposés par Google, Apple ou Facebook.
Et.. heureusement, sinon le marché du développement serait encore plus problématique qu'il ne l'est déjà.
Le test technique, outil pertinent pour mesurer les capacités techniques ?
On vient de le voir, le test technique n'est pas un long fleuve tranquille sur lequel on peut nager paisiblement sans avoir à se soucier du courant. On est plus sur le fleuve indomptable qui menace à tout moment de t'envoyer valdinguer sur des rochers camouflés par une eau bouillonnante.
Mais.. Trêve de métaphore, au-delà de la complexité du test technique, une question se pose : Le test est-il un outil pertinent pour mesurer les capacités techniques d'un développeur ? La réponse est oui, pas de doute là dessus.
Par contre, mesure-t-il réellement la capacité d'un dev à s'intégrer à son équipe ? Mesure-t-il la capacité d'un dev à organiser son code ? Mesure-t-il la capacité d'un dev à se confronter aux problématiques de l'entreprise ?
Mais.. Trêve d'anaphore, on l'a compris, le test technique reste limité à sa fonction de base : mesurer les capacités techniques d'un dev.
Tu vas me dire : En même temps c'est ce pourquoi il a été conçu non ?
Alors, oui mais non, car tu peux être le meilleur dev du monde et être un collaborateur incompétent en terme de communication ou en terme de savoir vivre. Et ce n'est pas parce que tu connais par coeur tes cours de fac ou que tu as bossé sur Leetcode 24h/24 et 7j/7 pour performer au test technique que tu pourras appréhender concrètement les problématiques de ta future entreprise.
Plusieurs points sont à prendre en compte lors du recrutement que le test technique ne permet pas d'évaluer.
Les avantages du test technique
Après cette diatribe sur le test technique, il est temps de rendre à César ce qui appartient à César. Car en effet, le test technique possède certains atouts.
Faisons un tour d'horizon sur les avantages du test technique.
Pour l'employeur :
- Séparer le bon grain de l'ivraie
On l'a dit plus haut, le test technique permet de mesurer les capacités techniques. Il arrive parfois que des pipeauteurs arrivent à se frayer un chemin jusqu'au test technique. Ce dernier permet de faire le ménage entre les développeurs et ceux qui se prétendent développeurs. Il est de plus en plus courant de trouver des développeurs n'ayant pas les compétences techniques requises, qui viennent car le poste a le vent en poupe et est bien payé.
- Les différents formats
En effet, il existe une pléthore de formats pour le test technique. Des QCM aux tests d'algorithme en passant par les tests de code écrit, voici une liste non exhaustive des formats de tests techniques, leurs avantages et leurs inconvénients.
- les QCM : Test le plus courant, il est facile à mettre en place et ne prend pas beaucoup de temps. Toutefois, il t'évalue sur tes connaissances théoriques et est éloigné de la réalité du travail.
- Les tests de code écrit : Le fléau du test technique, personne ne l'aime, devs et correcteurs compris. Pourtant, il est toujours répandu en France car il est facile à mettre en place et est plus ouvert que le QCM.
- Les tests d'algorithme : Des tests d'algorithmes de complexité graduelle à réaliser dans un temps défini. Il permet de tester la logique et les connaissances du candidat, le problème : c'est un robot qui corrige, donc l'efficacité est préférée à la qualité.
- Les mises en situation : C'est le test le plus réaliste pour un candidat et pour un employeur. C'est sur ce test où on te demande de coder, l'employeur va mesurer la qualité de ton code et ton raisonnement. C'est le test le plus prisé par les candidats car il est moins enclin au stress et est le plus rapproché de la réalité.
Si tu veux plus d'informations sur ces différents formats, le site lesdeconfineit rentre plus dans les détails.
Pour le candidat :
- Evaluer ton futur employeur
Et oui ! En tant que candidat, le test technique permet d'évaluer celui qui peut devenir ton futur employeur. Dans la majorité des cas, le test est rédigé par une personne, même si parfois il arrive qu'ils soient automatisés. Mais, sur la foi d'un test, tu peux avoir un aperçu des défauts de ton employeur : désorganisé, des demandes excessives, ça te permet de faire le tri entre les différents entretiens que tu as passés.
Quelles solutions pour améliorer le processus de recrutement chez les devs ?
Le test technique est un excellent moyen pour faire une sélection entre les bons devs et les mauvais devs. Néanmoins, il a ses limites, en plus de ne pas pouvoir différencier les devs de qualités, il est possible de rater son test technique alors que tu as les compétences pour le poste. Stress, langage que tu ne maîtrises pas, plusieurs choses sont à prendre en compte et montrent les limites du test technique.
Enfin, les softs skills ne sont pas pris en compte dans la majorité des tests techniques, l'organisation ou encore la communication sont des qualités importantes pour un dev afin que l'équipe tech puisse fonctionner correctement et répondre aux problématiques de l'entreprise.
Alors, la question qui se pose est la suivante : Quelles sont les solutions possibles pour améliorer ce processus de recrutement ?
- L'open source
Et pourquoi pas ? L'open source est très peu répandu dans le recrutement dev et possède pourtant certains atouts. En effet, mettre en place un git sur des projets similaires aux projets de l'entreprise et laisser les candidats travailler dessus peut être un excellent moyen pour voir si le candidat répond aux exigences de l'entreprise. Néanmoins, l'open source connaît les mêmes limites en termes de compétences secondaires.
- L'entretien comportemental
En lieu et place du test technique, favoriser un entretien pour parler plus en détail des expériences techniques serait un bon moyen pour évaluer le candidat.
Ce format est trop peu utilisé alors qu'il est le plus intéressant pour les deux parties. Parler des expériences, des projets du dev au sein de ses entreprises passées, rentrer dans les détails techniques en profondeur. Poser des questions comportementales pour voir comment le candidat réagit à un problème, sa manière d'analyser et de résoudre ce problème.
Car le but d'un test technique ne doit pas être d'évaluer et de mettre une note de A ou F mais plus d'observer comment fonctionne le candidat et de discuter avec lui sur des points d'amélioration. Malheureusement, le test technique le permet de moins en moins, et un entretien comportemental serait une alternative intéressante.
Pertinent pas pertinent, remplaçable, irremplaçable, comme je l'ai dit plus haut, le test technique nourrit nos fantasmes et continuera de le faire. Alors, même si le test technique n'est pas le plus optimale pour recruter un dev, pour l'instant, il est là. Et ça, on peut rien y faire, quoi que...
... Pour le réussir voici ce que tu peux faire : acheter et lire le livre "Cracking the code interview" qui est considéré comme le moyen d'appréhender les entretiens techniques par les devs. Ensuite, la pratique régulière de plateformes automatisées comme Leetcode est importante pour réussir ton prochain test technique ! Enfin, jesuisundev te donne de nombreuses clés pour réussir ton prochain test technique !
- Vues586