brimeux - Fotolia
Développeur Cloud : six questions d’entretien d'embauche à préparer
Pour impressionner les employeurs potentiels, les développeurs d'applications Cloud doivent montrer au cours de l'entretien qu'ils sont plus que de simples codeurs.
Le Cloud apporte davantage de flexibilité et d'évolutivité, mais il change également la façon dont les entreprises développent et déploient leurs logiciels. Votre carrière de développeur a de fortes chances de vous amener à travailler dans le Cloud. L'informatique nouvelle génération exige cependant des idées, des compétences et des outils innovants. Les futurs employeurs ne cherchent pas de simples codeurs : les nouveaux développeurs d'applications Cloud doivent aussi porter les casquettes d'architecte, d'ingénieur, d'analyste et de technicien.
Considérez ces six questions clés qui pourront vous être posées lors de votre prochain entretien d'embauche pour le poste de développeur d'applications en Cloud.
Décrivez votre expérience et vos compétences en programmation.
L'employeur a déjà lu votre CV, mais souhaite connaître vos principales compétences en programmation. Passez en revue votre formation et les certifications que vous avez obtenues, mais dites-vous bien que cela ne suffira pas à décrocher le poste. Evoquez votre activité actuelle en mettant en évidence les points en rapport avec les exigences du poste à pourvoir.
Faites valoir au moins cinq ans d'expérience pratique dans tous les principaux langages utilisés chez l'employeur, ou au moins la plupart. Par exemple, Python, Perl et Java. Si le poste inclut du développement Web, justifiez d'au moins quatre ans d'expérience avec HTML5 et jQuery.
Savoir programmer des logiciels est une chose. Mais s'assurer de leur bon fonctionnement dans le Cloud en est une autre.
Aujourd'hui, le développement de logiciels implique des tâches d'intégration. C'est pourquoi nombre de développeurs d'applications Cloud doivent souvent montrer leur aptitude à intégrer des systèmes centraux à des plateformes telles que NoSQL, DynamoDB, Amazon Simple Queue Service voire Access.
Montrez en outre que vous avez une bonne expérience des outils de développement les plus courants, tels que Spring Boot de Pivotal Software, ainsi que des frameworks et outils d'application Web open source.
Quelles plateformes Cloud avez-vous utilisées ?
Savoir programmer des logiciels est une chose. Mais s'assurer de leur bon fonctionnement dans le Cloud en est une autre. Votre futur employeur voudra s'assurer que vous comprenez le mode de fonctionnement des plateformes et des prestataires Cloud, tels que Google Cloud, Amazon Web Services (AWS) ou Microsoft Azure.
Prouvez-lui aussi que vous savez utiliser les services proposés par un prestataire. Par exemple, si l'employeur utilise AWS, il souhaitera recruter un développeur capable de mettre à disposition des ressources de traitement en recourant à Amazon Elastic Compute Cluster, Amazon EC2 Container Service ou Amazon Simple Storage Service.
Vous devez par conséquent maîtriser les options de l'interface de gestion du prestataire Cloud, notamment les portails Web, les interfaces en ligne de commande et les API. Dans le cadre de ses fonctions, le développeur Cloud est amené à gérer l'environnement, à extraire et analyser les rapports, à gérer les budgets, à supprimer les ressources inutilisées et à intégrer les services Cloud aux logiciels en cours de développement.
Quels autres outils de développement connaissez-vous ?
L'employeur veut savoir quels outils vous connaissez et si vous pourrez facilement exploiter ceux qu'il utilise. Les développeur d'applications Cloud ont généralement recours à des outils DevOps ou d'intégration et de livraison continues, de sorte qu'il vous faudra justifier d'au moins trois ans d'expérience avec des outils open source tels que Gradle ou Jenkins.
Mettez en avant l'importance de l'automatisation dans les pratiques DevOps. En effet, la plupart de ces outils favorisent l'automatisation, qui elle-même simplifie la gestion du code, la collaboration et le déploiement. Or, il s'agit là d'un atout essentiel dans les grands environnements de développement.
A quoi ressemblent votre équipe et vos processus de développement ?
Les développeurs d'applications en Cloud n'agissent jamais seuls. N'importe quel modèle Agile ou DevOps requiert différentes disciplines pour le codage, les tests et le déploiement. De plus, pour fonctionner de manière optimale, ces modèles exigent une certaine dose de flexibilité et de collaboration entre les membres de l'équipe, les futurs utilisateurs du logiciel en cours de développement et les responsables.
Le développeur Cloud idéal se montre expert en matière de dépannage et de résolution des défauts tant côté logiciels que côté architecture Cloud.
Les employeurs potentiels recherchent un candidat qui soit polyvalent et qui affiche une solide connaissance des normes de développement de logiciels. Le développeur d'applications Cloud doit participer activement à l'établissement des exigences de l'application, aux réunions de révision de projet et aux processus de test. Le développeur idéal se montre expert en matière de dépannage et de résolution des défauts tant côté logiciels que côté architecture Cloud.
Quelle est votre approche du développement de logiciels pour le Cloud ?
Les employeurs ont besoin de savoir si vos processus de développement correspondent aux leurs. Décrivez votre processus habituel, de la collecte des besoins à la sélection des membres de l'équipe et aux cycles de programmation et de test.
Le futur employeur tentera certainement de déterminer si vous êtes à l'aise avec les modèles de développement accéléré, comme la livraison continue. Il n'est pas indispensable que votre processus soit en tous points identique au sien, mais plus il s'en approchera, plus vite vous vous adapterez à votre nouveau poste.
Soulignez vos compétences en programmation orientée objet et insistez sur vos expériences en architecture des applications Cloud et en développement de microservices pour le Cloud public. Choisissez les projets dont vous êtes le plus satisfait et montrez en quoi votre travail a constitué une véritable valeur ajoutée pour l'entreprise.
Comment gérez-vous les environnements multi-Cloud et l'interopérabilité entre les Clouds ?
De nombreuses entreprises font appel à plusieurs plateformes Cloud à des fins de résilience et d'économies. Par exemple, certaines font appel à plusieurs fournisseurs de Cloud public pour bénéficier d'une redondance, d'une faible latence ou d'un moyen de sauvegarder les données.
Malgré ces avantages, le fait d'utiliser plusieurs Clouds peut poser de sérieux problèmes aux développeurs des applications concernées. En effet, les services et les API de chaque prestataire sont généralement différents, de sorte qu'il est impossible de garantir qu'une application développée spécialement pour AWS fonctionnera correctement sur Google Cloud ou d'autres Clouds publics.
Il est probable que ces différences entre prestataires s'estompent avec le temps. Toutefois, dans l'intervalle, les développeurs possédant une expérience du « multi-Cloud » auront une longueur d'avance, y compris d'ailleurs si le futur employeur n'a pas encore entrepris de gérer un environnement multi-Cloud. Réfléchissez à la façon dont vous pourriez gérer plusieurs prestataires susceptibles d'exécuter du code de manière redondante, traiter le basculement entre les différents prestataires ou prendre en charge des dépots de données synchronisés.