Prochain Live découverte : Filière développement web & app, le jeudi 9 janvier à 12h (je m’inscris)

Tests techniques pour développeur : cheatcode pour réussir | API Hours

02/01/2025
Tests techniques pour développeur : cheatcode pour réussir

À l’occasion d’une API Hours, nous avons eu le plaisir d’accueillir Abeba ‘Aby’ Ngwe, développeuse front-end, alumni de l’école O’clock qui a suivi la formation développeur web et web mobile et créatrice de la chaîne YouTube « Alors on dev« .

Vous pouvez voir le replay de cette API Hours sur notre chaîne YouTube et lire cet article qui résume ses meilleurs conseils pour réussir les tests techniques à l’embauche.

Abeba a partagé son expertise sur un sujet souvent redouté par les développeurs web : les tests techniques. Elle a abordé l’importance d’une préparation rigoureuse, en insistant sur la maîtrise des outils comme ESLint et GitHub Copilot, ainsi que sur la compréhension des attentes des recruteurs.

Nous avons profité de l’occasion pour annoncer deux nouveautés : la sortie de son livre numérique et d’un guide gratuit dédiés aux tests techniques, véritables ressources pour aider les développeurs à briller dans ces épreuves.

Le live s’est conclu par une session de questions-réponses, où Abeba a répondu aux interrogations du public sur des aspects pratiques et techniques des tests.

Parcours d’une développeuse web : de la reconversion à l’écriture d’un livre sur les tests techniques

Abeba ‘Aby’ Ngwe est développeuse front-end depuis 4 ans. Elle a commencé son parcours dans le développement web chez O’clock en 2019, où elle a suivi une formation de développeur web pendant 5 mois (NDRL : la formation dure désormais 8 mois). Après cette formation, elle a travaillé dans trois start-ups, puis depuis 2 ans dans une entreprise où elle gère un site fréquenté par près de 30 millions d’utilisateurs.

En plus de son travail de développeuse, Abeba anime depuis 2021 une plateforme appelée « Alors on dev ». Initialement une chaîne YouTube, « Alors on dev » propose des informations techniques sur divers sujets tels que Git, React, TypeScript et JavaScript. Elle a également écrit des livres, dont « Réussir ses tests techniques en développement web ».

Abeba nous raconte qu’elle a vécu des difficultés lors de ses propres processus de recrutement en tant que développeuse, notamment en ce qui concerne les tests techniques. 

Mes tests techniques étaient un peu faible ou du moins pas à la hauteur des attentes des entreprises et ça loupait à chaque fois, je me plus ramassée que je les ai réussis au global.

Elle a donc décidé de mettre le paquet sur les tests techniques, en cherchant à comprendre ce qui était attendu par les entreprises et en partageant ses connaissances et astuces !

Tests techniques pour développeur : cheatcode d’Aby pour réussir

Les tests techniques représentent un défi majeur dans le processus de recrutement des développeurs web, et Abeba en a fait l’expérience. Elle considère ces tests comme la « pierre angulaire » du recrutement, soulignant leur importance capitale. Son expérience personnelle, marquée par plus d’échecs que de réussites, l’a poussée à explorer ce domaine en profondeur.

test entretien technique emploi oclock
Les développeurs ont parfois l’impression que les tests techniques sont plus complexes que la mission finale. (Image les joies du code)

Abeba explique que les tests techniques sont cruciaux car ils permettent aux entreprises d’évaluer les compétences techniques des candidats. Bien que les compétences non-techniques (soft skills) soient importantes, ce sont les compétences techniques qui sont principalement évaluées. Ainsi, même si un candidat excelle dans les entretiens et présente un bon CV, un test technique raté peut compromettre ses chances.

Ensuite, Abeba souligne plusieurs erreurs courantes à éviter et bonnes pratiques à adopter pour réussir les tests technique pour développeur :

    • Limiter le code : Il est crucial de ne pas surcharger le code et de le maintenir propre. L’utilisation d’un linter, tel que ESLint, est fortement recommandée. Cet outil permet d’appliquer des règles de codage uniformes à tous les développeurs travaillant sur le même projet, et permet d’éviter des erreurs courantes comme l’oubli de « console.log » qui peuvent ralentir l’exécution du code. ESLint peut être configuré pour interdire l’utilisation de console.log dans le code final, par exemple.

    • Modulariser le code : Il est important de séparer les différentes parties du code dans des fichiers distincts pour améliorer la maintenabilité et la testabilité. En divisant le code en composants et hooks, on rend le code plus clair, plus facile à comprendre, et on peut mieux le réutiliser. Cela évite d’avoir un composant unique contenant trop de logique et de code.

    • Expliquer le code : Il est essentiel de rédiger un fichier README personnalisé, en indiquant les commandes nécessaires pour exécuter le projet et en expliquant ses choix techniques. Il faut indiquer les commandes npm install et npm run dev, par exemple. Il est aussi important de justifier ses choix pour montrer aux recruteurs qu’on comprend ce qu’on fait. L’explication des choix techniques démontre qu’on maîtrise les principes de développement web. Un bon README permet également de préparer l’entretien de revue de code qui suit souvent le test technique.

Il faut montrer que l’on maîtrise ses outils. Par exemple, même si le test technique est basé sur un modèle préexistant, il est important de savoir configurer ESLint. Il faut être capable de mettre en place les outils de configuration pour montrer qu’on sait travailler en équipe. Les entreprises veulent s’assurer que le candidat est capable de prendre en main un vrai projet de code.

Concernant les attentes des entreprises, Abeba explique qu’il y a parfois un manque de transparence. Les entreprises ne communiquent pas toujours clairement leurs attentes concernant les tests techniques. De plus, il y a des variations entre les entreprises sur les critères d’évaluation. Cependant, il existe une base commune qui se retrouve dans la plupart des tests.

Abeba conseille de ne pas se limiter à ce qui est demandé dans les instructions du test, mais de montrer qu’on est capable de prendre des initiatives, notamment en configurant des outils comme ESLint. Il faut créer un projet qui simule les conditions réelles d’un projet en équipe. Il faut voir le test comme un moyen de démontrer ses compétences et de se démarquer, plutôt que comme une simple tâche à accomplir.

L’utilisation d’outils comme Copilot est un sujet actuel. Abeba considère Copilot comme un outil de complétion, plutôt que comme un outil qui dicte la façon de coder. Il est important de pouvoir adapter les suggestions de Copilot aux spécificités du projet. De plus, l’utilisation de Copilot peut démontrer qu’on sait utiliser l’IA à son avantage pour décharger le cerveau des tâches répétitives.

En résumé, les tests techniques ne sont pas uniquement une évaluation des compétences techniques. Il est important de montrer que l’on maîtrise les outils, que l’on est capable d’organiser son code, et qu’on comprend les enjeux du développement web. Il faut également savoir se préparer à la discussion sur ses choix techniques lors de la revue de code.

Livre pour réussir ses tests techniques

En plus de son site et de sa chaîne YouTube, Abeba a créé deux nouvelles ressources pour aider les développeurs à se préparer aux tests techniques : un livre numérique intitulé « Réussir ses tests techniques en développement web » et un guide gratuit intitulé « Décrocher un poste en développement web ».

reussir les tests techniques pour developpeurs web livre oclock

Le livre numérique « Réussir ses tests techniques en développement web » inclut des exemples de code concret et des copies d’écran pour illustrer les concepts expliqués. Il propose de créer une application e-commerce de A à Z, en incluant tous les détails attendus dans les tests techniques. Enfin, il met l’accent sur l’importance des principes de codage propre, inspirés des travaux de Robert C. Martin, ainsi que sur les tests unitaires et d’intégration, en s’appuyant sur les connaissances de Kent C. Dodds.

Ces ressources sont conçues pour offrir une approche complète et pratique, en s’appuyant sur son expérience et ses connaissances dans le domaine du développement web.

Derniers conseils pour réussir les tests techniques pour développeurs web

Pour conclure, Abeba met en avant l’importance d’une approche méthodique et persévérante pour réussir les tests techniques en développement web. Elle souligne que la réussite dans ce domaine n’est pas seulement une question de compétences techniques, mais aussi de préparation, de compréhension des attentes des entreprises, et d’une bonne communication.

Voici un récapitulatif des principaux conseils d’Abeba :

Les tests techniques sont cruciaux, ils sont au coeur des processus de recrutement en développement web. Les entreprises évaluent principalement les compétences techniques, même si les « soft skills » sont importantes.

Il est essentiel de se préparer en amont en se renseignant sur ce que les recruteurs attendent. C’est un sujet dont nous avons parlé avec Florian, recruteur spécialisé, à l’occasion d’une autre API Hour : Recrutement développeur web et IT expliqué : Soyez vu, soyez recruté !

Il faut aller au-delà des exigences de base et montrer sa capacité à prendre des initiatives. Écrire un code clair et propre en uniformisant ses pratiques de codage à l’aide d’outils, et adapter son code en fonction du temps disponible. Rédiger un fichier README clair et détaillé, en expliquant les choix techniques et les commandes nécessaires pour exécuter le projet. À ce sujet, nous avons écrit un article pour faire un portfolio professionnel avec GitHub.

En suivant les conseils et les ressources d’Abeba les développeurs peuvent augmenter leurs chances de réussite dans les tests techniques et dans leur parcours de recherche d’emploi !