Photo de Youssouf Maïga responsable partenariat APNA

Passionné par l’IT depuis son plus jeune âge, il fait ses premières armes dans l’univers des opérations et celui du développement, pour aujourd’hui évoluer dans un domaine qui allie le meilleur de ces 2 mondes : le DevOps.

Pour nous parler de cette approche qu’il décrit comme une réelle « culture », nous sommes allés à la rencontre de Youssouf MAIGA, expert DevOps et co-fondateur de l’Association pour la Promotion du Numérique en Afrique (APNA).

Bonjour Youssouf, peux-tu te présenter : quel est ton parcours, quel est ton domaine de prédilection ? 

J’ai toujours été attiré par les métiers techniques, j’ai suivi un parcours classique, un baccalauréat scientifique, une licence en science mathématique et informatique puis une école d’ingénieurs. Je suis diplômé de l’école supérieure d’ingénieurs de Rennes (ESIR) avec pour spécialisation les systèmes d’informations.

Durant mes années estudiantines, en parallèle de m’essayer au développement, j’ai pu œuvrer dans le monde associatif, notamment lors de mes trois premières années universitaires au Maroc, durant lesquelles j’ai été chargé de communication de l’Association des Maliens puis vice-président et président des Confédérations des Etudiants Etrangers.

Un parcours riche qui m’a amené à travailler après mes études dans le monde de la prestation de service informatique pour des grands opérateurs télécom (Orange, KPN), puis automobile avec une expérience au sein du groupe Stellantis, pour finir dans le monde bancaire dans lequel j’évolue toujours aujourd’hui chez le Crédit Agricole.

Je travaille au sein d’une équipe transverse sur le cycle de vie des logiciels, de la conception au déploiement. Une fonction qui me permet de m’épanouir dans une approche DevOps soit l’alliance de mes 2 domaines de prédilection.

Pourquoi avoir choisi le DevOps ?

Dès plus mon jeune âge, je me suis passionné par l’IT et tous les sujets qui l’entourent, j’étais souvent la première personne vers laquelle se tournaient mes proches dès qu’ils avaient un problème informatique !

Mon intérêt pour le développement est venu au fil de mes études, et c’est à travers des rencontres enrichissantes que j’ai découvert le DevOps. J’ai été tout de suite captivé par cette approche qui représente selon moi l’élément central de toute la chaine de production, et permet l’interaction avec l’ensemble des parties prenantes.

Peux-tu nous en dire plus sur cette approche ?

Tout d’abord permettez-moi un petit retour en arrière, historiquement dans le monde du logiciel les développeurs évoluaient d’un côté et de l’autre côté les opérationnels (ops) avaient pour mission de déployer le code pour les utilisateurs finaux.

Les objectifs étaient différents avec des développeurs à la recherche d’innovations et d’évolutivité et des opérationnels plus pragmatiques aspirants à plus de stabilité des environnements. Cette organisation en silos ne permettait que peu d’interaction et de communication.

Plus qu’une simple démarche, la culture DevOps est née pour supprimer ces barrières et permettre à ces deux mondes de travailler en totale synergie.

Quelle est la chaine de production entre développeurs et Ops, peux-tu nous décrire les étapes de cette chaîne ?

La chaîne de production entre les développeurs (Dev) et les Opérations (Ops) est souvent appelée la chaîne d’intégration et de déploiement continu (CI/CD), qui est une pratique courante dans le développement logiciel moderne.  On distingue deux parties dans la chaine de production :

La phase CI (soit continuous integration) qui correspond à la conception de l’application, incluant des phases de vérification et de qualification et la production de livrables appelés aussi « Artifacts ».

Ce ou ces artifacts sont envoyés à l’autre partie, la CD (continuous deployment) afin qu’elle puisse déployer l’application dans des environnements de pré-production et de production.

Il existe de nombreux outils associés aux différentes étapes de cette chaîne mais j’aurais l’occasion de vous en dire plus lors d’une prochaine publication via l’APNA 😉.

Il est important de souligner que le DevOps ne se limite pas à la chaine CI/CD, il englobe également toutes les phases d’analyse des besoins des clients, de la planification de projet, du monitoring (surveillance des applications), de la chaine de support aux utilisateurs et tous les aspects collaboratifs et de feedback entre les différentes équipes.

“Je pense très sincèrement que l’éducation est la clé de notre évolution en tant que société, et je suis plus qu’enthousiaste à l’idée d’apporter ma contribution à travers le développement de l’APNA”

Comment devenir DevOps ? Existe-t-il des formations spécifiques ? Quelles sont les compétences requises ?

Le DevOps est relativement récent sur le marché, c’est donc un créneau sur lequel beaucoup d’ingénieurs en informatique, et en administration système se sont positionnées.

Niveau académique, il existe des parcours DevOps dans certaines écoles d’ingénieurs et quelques universités avec des Master dédies.

Des programmes de formation professionnelle, des bootcamp et des certifications spécifiques DevOps sont également disponibles, comme la certification AWS Certified DevOps Engineer, la certification Docker Certified Associate, etc.

L’association 10.000Codeurs dont je suis adhérent professionnel organise des formations pour les jeunes africains dans divers domaines du numérique y compris le DevOps.

En matière de profils, il est important de posséder des soft skills tels que le sens du collectif, du partage, la capacité d’écoute, et bien sûr des compétences techniques en langage de programmation, principalement Linux, mais aussi une bonne connaissance de certaines méthodologies, agiles et des pratiques de développement logiciel telles que CI/CD (Intégration Continue / Déploiement Continue), ainsi qu’une compréhension approfondie des principes de la gestion de la configuration, du déploiement et de la surveillance des applications.

En résumé, devenir DevOps nécessite une combinaison de formation académique, d’auto-apprentissage et de développement de compétences techniques, de collaboration et de compréhension des processus. Il est également crucial de rester à jour avec les évolutions technologiques et les meilleures pratiques du domaine.

Quels sont les bénéfices de la culture DevOps ?

En premier lieu, elle permet une meilleure synergie entre les équipes, mais aussi la réduction du temps de développement et du facteur risque.

Il existe de nombreux autres avantages : l’indicateur TTM (time to market) est réduit, la sécurité est optimisée grâce à des techniques permettant de réduire les potentielles vulnérabilités, ainsi que de meilleurs testings. La qualité globale s’en voit améliorée.

Quelles sont les bonnes pratiques ?

Il me semble essentiel de souligner l’hétérogénéité des niveaux qu’il peut exister dans les équipes. Pour les bonnes pratiques, Il faut revenir aux fondamentaux du DevOps qui se résument en cinq lettres, « CALMS », un acronyme anglais pour Culture, Automation, Lean, Measurement, and Sharing :

  • Culture : Elle implique un changement de mentalité au sein de l’organisation, favorisant la collaboration, la communication transparente, la confiance mutuelle et l’acceptation du risque et des échecs.
  • Automation : Elle concerne l’automatisation des tâches répétitives et manuelles tout au long du cycle de vie du développement logiciel, y compris le déploiement, les tests, la gestion des configurations, etc. Il est important pour les équipes d’identifier les éléments à automatiser selon le contexte du projet et de faire des choix technologiques en fonction des forces et des faiblesses des ressources.
  • Lean : Le principe Lean, inspiré des méthodes de gestion de la production, est appliqué dans DevOps pour éliminer les gaspillages, optimiser les processus et améliorer la productivité. Cela implique l’identification et l’élimination des goulots d’étranglement et des inefficacités dans le processus de livraison logicielle.
  • Measurement : Tout est métrique, tout se mesure et cela consiste à collecter des données pertinentes tout au long du processus DevOps pour évaluer les performances, identifier les domaines d’amélioration et prendre des décisions basées sur des données. Cela peut inclure des métriques telles que le temps de déploiement, la fréquence des déploiements, le temps de résolution des incidents, etc.

Sharing : Le partage est essentiel pour favoriser la collaboration et l’apprentissage au sein de l’organisation. Cela implique de partager des connaissances, des compétences, des outils et des bonnes pratiques entre les équipes de développement, d’exploitation et d’autres parties prenantes.

Quelles évolutions envisages-tu dans ce domaine ?

Le DevOps étant perçue différemment d’une entreprise à l’autre, l’accent est souvent mis sur la partie automatisation. Mon souhait serait d’endosser un rôle de leader dans le domaine et diffuser cette culture DevOps au plus grand nombre d’organisations.

Comment est venu l’idée de fonder l’APNA pour lequel tu es également Responsable Partenariats ?

Au Mali mon pays d’origine, il m’est souvent arrivé d’échanger avec des personnes de mon entourage passionnées par l’IT mais en manque de moyens et de ressources sur place.

De ces discussions a émergé l’idée de contribuer à un projet qui ferait la promotion du digital sur le continent, sans avoir la nécessité d’aller à l’étranger ou de dépenser une fortune pour accéder aux technologies numériques.

Il y a des talents en Afrique qui ne demandent qu’à ce qu’on leur donne les moyens de réaliser leur potentiel, c’est la raison pour laquelle nous avons pris l’initiative avec un groupe d’amis unis par la même aspiration, de fonder l’APNA (Association Pour le Numérique en Afrique).

J’ai souhaité également endosser le rôle de Responsable Partenariats pour plusieurs raisons notamment la possibilité de rencontrer différents acteurs du monde digital mais aussi partager et transmettre.

Sortir de ma zone de confort technique et aller à la rencontre de partenaires, échanger, communiquer avec des contacts au chemin différent est un point d’apprentissage et d’enrichissement au quotidien.

Comment souhaites-tu contribuer à l’évolution de l’APNA ?

A travers mes contacts en France ou à l’international, mes différentes expériences, tout particulièrement sur le plan de la formation je pense avoir des choses à apporter. J’ai en effet déjà été formateur et intervenant pédagogique pour des lycéens leur donnant des cours de soutien en mathématiques.

Je pense très sincèrement que l’éducation est la clé de notre évolution en tant que société, et je suis plus qu’enthousiaste à l’idée d’apporter ma contribution à travers le développement de l’APNA.

Un dernier mot ?

En dernier mot, je souhaite encourager chacun à suivre l’APNA et à envisager l’adhésion. Nos ambitions ne pourront être pleinement réalisées sans l’engagement précieux de bénévoles. Je suis convaincu que de grandes réalisations attendent notre association dans un avenir proche.