Les 10 questions indispensables à préparer pour un entretien Dev
Une série de questions posées par des CTO/VP Eng pour te préparer à tes prochains entretiens dev !
Hello 👋🏼
Bienvenue si tu rejoints Dev Booster !
On est déjà 1021 devs dans cette loop, merci à tous 🙏
Il y a 2 semaines, on parlait de Linkedin & comment avoir un profil qui sort du lot en tant que dev
→ Cette semaine, on attaque un gros poisson pour les devs en recherche, puisqu’on va aborder 10 questions indispensables à préparer pour un entretien Dev 📝
Et d’ailleurs des jobs en dev canons, on en a des dizaines sur lesquels on peut te connecter avec la team TPC 👇
Bref, Screening call, test technique, rencontre avec le CEO…
Être recruté est parfois un vrai parcours du combattant 🤼♀️
Il ne faut surtout pas négliger la préparation aux entretiens, et particulièrement les réponses que tu donneras qui pourront vraiment faire la différence sur ton profil
Hard truth : c’est rarement le meilleur dev qui décroche le job.
Celui qui l’emporte : c’est le dev le mieux préparé.
Pourquoi préparer un entretien ?
Lors des entretiens, on va te poser un certain type de questions pour mieux comprendre ton approche de l’engineering. Bien sûr on va tester tes compétences ici, mais on va aussi tester ta capacité à communiquer une idée, à reconnaître ce que tu ne maîtrises pas (très underrated comme compétence) et à te poser les bonnes questions.
💡 On préfère quelqu’un qui pose les bonnes questions, plutôt que quelqu’un qui cherche à tout prix à répondre à tout de manière approximative. Tes forces ressortent bien plus lorsque tu reconnais les sujets que tu maîtrises moins.
En particulier, tiens toi prêt à répondre à :
Des questions d’archi
Expliquer les différences entre telle ou telle archi, pourquoi et surtout dans quel contexte l’une est plus adaptée que l’autre.
Avoir une opinion (pas forcément ferme et définitive d’ailleurs) argumentée. (C’est en général autant une question de contexte (temps, équipe, niveau de dette technique, de seniorité dans l’orga etc…) que de pertinence technique pure)
Connaitre quelques name drop d’archis dont il faut savoir parler et comparer les différences (pas toutes évidemment): → CQRS, clean/hexagonale, monolith vs. microservice vs. monolith modulaire etc…
⚠️ Disclaimer : C’est la réflexion plus que la réponse ferme et définitive qui compte, car comme souvent dans le dev, il n’y a pas une seule bonne réponse, et même si c’est le cas, elle n’est quasiment jamais atemporelle.
Les 10 questions indispensables à préparer pour un entretien Dev
1️⃣ Est-ce que tu as pu regarder ce qu’on fait chez (entreprise) ? Peux-tu me l’expliquer ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation de la préparation du candidat : En posant cette question, le CTO/VP Eng/… cherche à évaluer ta préparation et ton investissement dans le processus de candidature. Et notamment si tu as pris le temps de te renseigner sur l'entreprise, sa culture, ses projets et ses valeurs.
C'est important car cela démontre ton intérêt et ta compréhension pour le poste et ta motivation à travailler au sein de cette entreprise spécifique !
👀 Comment y répondre :
Recherche approfondie : Avant l'entretien, tu devras effectuer une recherche approfondie sur l'entreprise, en examinant son site web, ses réseaux sociaux, ses projets récents, et tout autre matériel disponible. En détaillant ce que tu as appris sur l'entreprise, tu montres ton engagement et ton sérieux.
Alignement avec ses compétences : En répondant à la question, tu peux souligner comment tes compétences et expériences personnelles correspondent aux besoins spécifiques de l'entreprise. Cela démontre une compréhension non seulement de l'entreprise en général, mais aussi de la manière dont tu peux contribuer positivement à ses objectifs et ses projets.
2️⃣ Explique moi ton parcours, ce que tu as appris, les challenges que as affronté, et l’impact que tu as apporté.
🤔 Pourquoi cette question est posée en entretien :
Évaluation du parcours professionnel & compréhension de l’impact : Cette question vise à comprendre les expériences passées, les apprentissages réalisés au fil du temps, ainsi que les défis auxquels tu as été confronté. Ca permet au recruteur d'évaluer la progression dans ta carrière et ta capacité à surmonter des obstacles.
En demandant à expliquer l'impact qu'il a apporté, l'intervieweur cherche à comprendre comment tes compétences et tes contributions ont influencé positivement les projets antérieurs. Cela offre des indications sur la manière dont tu peux contribuer à l'équipe et à l'entreprise.
👀 Comment y répondre :
Structure ta réponse : Commence par décrire ton parcours de manière chronologique, en mettant en évidence les moments clés de ton évolution professionnelle. Explique les compétences que tu as acquises à chaque étape et comment tu les as appliquées dans des contextes concrets.
Exemples concrets d'impact : Réfléchis à des projets/feature/challenge (pas des expériences entières c’est trop vague) dont tu es fier 💪, et d’autres qui restent un mauvais souvenir ou que tu aurais fait autrement 😶. En mettant l'accent sur les résultats tangibles, tu renforces ta crédibilité et ta capacité à générer un impact positif.
3️⃣ Approfondis cette expérience spécifique / un challenge technique que tu as rencontré
Le recruteur pourra aussi te demander
→ Comment as tu abordé cet enjeu ?
→ Qu’est-ce que tu as fait concrètement ?
→ Pourquoi tu as choisi cette solution technique ?
→ Explique moi comme si j’étais un enfant de 8 ans.
→ Un pb rencontré : Il n’y a rien de plus valorisant que d’avoir fait une erreur et d’avoir un regard sur comment tu ferais différemment aujourd’hui.
🤔 Pourquoi cette question est posée en entretien :
Évaluation des compétences techniques : La question vise à évaluer la profondeur de l'expérience technique, en se concentrant sur un projet ou un challenge spécifique. Elle permet de comprendre comment le candidat aborde des situations complexes et applique ses compétences dans des contextes réels.
👀 Comment y répondre :
Contextualisation du projet ou du challenge : Présente brièvement le contexte du projet ou du challenge, en mettant en évidence les objectifs, les contraintes, et le rôle que tu as joué.
Détails techniques : Fournis des détails sur les aspects techniques du projet, en expliquant les technologies utilisées, les décisions prises, et les obstacles surmontés.
Résultats et apprentissages : Conclue en partageant les résultats obtenus et les leçons apprises de cette expérience, démontrant ainsi ta capacité à relever des défis techniques.
4️⃣ Parle moi de l’organisation de la tech dans ta boîte actuelle
Le recruteur pourra aussi te demander
→ Vous bossez avec quelle méthode / orga ?
→ Quelles sont les pratiques de dev en place ?
→ Pourquoi vous faites comme ça ?
→ Tu trouves ça bien ? Comment tu ferais mieux ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation de la capacité à s’organiser dans les tâches d’un dev au quotidien : La question vise à avoir des infos sur la place que tu as dans une structure organisationnelle, ta connaissance des processus et des outils, ainsi que ta capacité à collaborer au sein d'une équipe tech
👀 Comment y répondre :
Structurer la réponse : Commence par décrire brièvement la structure organisationnelle de l'équipe technique dans ta boîte actuelle. Mentionne les rôles clés, les processus de prise de décision, et toute structure hiérarchique ou matricielle.
Technologies et méthodologies : Parle des technologies utilisées et des méthodologies de développement mises en place. Cela peut inclure des informations sur les pratiques d'ingénierie, la gestion de versions, et d'autres éléments liés au développement logiciel.
Collaboration interfonctionnelle : Souligne comment l'équipe tech collabore avec d'autres départements au sein de l'entreprise (notamment au Produit), mettant en lumière l'importance de la communication et de la coordination.
Évolution et améliorations : Si possible, parle des évolutions récentes ou des initiatives d'amélioration au sein de l'organisation technique, démontrant ainsi une vision proactive et une compréhension du contexte professionnel.
5️⃣ Comment tu testes ton code ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation des compétences techniques : La question vise à évaluer ta méthodologie, ce qui offre des insights sur ta rigueur, ta compréhension des bonnes pratiques de développement, et ta capacité à produire un code fiable et de qualité.
👀 Comment y répondre :
Expliquer la méthodologie : Décrit brièvement la manière dont tu abordes les tests dans ton processus de développement. Cela peut inclure l'utilisation de tests unitaires, de tests d'intégration, de tests automatisés, et tout autre processus ou outil pertinent.
Exemples concrets : Donne des exemples concrets de tests que tu as mis en place dans des projets antérieurs. Cela peut inclure des scénarios de test spécifiques, des frameworks utilisés, ou des approches particulières pour assurer la qualité du code.
Améliorations continues : Si possible, mentionne comment tu t'assures d'améliorer constamment tes pratiques de test, que ce soit en suivant les retours d'utilisateurs, en mettant en place des revues de code, ou en adoptant de nouvelles méthodologies pour renforcer la qualité du code.
6️⃣ Lorsque tu fais une code review, qu’est-ce que tu regardes ? A quel moment tu mets des warnings ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation des compétences en code review : La question vise à évaluer tes bonnes pratiques de code review. Cela permet d’analyser ta capacité à analyser le code de tes pairs, à identifier des problèmes potentiels, et à contribuer à l'amélioration globale de la qualité du code au sein de l'équipe
👀 Comment y répondre :
Critères de code review : Explique les critères que tu considères lors d'une code review, tels que la lisibilité du code, le respect des normes de codage, la performance, la sécurité, et la logique métier. Met en avant ton attention aux détails et ta volonté de garantir un code de qualité.
Communication constructive : Mentionne comment tu communiques les suggestions d'amélioration de manière constructive, en mettant l'accent sur la collaboration et l'apprentissage mutuel au sein de l'équipe.
Gestion des warnings : Explique à quel moment tu émets des warnings, que ce soit pour des problèmes de performance, de sécurité, ou d'autres aspects critiques. Cela démontre une compréhension de l'importance de détecter et de résoudre les problèmes dès le début du processus de développement.
7️⃣ Souvent les candidats ont plusieurs offres en parallèle, si tu as 10 offres devant toi, quel est le critère qui te fait trancher ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation des priorités et des valeurs : La question vise à comprendre tes critères prioritaires. Ca offre des indications sur tes valeurs professionnelles, tes préférences, et ta capacité à prendre des décisions éclairées
👀 Comment y répondre :
Alignement avec les objectifs professionnels : Mentionne les critères qui sont les plus alignés avec tes objectifs professionnels, tes valeurs, et ce que tu cherches dans un environnement de travail (culture de l'entreprise, les opportunités de croissance, l'équilibre entre vie professionnelle et vie personnelle…)
Exemple concret : Si possible, donne un exemple concret d'une situation passée où tu as dû choisir entre plusieurs opportunités et explique pourquoi tu as fait ce choix particulier. Cela renforce ta capacité à prendre des décisions éclairées basées sur des critères spécifiques.
8️⃣ Quel est ton avis sur le build vs. buy ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation de la réflexion stratégique : La question vise à évaluer ta capacité à prendre des décisions stratégiques en matière de développement logiciel. Elle offre des indications sur ta compréhension des avantages et des inconvénients liés à la construction (build) ou à l'achat (buy) de solutions logicielles.
👀 Comment y répondre :
Comme dit plus haut, c’est la réflexion plus que la réponse ferme et définitive qui compte, car comme souvent dans le dev, il n’y a pas une seule bonne réponse, et même si c’est le cas, elle n’est quasiment jamais atemporelle.
Compréhension des besoins spécifiques : Explique comment tu évalues les besoins spécifiques de chaque projet pour déterminer s'il est plus avantageux de construire une solution interne ou d'acheter une solution existante. Mets en avant ta capacité à considérer les coûts, le temps de développement, la maintenance, et d'autres facteurs pertinents dans le processus décisionnel.
Exemples concrets : Si possible, donne des exemples concrets de situations où tu as recommandé la construction ou l'achat en fonction des exigences du projet. Cela montre que tu as une expérience pratique dans la prise de décisions liées à cette question stratégique.
9️⃣ Comment bien collaborer avec le produit ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation de la relation Tech & Product : La question vise à évaluer ta capacité à collaborer efficacement avec l'équipe produit. Elle offre des indications sur ta compréhension des processus de communication, de la gestion des attentes, et de la collaboration interfonctionnelle.
👀 Comment y répondre :
Communication transparente : Explique comment tu maintiens une communication transparente avec l'équipe produit, en comprenant leurs besoins et en partageant clairement les défis et les opportunités du développement.
Participation proactive : Souligne ton engagement à participer activement aux discussions sur les spécifications du produit, à proposer des idées et des solutions, et à travailler de manière collaborative pour atteindre les objectifs communs.
Adaptabilité : Montre ta capacité à t'adapter aux changements dans les exigences du produit, à recevoir des retours de l'équipe produit de manière constructive, et à ajuster ton travail en conséquence pour atteindre les objectifs globaux.
🔟 Comment gérer la dette technique ?
🤔 Pourquoi cette question est posée en entretien :
Évaluation de la gestion du code : La question vise à évaluer la compréhension du candidat sur la dette technique, un concept lié à l'accumulation de problèmes de qualité du code au fil du temps. Elle offre des indications sur la capacité du candidat à reconnaître, prioriser et résoudre ces problèmes.
👀 Comment y répondre :
Définition de la dette technique : Explique brièvement ce qu'est la dette technique et comment tu la définis. Cela peut inclure des aspects tels que les compromis faits pendant le développement pour gagner du temps au détriment de la qualité du code.
Stratégies de gestion : Détaille les stratégies que tu utilises pour gérer la dette technique, comme la planification de sprints spécifiques pour la résoudre, l'intégration continue, la documentation, et la sensibilisation de l'équipe à son impact sur le développement.
Exemples concrets : Si possible, donne des exemples concrets de situations où tu as géré avec succès la dette technique, en expliquant les étapes que tu as suivies et les résultats obtenus.
Bonus : Qu’est-ce qui fait la différence pour un Hiring Manager ?
Quelques insights partagés par des membres de la communauté The Product Crew
Est-ce que le.a candidat.e connaît son métier de développeur, cad la maîtrise des pratiques techniques (écrire du code, le tester, code review et collaboration avec ses pairs), et la collaboration avec les métiers non techniques (expression de besoin, connaissance des processus métier, expliquer les contraintes techniques).
Le fit de la personnalité avec l'équipe en entretien (travail en équipe, savoir être pro)
Le mindset (envie d'apprendre, ne pas avoir peur de l'inconnu, résolution de problème)
La connaissance des fondamentaux techniques liés à notre stack (architecture, testing, ...)
Au-delà des compétences techniques il y a avant tout le savoir être et l’intégration dans l’équipe. On ne fait rien seul et dans nos métiers il y a toujours plusieurs façons de faire les choses.
Encore merci de t’être inscrit :)
PS : Pour accéder à toute la communauté TPC (événements, lives, ressources, opportunités de job en dev) n’hésite pas à nous rejoindre. C’est gratuit 👇