Devenir ingénieur intégration continue

Devenir ingénieur intégration continue

Devenir ingénieur intégration continue

Comment devenir ingénieur intégration continue ?
Patrick est un expert Jenkins qui a rejoint AViSTO il y a presque dix ans. Au sein d’un plateau de services dédié à un géant des télécoms, il a contribué à la conception et à la mise en œuvre d’un environnement de développement utilisé au quotidien par des milliers de programmeurs aux quatre coins du globe.
Patrick nous présente son parcours et son métier ; il partage avec nous ses réflexions sur le monde de l’open source (Jenkins) et conclut en nous donnant son avis sur AViSTO.

AViSTO recrute régulièrement des ingénieurs dans les domaines de l’intégration continue et du DevOps. Les offres sont à retrouver sur notre site emploi, où il est également possible de déposer une candidature spontanée.

Devenir Ingénieur intégration continue

Q : Peux-tu nous présenter ton parcours qui t’a conduit à devenir ingénieur intégration continue en général, et expert Jenkins en particulier ?

J’ai 30 ans d’expérience, donc je vais m’efforcer d’être synthétique ! Pour résumer, mon parcours a une certaine constante dans l’élaboration d’outils logiciels permettant à des développeurs de réaliser des applicatifs clients.
Après un DESS Informatique et Science de l’Ingénieur, systèmes experts, à Polytech Nice-Sophia, j’ai travaillé 10 ans autour d’une plateforme CAO objet, qui permettait de développer des applications logicielles pour des centrales nucléaires. Ensuite, durant 4 ans, je suis intervenu sur la partie middleware d’un gros système en relation avec un centre d’appels.
Puis, pendant 8 ans, j’ai été architecte logiciel et responsable gestion des configurations et des changements dans le domaine de la re-documentation automatisée d’applications informatiques. Je suis rentré chez AViSTO, en 2007. J’ai d’abord travaillé 2 ans en tant que consultant en gestion de configurations logicielles, essentiellement avec les outils IBM ClearCase/UCM et ClearQuest. Et depuis 7 ans, je suis expert solutions Jenkins sur un très gros projet.

Q : Justement, parle-nous un peu plus de ce projet qui, personnellement, m’impressionne.
Pour un leader mondial des télécoms, AViSTO a mis en place un environnement de développement distribué permettant à des milliers de programmeurs, répartis de par le monde, de bénéficier des outils et méthodes nécessaires à leur travail, 24h sur 24 et 7 jours sur 7.

Q : Peux-tu nous décrire dans les grandes lignes la « machinerie » qui permet ce tour de force ?

A partir de solutions Jenkins, nous avons conçu un système permettant d’automatiser le processus de build – ou intégration continue – et le workflow – ou processus d’automatisation – des différentes tâches nécessaires à la préparation de nouvelles versions de logiciels développés par notre client.
Cela comprend la récupération des données de gestion de configurations, le lancement des build fabriqués sous forme de jobs qui s’enchaînent les uns après les autres, la réalisation des tests unitaires etc. jusqu’à la livraison finale du logiciel.

Livre blanc feuille de route DevSecOps

Q : Et c’est la plateforme d’intégration continue Jenkins qui permet de faire tout ça ?
Oui, Jenkins est un outil open source qui permet de superviser et d’intégrer toutes ces parties-là. Il devient le chef d’orchestre de tout le workflow de développement. Une partie du code peut être créée en Europe, une autre aux Etats-Unis, la 3ème en Asie, le but est de pouvoir lancer une multitude d’actions en parallèle, de récupérer les livrables et de les consolider dans un tableau de bord qui permet d’avoir une vision globale de tout ce qui a été réalisé.
Q : Par le passé, tu as également travaillé avec des outils IBM, comme ClearCase/UCM ou ClearQuest. Tu préfères les solutions propriétaires, ou open source (Jenkins) ?
Il y a du bon et du moins bon des deux côtés.
Si on parle des aspects négatifs : dans un contexte open source, la coordination entre les différents développeurs fait souvent défaut ; du coup, c’est parfois un peu la pagaille : de nouvelles versions sortent rapidement, mais elles ne sont pas toujours bien testées et des régressions apparaissent. Ainsi, quand tu utilises une release software issue du monde de l’open source, tu ne peux jamais être 100% confiant.

Q : Les solutions propriétaires, c’est plus « carré » ?

Oui, le produit est mieux finalisé. Mais la contrepartie est qu’il évolue moins…

Q : Au final, tu es donc plutôt pro open source ?

Aujourd’hui je me sens à l’aise dans le milieu open source, je trouve même qu’il a un certain charme. Il y a certes peu de documentation, mais on a accès aux sources. Quand on est un peu débrouillard, ce qui est mon cas, on peut retrouver les réponses aux questions ; alors qu’avec un outil propriétaire, tu peux poser une question au support technique, mais il ne te donnera pas forcément la bonne solution. Et ensuite, tu n’auras pas la possibilité de chercher par toi-même. Ainsi, pour des personnes qui aiment « mettre les mains dans le cambouis », l’open source est intéressant : on prend une base existante et on développe une variante ; c’est beaucoup plus flexible.

Métier Ingénieur Intégration continue

Q : Qu’est-ce qui te plaît dans ton métier ?

Dans mon métier d’ ingénieur intégration continue, j’aime le côté développement d’outils qui sont mis à la disposition d’autres programmeurs. Le fait d’évoluer dans un environnement mouvant, toujours à la pointe de la technologie.
L’intégration continue, la gestion de configuration, c’est un domaine clé pour l’entreprise. Par exemple, il est très important de pouvoir redéployer des versions antérieures de logiciels, jusqu’à plusieurs années en arrière. Pour y parvenir, il faut être en mesure de retracer tout ce qui s’est passé. Les outils sur lesquels je travaille le permettent.

Ses conseils pour devenir ingénieur intégration continue

Q : As-tu des conseils à donner à un étudiant ou à un jeune ingénieur qui voudrait faire de l’intégration continue et de la gestion de configuration ?

D’abord, être curieux. Ensuite, il faut toujours avoir à l’esprit l’ensemble du système, pas seulement se dire « je veux développer tel plugin », mais se demander quelle est la finalité globale.
Il faut aussi avoir envie de se mettre à la disposition d’autres développeurs ; ça ne convient pas forcément à tout le monde.

Q : Est-ce un métier pour un jeune ingénieur logiciel ?

Peut-être pas pour un débutant. Personnellement, tout en restant dans la technique, cela m’a permis de faire quelque chose un peu à côté ; c’est valorisant car cela demande d’avoir une bonne vision d’ensemble du système. Donc je dirais que c’est une belle évolution de carrière pour des ingénieurs qui ont envie de sortir du développement pur.

Q : Justement, connaître le développement logiciel constitue-il un prérequis pour faire ton métier ?

Oui, car je développe aussi des plugins.
Mais, pour ceux qui font uniquement de la gestion de configuration, pas nécessairement, même si c’est toujours un plus car cela permet de couvrir le spectre complet.

Son avis sur AViSTO

Q : Pour conclure, que peux-tu nous dire de ton expérience chez AViSTO ?

Quand on m’a embauché, j’étais déjà très expérimenté, et on m’a fait confiance. On m’a donné l’opportunité de travailler sur de grosses applications, pour des sociétés internationales qui les mettaient en œuvre. J’en suis reconnaissant.
Je suis également heureux d’avoir pu aider l’entreprise à développer une véritable expertise dans le domaine de l’intégration continue et de la gestion de configuration, expertise que nous pouvons valoriser auprès d’autres clients.
Au quotidien, tout se passe bien, je suis content, c’est certain. Et puis, j’apprécie le fait de pouvoir travailler de manière très soudée avec le client, en mode agile. Nous sommes plus que des consultants, nous avons mis en place pour lui toute une équipe dédiée ; du point de vue de mon investissement personnel, c’est également très positif : je sais que mon travail a un impact. C’est valorisant.

Référence Projet Jenkins

Voici un exemple de projet dans le domaine de l’intégration continue et de la gestion de configuration à l’aide des outils Jenkins chez AViSTO

  • Conception et mise en œuvre d’un environnement de développement utilisé au quotidien par des milliers de programmeurs aux quatre coins du globe.

Emploi

Pour découvrir les offres d’emploi chez AViSTO dans le domaine de l’intégration continue et du DevOps, rendez-vous sur notre site emploi, où il est également possible de postuler de manière spontanée.

Un grand merci à Patrick pour son témoignage !