C’était au début de l’année 2025.
La fonctionnalité standard de suggestion de code dans GitHub Copilot était désormais bien établie. ChatGPT était en train de remplacer Google Search pour les recherches de références de code — et proposait même des suggestions de blocs de code plutôt utiles — mais nous nous moquions surtout de cette programmation assistée par l’IA, car elle était soit trop simpliste, soit dépourvue de contexte de code évident, soit ridiculement surdimensionnée.
Tout cela a changé au printemps 2025, lorsque d’importantes améliorations apportées aux modèles de base ont rendu les outils de codage basés sur l’IA, tels que Cursor, GitHub Copilot Agent, Windsurf, Claude Code et Cline, bien plus performants. Nos critiques ne semblaient plus tenir la route, et si nous ne nous mettions pas au pas, c’est nous qui allions passer pour des idiots.
Chez Bitly Engineering, nous avons compris que soit nous nous lancions à corps perdu dans cette aventure, soit nous allions nous retrouver à la traîne.
En mai 2025, nous avons lancé une initiative de formation au sein de l’équipe d’ingénierie de Bitly. L’objectif : faire passer nos 60 ingénieurs de l’autocomplétion de GitHub Copilot à des pratiques de codage entièrement assistées par un agent IA aussi rapidement que possible.
Nous savions que nous ne pouvions pas mettre le monde en pause pour envoyer tout le monde suivre une formation, et d’ailleurs, aucune formation officielle n’existait encore à l’époque ; nous avons donc décidé de créer la nôtre.
Notre approche consistait à mettre en place un programme intitulé « L’IA dans l’ingénierie », alliant structure, apprentissage informel, expérimentation et évaluations, tout en partant du principe que nous allions procéder par itérations au fur et à mesure. Il faudrait que nous pavions la route tout en roulant dessus.
Voici notre histoire : ce qui a fonctionné, ce qui n’a pas fonctionné et ce que nous avons appris en cours de route.
Choisir des outils d’IA
Nos critères de sélection des outils d’IA étaient simples : Mettez des outils de pointe à la disposition des ingénieurs. Grâce aux meilleurs outils, nous avons pu explorer nos capacités, apprendre ensemble et itérer rapidement. Nous avons sélectionné des outils qui alliaient maturité et facilité d’utilisation et qui avaient le moins d’impact possible sur notre cycle de développement. La liste des finalistes comprenait :
- Cursor (couche métier avec mode de confidentialité activé)
- ChatGPT (Formule d’équipe pour un chat IA polyvalent)
La confidentialité était non négociable. Nous avons fait preuve de fermeté quant à nos principes de confidentialité, notamment en imposant la conformité SOC2 comme exigence incontournable, en activant le mode de confidentialité dans Cursor afin de garantir une conservation nulle des données, et en nous assurant que les données des invites ne seraient pas utilisées pour l’entraînement des modèles.
Le lancement
Nous avons démarré en mai 2025 et nous nous sommes fixé les objectifs suivants :
- Développez la maîtrise de l’IA au sein de l’équipe : chacun doit savoir comment tirer parti des outils de codage IA dans ses processus de travail
- Partager des expériences et consigner les bonnes pratiques
- Évaluer en permanence l’impact
- Instaurer une culture d’apprentissage et d’expérimentation
Un atout précoce : Séances « par-dessus l’épaule »
L’une de nos stratégies les plus efficaces a consisté à mettre en place des sessions « Over the Shoulder » (OTS) : des séances de travail au cours desquelles les ingénieurs partageaient leur écran et présentaient en temps réel des processus de codage basés sur l’IA, dans des conditions réelles.
Nous avons demandé à des bénévoles qui utilisent déjà des agents IA de nous faire part de leur expérience, qu’il s’agisse de la configuration des outils, des invites, des règles ou de la manière dont ils ont affiné les résultats lorsque des problèmes survenaient. Au cours des deux premières semaines, nous avons organisé des sessions quotidiennes à travers les différents fuseaux horaires mondiaux et régionaux. Au fur et à mesure que le programme a gagné en popularité, nous sommes passés à des séances hebdomadaires, puis mensuelles.
Il s’agissait de véritables séances de travail consacrées à des projets concrets, tels que le développement de fonctionnalités, la refactorisation, les tests et le débogage, et non de démonstrations soignées. Nous avons cherché à favoriser un climat d’ouverture et de franchise lors de ces sessions en confiant l’animation des premières séances à des ingénieurs plus expérimentés qui découvraient eux-mêmes les outils de programmation en IA. Cela a contribué à créer un espace sûr où chacun pouvait aborder ses incertitudes en public. Cela a confirmé une vérité importante : il n’y a pas encore d’experts ici, seulement des personnes en phase d’apprentissage.
We tried to encourage a sense of openness and vulnerability in these sessions by having more senior engineers who were also new to the AI coding tools run the early sessions.”
– Michael Richman, VP, Engineering at Bitly
Ce que nous avons appris : Les points positifs
Les outils qui ont remporté le prix :
- Cursor s’est fait connaître grâce à son intégration transparente dans l’IDE, à la prise en compte complète du contexte du code et à sa fonctionnalité de chat directement intégrée à l’environnement de développement.
- ChatGPT est devenu la référence pour les discussions sur l’architecture, la documentation et la rédaction technique, ainsi qu’une solution de rechange lorsque d’autres outils « se bloquaient ».
- GitHub Copilot s’est révélé utile pour l’examen des pull requests, en détectant des problèmes mineurs qui auraient pu échapper aux réviseurs humains. Au fur et à mesure de l’évolution du programme, Copilot a intégré des tâches d’agent et des modèles plus avancés, démontrant ainsi sa puissance et sa pertinence constantes.
- Claude Code s’est par la suite imposé comme une solution de premier choix pour ceux qui l’ont adopté, se distinguant par sa capacité à résoudre des problèmes complexes.
Nous avons également testé ChatGPT Codex et avons été séduits par son potentiel, mais l’absence d’images personnalisées l’a rendu inutilisable pour nos besoins. OpenAI, nous attendons avec impatience…
Les domaines dans lesquels l’IA s’est distinguée :
- Tâches répétitives et opérations de recherche et de remplacement dans des bases de code volumineuses
- Générer une couverture de test pour le code existant
- Travailler sur des parties du code que l’on ne connaît pas bien
- Documentation et rédaction technique
- Séances de réflexion et discussions sur l’architecture
- Tests unitaires du backend suivant des modèles établis
Un ingénieur a réussi à refactoriser 275 fichiers dans le cadre d’un seul projet de hackweek. Deux autres personnes ont utilisé l’IA pour élaborer en une semaine une première version d’un tableau de bord administratif interne complet. Il ne s’agissait pas là de gains de productivité insignifiants. Dans certains cas, elles se sont révélées révolutionnaires.
Cela dit, cette expérience a également mis en évidence certains défis.
These weren’t minor productivity gains. They were proving transformative in some cases.”
– Michael Richman, VP, Engineering at Bitly
Ce que nous avons appris : Les points négatifs
Tout ne s’est pas déroulé sans encombre, mais les obstacles nous ont autant appris que les réussites.
Des problèmes de qualité sont apparus très tôt. L’IA était capable de générer du code rapidement, mais une grande partie de celui-ci nécessitait une refonte en profondeur pour répondre à nos normes. Les ingénieurs passaient souvent autant de temps à relire et à corriger le code qu’ils en auraient passé à l’écrire eux-mêmes.
Une vérification humaine est nécessaire. Le code généré par l’IA ne devrait pas être soumis pour révision sans avoir été préalablement vérifié par son « auteur » humain.
Les contraintes liées au contexte étaient pénibles. Les outils perdaient souvent le fil des longues conversations, ce qui obligeait à recommencer ou à répéter les explications, ce qui constituait un véritable obstacle pour les modifications complexes.
Le travail sur l’interface utilisateur s’est avéré plus difficile. L’IA avait tendance à surconcevoir les solutions, à réutiliser du code et à ne pas respecter les normes d’interface utilisateur, tandis que les tâches liées au backend donnaient de meilleurs résultats.
Ce que nous avons appris : L’incertain
Au-delà des problèmes techniques, nous avons rencontré des frictions culturelles.
Certaines personnes se sentaient poussées à recourir à l’IA et craignaient d’être remplacées. D’autres ont interprété ce programme comme une adoption « imposée » plutôt que comme une exploration. Certains ingénieurs craignaient de perdre le contact avec leur métier, en particulier les jeunes ingénieurs qui sont encore en train d’acquérir les compétences de base.
Pour les non-développeurs, en particulier les ingénieurs et les analystes en assurance qualité, les consignes n’étaient pas claires. Comment un ingénieur en assurance qualité devrait-il utiliser les outils de codage basés sur l’IA ? Et les analystes de données, alors ? Le partage des connaissances s’est avéré plus difficile que prévu. Même aujourd’hui, le flux de suggestions et de bonnes pratiques n’est toujours pas à la hauteur de nos attentes.
Mais nous avons trouvé une métaphore qui nous a aidés : Considérez l’IA comme un ingénieur compétent en début de carrière. Rapide, parfois inexact, nécessite toujours une vérification. Cela est resté. Cela a permis de définir des attentes réalistes et de faire évoluer le débat, passant de la « substitution » à la « collaboration ».
Le défi que représente la mesure du succès
Il est difficile de mesurer l’impact des outils de codage basés sur l’IA. Cela repose-t-il sur des comparaisons « avant-après » du nombre de lignes de code écrites ? Combien de PR ? Nombre de commits ? La vélocité de l’équipe ?
Nous savons qu’il y a un impact, mais nous ne savons pas exactement quel est son ampleur. Dire que « 30 % de notre code est désormais écrit par l’IA » donne une fausse impression de certitude. Nous avons adopté une approche mixte pour l’évaluation, en combinant des appréciations subjectives et objectives.
Sur le plan subjectif, nous avons interrogé des ingénieurs sur la précision, la rapidité, la confiance dans un code inconnu, la charge cognitive et la satisfaction globale. Nous avons interrogé les participants sur leur opinion concernant l’IA avant et après le programme.
Objectivement, nous examinons l’ensemble des facteurs mentionnés ci-dessus avant et après l’adoption de l’IA, tout en reconnaissant qu’il s’agit là d’une approche indicative plutôt que définitive.
Mesurer les gains de productivité est une tâche complexe : il y a trop de variables et pas assez de données cohérentes. Pour l’instant, les tendances directionnelles et le moral de l’équipe constituent nos meilleurs indicateurs.
Six mois plus tard…
La course aux outils
Six mois après le coup d’envoi, il n’y a toujours pas de vainqueur incontesté dans la course aux outils. Chaque tâche a besoin d’outils adaptés, et de nombreux ingénieurs utilisent plusieurs outils. Personnellement, je préfère Claude Code pour les tâches de programmation intensives et Cursor lorsque j’ai besoin d’évaluer du code et d’obtenir un résultat bien formaté.
De nouveaux outils ont également fait leur apparition. Codex a été lancé, les tâches de l’agent GitHub Copilot ont été mises à disposition, et le paysage continue d’évoluer sous nos yeux. À ce jour, nous hésitons encore à nous engager dans des contrats annuels pour des outils de codage IA, de crainte qu’un autre outil ne s’impose clairement comme le meilleur.
Ensembles de règles
Nous travaillons actuellement sur des « Rule Sets », qui sont des fichiers de configuration permettant à l’IA d’apprendre nos normes de codage, nos modèles d’architecture et les pièges courants. Nous élaborons actuellement des ensembles de règles destinés à la fois à nos normes de codage internes et à des tâches spécifiques, telles que l’évaluation des tickets Jira ou la réalisation d’un « contrôle qualité manuel » en fonction des modifications apportées au code.
Définir les attentes
Nous exprimons également nos attentes de manière plus claire. Si, au départ, le recours à l’IA était encouragé mais non obligatoire, notre organisation évolue aujourd’hui de manière à exiger que tous les ingénieurs — et tous les employés — maîtrisent cette technologie.
Adaptation continue
D’ici août 2025, les outils d’IA sont progressivement passés du statut de « projet spécial » à celui d’élément à part entière de nos méthodes de travail, principalement en raison de leur valeur immédiate dès lors que les utilisateurs ont pris l’habitude de s’en servir.
Un bon indicateur était que, lorsqu’une personne n’avait plus de « demandes Premium » sur un outil de codage, elle avait soudainement l’impression de ne plus pouvoir faire son travail aussi efficacement. Bien sûr, nous n’avons pas encore atteint une adoption généralisée, mais près de 95 % des ingénieurs de Bitly utilisent désormais régulièrement des outils de codage basés sur l’IA.
We haven’t achieved universal adoption, but there is now close to 95% utilization of AI coding tools by Bitly engineers on a regular basis.”
– Michael Richman, VP, Engineering at Bitly
Nous avons cessé de considérer les outils de codage basés sur l’IA comme des solutions expérimentales et avons commencé à les intégrer dans nos processus d’ingénierie quotidiens : planification, codage, refactorisation, introspection, documentation et révision du code. L’objectif n’est plus aujourd’hui de « mener à bien le déploiement » des outils de codage basés sur l’IA, mais de continuer à évoluer avec eux. Il s’agit désormais de s’adapter en permanence.
Et maintenant ?
Nous avons opté pour une approche « d’apprentissage par la pratique », et dans cette optique, nous continuons d’apprendre.
Nous devons tenir compte de certains aspects financiers. Nous sommes une équipe d’ingénieurs relativement petite, mais payer pour trois outils dont les fonctionnalités se recoupent considérablement n’est pas une bonne stratégie à long terme. Nous prévoyons de réduire nos effectifs prochainement.
Nous allons désormais nous attacher à approfondir nos compétences et à ancrer dans nos structures ce que nous avons appris. Cela implique de mettre en place des formations structurées pour ceux qui souhaitent bénéficier d’un accompagnement plus concret, d’affiner les règles afin de codifier les normes, et d’améliorer la manière dont nous mesurons l’impact.
Cela implique également de repousser les limites en matière de gains de productivité :
- Comment gérer au mieux plusieurs sessions d’agents simultanément ?
- Comment trouver un juste équilibre entre la production des agents de codage basés sur l’IA et la possibilité de vérifier leur travail ?
- Comment peut-on combiner plusieurs agents pour coordonner des tâches parallèles ?
- Quelle autonomie pouvons-nous accorder à nos agents de programmation basés sur l’IA ?
Avant, je me moquais des résultats produits par les outils de codage basés sur l’IA. Désormais, je suis généralement stupéfait (et je ne me moque que de temps en temps).
Pour le meilleur ou pour le pire, telle est la nouvelle réalité du génie logiciel, et les outils ne feront que gagner en efficacité à l’avenir. Pour moi, la question n’est pas de savoir s’il faut adopter des outils de codage basés sur l’IA, mais comment continuer à évoluer avec eux et en tirer le meilleur parti.


