Lorsque j’ai débuté dans le recrutement IT, j’ai posé beaucoup de questions très « génériques » qui avaient finalement peu d’intérêt. Mais n’étant pas issue de la technique, je ne savais pas comment faire autrement.
J’avais souvent peur que les candidats se rendent compte que je ne comprenais pas grand chose. Dans ces moments, on ne se sent pas crédible, pas légitime. Il m’a fallu de la patience, de la lecture (et l’aide de mes collègues techs 🙏) pour enfin poser des questions pertinentes.
En formation, les recruteurs que j’accompagne me demandent régulièrement de leur donner des exemples de questions à poser en entretien. « Quelles sont les questions à poser à un profil DevOps, un développeur, un ingénieur Cloud? » J’essaie de les aider à construire des exemples de questions qu’ils pourront utiliser selon les profils rencontrés*
Je vous propose donc aujourd’hui une liste de questions à poser à un profil DevOps en entretien. Si ce format vous plaît, j’en ferai peut-être une série avec d’autres profils techs (n’hésitez pas à me donner des idées en commentaire!)
Le rôle du recruteur IT n’est pas d’évaluer de manière exhaustive les compétences techniques. Mais il doit poser des questions qui permettent de vérifier la cohérence du parcours et de repérer les signaux qui méritent une validation par un expert technique.
*Attention: les questions que vous posez en entretien doivent impérativement prendre en compte le poste pour lequel vous recrutez et ses spécificités. Donc adaptez toujours vos questions au besoin pour lequel vous recrutez.
Exemple : pour un rôle DevOps centré sur la sécurité, orientez vos questions davantage vers DevSecOps. Si le poste exige beaucoup de monitoring, insistez sur les outils de surveillance.
Petit rappel: si vous débutez dans le recrutement IT ou si vous avez besoin de (re)faire le point sur le vocabulaire courant dans la tech, RDV ICI
1/ Quelle est votre définition du DevOps ?
Pour moi, cette question est intéressante pour 3 raisons :
- d’abord, elle vous aidera à vous familiariser avec ce terme et à bien comprendre les fondamentaux. C’est un excellent moyen de développer votre culture technique!
- ensuite, elle vous permettra de voir si le candidat se met à votre niveau et n’utilise pas trop de jargon. La capacité à communiquer et à se faire comprendre est essentielle dans une équipe DevOps.
- enfin elle permettra de voir aussi si le candidat a la même vision/ définition que votre client ou votre entreprise.
Petit rappel : DevOps est la contraction des mots anglais « Developement » et « Operations ».
En français le terme « operations » correspond aux équipes côté exploitation c’est-à-dire qui assurent la disponibilité, la stabilité et la fiabilité d’un environnement informatique (système, réseau, serveur et de plus en plus sécurité).
L’approche DevOps est souvent décrite comme une boucle infinie, comprenant les étapes de planification, de codage, de construction, de test, de publication, de déploiement, d’exploitation et d’optimisation. DevOps s’appuie sur l’automatisation et la surveillance des événements (et des tests!) dans l’ensemble du processus de construction du logiciel, en créant des « ponts » entre les équipes.
Attention : DevOps est avant tout une approche collaborative et méthodologique. Cependant, de nombreuses entreprises et candidats le perçoivent aujourd’hui comme un poste spécifique, notamment en raison de la spécialisation croissante dans ce domaine.
Je vous recommande se regarder les vidéos de la chaîne Cookie Connecté sur le sujet. Il y a une playlist avec plusieurs vidéos sur le DevOps qui vous aideront à bien comprendre les concepts de la démarche. Vous pouvez également jeter un oeil à cette liste de ressources que j’ai rédigée pour les recruteurs IT.
💡Voilà une variante possible pour cette question :
Pouvez-vous m’expliquer ce qu’est le DevOps en termes simples?
2/ Quels sont les avantages de l’approche DevOps en entreprise?
Ici l’objectif est de voir comment le candidat va mettre en avant les points positifs de la méthodologie. Ce sera intéressant de voir sur quels points spécifiques il insiste. Il n’y a pas de bonne ou de mauvaise réponse à cette question. Cela dépendra beaucoup de la manière dont le DevOps est appliqué dans votre entreprise ou chez votre client.
Globalement, dans les avantages, on peut citer:
- des projets réalisés plus rapidement
- un bon niveau de qualité malgré des délais réduits
- un très bon niveau de communication entre les équipes
- l’automatisation des processus
- une meilleure visibilité sur les coûts
- une amélioration de la sécurité
Cette liste n’est pas exhaustive! N’hésitez pas à demander des exemples concrets qui permettront au candidat de détailler ses réponses et de parler de ses expériences.
💡2 variantes possibles pour aider les candidats à développer leurs réponses:
- Selon vous, quels sont les principaux bénéfices concrets d’une approche DevOps pour une entreprise ? Pouvez-vous illustrer avec un exemple tiré de votre expérience ?
- Dans vos projets précédents, quels avantages avez-vous observés grâce à l’approche DevOps, et comment ces bénéfices ont-ils impacté le produit ou l’organisation ?
Et vous pouvez aussi élargir la question pour ne pas parler uniquement des avantages:
- Pouvez-vous m’expliquer un projet ou un contexte où vous avez participé à la mise en place d’une démarche DevOps? Quels étaient les principaux enjeux et résultats ?
- Quels challenges avez-vous rencontrés en introduisant une démarche DevOps, et comment les avez-vous surmontés ?
3/ Expliquez-moi les termes CI/ CD dans l’approche DevOps et ce qu’ils apportent aux équipes
Même s’ils ne sont pas uniquement utilisés dans ce cadre, CI/ CD sont 2 termes fondamentaux de l’approche DevOps. Ce sont des pratiques qui permettent d’améliorer la productivité dans les différentes phases de développement logiciel en les rationalisant et en les automatisant.
CI = Continuous Intégration = Intégration continue
C’est un ensemble de pratiques et d’outils qui permettent d’accélérer la livraison des logiciels mais en conservant un très haut niveau de qualité. CI permet d’éviter certains problèmes techniques au moment du lancement des applications.
Exemple: imaginez que plusieurs développeurs travaillent sur la même application. La CI leur permet de vérifier rapidement que leur code s’intègre correctement au reste, en automatisant les tests à chaque modification. Cela évite des bugs massifs à la fin du projet.
CD = désigne 2 pratiques différentes
Continuous Delivery = Livraison continue. C’est une pratique où les modifications apportées au code sont livrées de manière automatique. Avec la livraison continue, une mise à jour d’un produit peut être prête pour la production à tout moment, après validation automatique des tests.
Continuous Deployement = Déploiement Continu. C’est une pratique où la publication de code est entièrement automatisée. Dans ce cas, la mise à jour est directement déployée en production sans intervention humaine, ce qui est idéal pour des plateformes en ligne à fort trafic.
Le terme « continu » est très important dans la démarche DevOps. Les différentes pratiques s’inscrivent de manière récurrente dans l’ensemble des processus.
Une variante possible qui permet de cibler la notion de pipeline dans l’expérience des candidats:
Pouvez-vous me donner un exemple de pipeline CI/CD que vous avez mis en place ou utilisé ? Quels bénéfices en avez-vous tirés?
4/ Quels outils DevOps avez-vous utilisés dans vos projets précédents, et à quoi vous ont-ils servi ?
Cette question vous permettra de vous familiariser avec les outils fréquemment utilisés dans une équipe DevOps. Mais attention, l’idée n’est pas d’obtenir une liste exhaustive de la part du candidat. Cela n’a aucun intérêt.
Avant d’aborder la question des outils, réfléchissez à ce que vous souhaitez vraiment évaluer :
- leur niveau de maîtrise des outils
- leur capacité à choisir l’outil adapté
- leur expérience concrète avec ces outils
Voici quelques catégories d’outils couramment utilisés dans un environnement DevOps, avec des exemples pour chaque catégorie. Cela peut vous servir de repères pour identifier les outils mentionnés par le candidat et mieux comprendre leurs usages :
Intégration continue : Jenkins, GitLab CI, Bamboo…
Conteneurisation : Docker, Kubernetes…
Gestion de configuration : Ansible, Terraform, Puppet…
Monitoring : Prometheus, Grafana, ELK… »
Si vous souhaitez renforcer vos connaissances, vous pouvez lire cet article.
Gardez bien en tête que les outils ne sont pas une fin en soi. Dans DevOps, la coopération et la vision des équipes sont essentielles, les outils permettent d’atteindre des objectifs définis et compris.
💡Voilà d’autres « variantes » possibles pour cette question :
Pouvez-vous me parler d’un outil DevOps que vous connaissez bien ? Quelles problématiques spécifiques vous a-t-il aidé à résoudre ?
Comment choisissez-vous les outils à intégrer dans un pipeline DevOps ? Sur quels critères vous basez-vous ?
Et vous pouvez aussi poser des questions spécifiques liées à une catégorie d’outils:
Intégration continue (Jenkins, GitLab CI, Circle CI…) :
Quel est votre outil préféré pour l’intégration continue et pourquoi ? L’avez-vous configuré vous-même ?
Conteneurisation (Docker, Kubernetes) :
Avez-vous déjà géré des environnements conteneurisés ?
Comment avez-vous utilisé Kubernetes pour orchestrer vos conteneurs ?
Monitoring (Prometheus, Grafana, ELK) :
Quelles métriques avez-vous surveillées avec Prometheus ou Grafana ?
5/ Comment faites-vous pour surveiller les performances des applications en production?
Cette question permet d’échanger avec le candidat sur sa compréhension en matière de surveillance des performances des applications et de leur disponibilité continue. N’oubliez pas que l’un des objectifs du DevOps est d’accélérer la livraison des applications mais sans sacrifier leur qualité et leur disponibilité.
Le candidat a sans doute travaillé sur des projets avec des procédures et outils spécifiques liés à la performance. L’équipe à laquelle il appartenait avait peut-être mis en place une liste d’indicateurs précis à suivre.
Par exemple, il est fort possible que les candidats vous parlent de SLO et de SLA:
- SLO (Service Level Objective) :
C’est un objectif de performance mesurable défini pour un service. Par exemple, « le taux de disponibilité du système doit être de 99,9% sur une période donnée. » Les SLO sont utilisés en interne pour fixer des standards entre les équipes (Dev, Ops, etc.) - SLA (Service Level Agreement) :
C’est un contrat qui formalise les niveaux de service promis à un client ou une autre partie externe. Par exemple, « si le service tombe en dessous de 99,9% de disponibilité, une compensation financière sera offerte. » Les SLA sont donc souvent plus stricts car ils engagent légalement l’entreprise
Ici c’est important de demander au candidat de raconter en détail l’une de ses expériences. Il peut vous expliquer la manière dont la surveillance des applications était automatisée. Il pourrait aussi vous parler d’outils de monitoring (prometheus ou autres) et de gestion des alertes.
N’hésitez pas à lui demander de simplifier ses explications pour qu’elles soient « accessibles » à une personne qui ne vient pas de la tech.
💡Quelques variantes possibles
- Quand vous surveillez les performances des applications, comment définissez-vous les seuils critiques (par exemple : taux d’erreur, latence, disponibilité) ?
- Pouvez-vous expliquer un cas où le monitoring a permis de résoudre un problème avant qu’il n’impacte les utilisateurs ? Quels outils avez-vous utilisés et quels indicateurs-clés avez-vous suivis ?
6/ Comment faites-vous pour garantir la sécurité des déploiements continus?
La sécurité prend une part de plus en plus importante dans la démarche DevOps (et dans l’informatique en général). On parle d’ailleurs, dans certaines organisations, de « DevSecOps » qui associe le Développement, la Sécurité et l’Exploitation.
Cette question est intéressante pour voir si le candidat a été sensibilisé sur ce sujet crucial pour les entreprises et s’il a de bonnes pratiques en la matière.
Il pourrait par exemple parler de l’intégration de tests de sécurité au moment du déploiement. Peut-être qu’il a également utilisé des outils d’analyse qui permettent de repérer les failles dans un morceau de code. Un outil populaire pour identifier la vulnérabilité du code source est SonarQube.
Et il peut également vous parler de revues de code centrées sur les problématiques de sécurité, qui permettent d’identifier et d’éliminer certaines menaces.
En bref, encouragez-le à parler de différents outils et pratiques qu’il a rencontré dans ses différents projets.
3 variantes possibles pour aborder le sujet de la sécurité
- Quels outils ou pratiques utilisez-vous pour intégrer la sécurité dans vos pipelines de déploiement continu ?
- Pouvez-vous partager un exemple où vous avez identifié et corrigé une vulnérabilité?
- Comment assurez-vous que les aspects sécurité sont pris en compte à chaque étape du processus DevOps, de la conception au déploiement ? Quels défis avez-vous rencontrés à ce sujet?
7/ Comment gérez-vous les désaccords entre équipes Dev et Ops ?
Le cœur de la démarche DevOps est de casser les cloisons traditionnelles entre les équipes de développement (Dev) et d’exploitation (Ops). Ces deux équipes ont souvent des priorités différentes :
👉 Dev : Livrer rapidement des nouvelles fonctionnalités
👉 Ops : Assurer la stabilité et la sécurité des environnements en production
Ces priorités peuvent générer des tensions. Savoir si un candidat a l’expérience et les compétences nécessaires pour gérer ces désaccords est essentiel pour garantir la réussite de l’approche DevOps.
De plus, DevOps ne se limite pas aux outils ou aux processus. Les soft skills, comme la communication, la négociation et la gestion des conflits, sont tout aussi importantes. Une mauvaise gestion des désaccords peut ralentir les projets, engendrer des tensions dans les équipes, voire compromettre les livraisons. Poser cette question permet d’évaluer la capacité du candidat à dialoguer, à trouver des compromis et à maintenir un environnement collaboratif.
Quelques variantes possibles
Quand une équipe Dev veut déployer rapidement une nouvelle fonctionnalité, mais que l’équipe Ops s’y oppose pour des raisons de stabilité, comment réagissez-vous ? Quels compromis proposez-vous ?
Avez-vous déjà dû convaincre une équipe ou un manager d’adopter une nouvelle méthode ou un nouvel outil ? Expliquez-moi comment vous avez procédé
8/ Comment restez-vous à jour avec les nouvelles technologies et les tendances DevOps?
L’IT est un domaine qui bouge très vite. Ce qui est vrai aujourd’hui sera peut-être obsolète demain. Cette question n’est pas uniquement valable pour un « profil DevOps », vous pouvez la poser à tous les profils techs que vous rencontrez. En l’adaptant évidemment !
Cette question vous permettra d’échanger avec le candidat sur la manière dont il fait de la veille dans son domaine.
Pour moi, cette question est également une mine d’or pour découvrir de nouvelles ressources:
- qui permettent de continuer à étoffer votre « culture tech » et vous différencier des autres recruteurs
- que vous pourrez ensuite partager avec vos équipes, collègues, candidats…
Là encore, il n’y a pas de bonne ou de mauvaise réponse. Et évidemment, tout dépend de l’importance accordée à la veille dans le poste pour lequel vous recrutez.
Une personne qui fait beaucoup de veille dans la tech pourrait par exemple vous citer les personnes qu’elle suit sur LinkedIn, les blogs/ les chaînes YouTube/ les newsletters qu’elle consulte, les événements ou meetup auxquels elle participe.
Et attention, ce n’est parce qu’une personne ne fait pas beaucoup de veille qu’elle n’est pas compétente! Ne tirez pas de conclusion hâtive. Rassemblez des éléments qui vous permettront de valider ou non si c’est la personne que vous cherchez pour un poste donné, à un moment précis.
💡Voilà une variante possible pour cette question :
Comment réalisez-vous votre veille métier?
En conclusion
Lorsque vous posez des questions en entretien, elles doivent toujours avoir un lien direct avec le poste pour lequel vous recrutez. Cela signifie que vous devez une très bonne compréhension du poste, de son contexte, des enjeux. Sans cela, aucune question ne sera vraiment pertinente.
N’oubliez pas également que vous devez avoir une idée des éléments de réponses qui seront « positifs ou non ». Si le candidat développe ses réponses mais que vous ne comprenez rien ou que vous ne les mettez pas en perspective avec ce qui est attendu, l’entretien ne vous mènera pas très loin…
Essayez toujours de préparer vos entretiens selon ces 3 axes :
- Comprendre les attentes du poste et du manager
- Préparer une scorecard des compétences et soft skills recherchées
- Adapter les questions techniques en fonction des priorités identifiées
J’ai demandé à ChatGPT de reprendre les 2 premières questions et de mettre en avant ce qui pourrait constituer une « bonne réponse » et une réponse « moins intéressante »
Sur le même modèle, vous pouvez reprendre vos questions à poser à un profil DevOps et les soumettre à ChatGPT pour vous aider à construire une échelle de réponses.
Alors n’ayez pas peur de faire répéter, de dire que vous n’avez pas compris ou qu’une réponse n’est pas pas suffisamment claire ou précise. Il vaut mieux être honnête plutôt que de faire semblant.
Bon entretien !