Comment évaluer les compétences d'un développeur cloud ?

Comment évaluer les compétences d'un développeur cloud ? A la fois codeur, architecte et intégrateur, il multiplie les casquettes. Du QCM au test technique en passant par le concours de code, différents dispositifs permettent d'estimer son savoir-faire.

L'évaluation des développeurs cloud est un exercice délicat. Sur un marché de l'emploi extrêmement tendu, comment un recruteur peut-il être à la fois attractif et sélectif ? Si les profils juniors se prêtent au jeu des test techniques, il en va autrement des développeurs expérimentés qui pourraient y voir une remise en cause de leurs compétences. Bien conçue, une évaluation peut malgré tout flatter l'ego en valorisant l'expertise. Une approche ludique permet en parallèle de dédramatiser l'enjeu. S'orienter par exemple vers un concours de code est une autre méthode qui a pour avantage de faire résonner l'esprit de compétition.

Pour Olga Karpouchina, DRH des infrastructures IT du groupe Société Générale, l'évaluation ne doit pas uniquement porter sur les compétences techniques, ou hard skills, mais couvrir également les compétences comportementales, ou soft skills. Avec la généralisation des méthodes agiles et du DevOps, se prévaloir d'un bon niveau technique ne suffit plus. "Les recrues doivent être en mesure de travailler en mode collaboratif", insiste Olga Karpouchina. Sur ce plan, les critères seront différents en fonction du profil. "Pour un architecte logiciel par exemple, on analysera la capacité à collaborer à des projets de cloud à grande échelle, associant cloud privé et cloud public", explique-t-elle.

"On s'assurera que le candidat a déjà travaillé en mode agile et qu'il peut intégrer une features team" 

"Plus globalement, on s'assurera que le candidat présente une approche orientée clients et solutions. Mais également qu'il a déjà travaillé en mode agile et qu'il peut, par sa capacité d'écoute et de coopération, intégrer une features team." Une aptitude qui, elle, sera évaluée à travers des tests de personnalité et via des entretiens avec les RH et les managers.

Côté technologies, la Société Générale valide la maîtrise qu'a le candidat des langages qu'elle utilise, à savoir Python et C#, par le biais de tests. L'établissement bancaire fait appel à la plateforme de CodingGame pour les concevoir. En fonction des postes à pourvoir, le groupe bancaire peut évidemment demander aux développeurs de maîtriser les environnements de cloud public qu'il utilise, à savoir AWS et Microsoft Azure.

"L'exigence diffère selon l'expérience du candidat", souligne Olga Karpouchina. "Pour un développeur junior, on privilégiera davantage le potentiel, la capacité à apprendre. Même si le score obtenu à un test n'est pas excellent, nous estimerons l'originalité de l'approche dans la recherche de solutions. Python n'est pas le langage le plus compliqué à apprendre. Un junior peut être accompagné par des développeurs plus expérimentés, suivre une formation."

Les compétences évoluent avec le DevOps

Pour Aude Barral, cofondatrice de CodingGame, la démarche DevOps change la donne en termes d'évaluation puisque les développeurs doivent, surtout en matière de cloud, s'intéresser à l'administration système et à l'infrastructure sous-jacente. "Ils sont amenés à manipuler toute la chaîne d'intégration et de déploiement continue afin d'identifier s'il n'y a pas et de régression lors d'ajout de code", pointe Aude Barral. Ce qui suppose de maîtriser les principes du CI/CD et d'outils associés comme Jenkins, Maven ou Gradle. Sans oublier la dimension sécurité avec la montée en force du DevSecOps.

Aux yeux d'Aude Barral, il y a d'autres impondérables qu'un développeur cloud doit être capable de gérer. Le candidat devra pouvoir configurer et administrer des microservices dans des environnements Docker et Kubernetes. Mais également être aux faits des enjeux du monitoring des services cloud, via des solutions comme Kibana ou Prometheus. Au-delà de ces prérequis, Aude Barral conseille de confronter le candidat à des cas pratiques, en lui demandant par exemple de packager une application web dans une image de conteneur Docker ou de configurer un serveur de base de données PostgreSQL.

"L'exercice de code se prête bien à l'évaluation des compétences en langages de programmation, mais on privilégiera le QCM pour les frameworks de type Angular et Symfony"

Les questions en entretien sont aussi l'occasion de jauger les connaissances du postulant en matière de marché. Quelle vision a-t-il du catalogue de services de Microsoft Azure ou d'OVH ? Quels services d'AWS utiliser pour entreposer des données d'archivage ? S3, EBS ou Glacier ? L'engagement au sein des communautés est un autre critère à vérifier. Participe-t-il à des meetups ? A-t-il fait lui-même des présentations lors de forums ? Quels blogueurs connait-il ? Utilise-t-il le site de questions-réponses Stack Overflow ? Quel volume de code a-t-il déposé sur GitHub ?

Président d'Isograd, un expert français de la certification IT, Marc Alperovitch rappelle qu'il existe deux familles de tests techniques. En premier lieu, les QCM permettent personnaliser les questions, en abordant par exemple des outils spécifiques à une société. Second type de test, l'exercice de code a pour but de mettre le candidat face à un problème d'algorithmie qu'il doit résoudre. Un environnement de développement lui est fourni pour écrire son code, l'exécuter et en analyser les résultats. "L'exercice de code se prête bien à l'évaluation des compétences en langages de programmation, mais on privilégiera le QCM pour les frameworks type Angular et Symfony", commente Marc Alperovitch.

La délicate question des certifications

Autre approche, le concours de code constitue, selon Marc Alperovitch, un outil efficace pour sourcer des développeurs tout en les évaluant. "Certains événements peuvent attirer des milliers de participants qui, pour certains, accepteront de laisser leurs coordonnées à un recruteur". Isograd travaille avec HelloWork qui organise les BattleDev, un concours qui repose sur des questions d'algorithmie de difficulté croissante. "La dernière édition a réuni 5 500 participants en ligne", se félicite Marc Alperovitch. Sur ces concours, parmi lesquels figurent également le Meilleur Dev de France ou CodeForces, se retrouvent régulièrement les mêmes champions.

Enfin, un recruteur peut s'appuyer sur les certifications obtenues par le candidat. Alors qu'Isograd est à l'origine du Tosa, troisième certification la plus populaire derrière le Bulats et le Toeic, selon une étude de la Caisse des Dépôts, la société parisienne ne propose pour l'heure qu'une seule certification sur un langage informatique, en l'occurrence PHP. Pour Marc Alperovitch, la certification est un processus complexe. "Elle doit s'appuyer sur un protocole de passage, une méthodologie. Il faut, par ailleurs, s'assurer de l'identité du candidat et qu'il ne triche pas." Enfin, le test qui sanctionne la certification doit être à la fois robuste et discriminant.