Découvrez comment Smile intègre l'IA générative pour optimiser le travail des développeurs et transformer son efficacité : retour d'expérience et insights clés.
Chez Smile, l'innovation est au cœur de notre ADN. En tant qu'entreprise technologique, nous sommes constamment à la recherche de solutions qui non seulement augmentent notre compétitivité, mais améliorent également l'efficacité et la satisfaction de nos équipes. C'est dans cet esprit que nous avons récemment exploré l'intégration des modèles de langage large (LLM) pour nos développeurs. Cet article détaille notre retour d'expérience (REX) sur cette initiative audacieuse, les méthodes que nous avons employées, les résultats obtenus, et les enseignements que nous en avons tirés.
Pourquoi avons-nous exploré l'utilisation des LLM pour les développeurs ?
L'intégration des technologies d'intelligence artificielle (IA) dans le monde du développement logiciel n'est plus une simple tendance, mais une nécessité pour rester compétitif. Chez Smile, nous avons entrepris cette expérimentation avec plusieurs objectifs en tête.
Premièrement, nous voulions prouver que l'IA peut véritablement transformer la façon dont les développeurs travaillent en leur permettant de gagner du temps sur des tâches répétitives, en leur poussant des suggestions de code au fil de l’eau, mais aussi à renforcer la documentation de code voir, idéalement, faire en sorte que les développeurs écrivent plus facilement des tests unitaires.
Deuxièmement, en adoptant des technologies avancées, nous cherchons à non seulement égaler, mais dépasser nos concurrents sur le marché. Il est clair que l’entièreté de la place suit cette tendance de près, mais peu de sociétés communiquent sur le sujet. Tout le monde attend de voir qui fera le premier pas pour communiquer sur sa stratégie commerciale à la lumière de ses nouveaux outils. En attendant, il faut faire tout le travail nécessaire pour être prêt quand le marché enverra un signal fort d’acceptation de ce nouveau mode de travail.
Enfin, il était essentiel pour nous d'assurer à nos employés que nous sommes engagés à leur fournir des outils modernes qui non seulement facilitent leur travail, mais les préparent également à l'avenir du développement logiciel. De manière tout à fait égale, il est important pour nous de maîtriser les usages shadow-IT qui pourraient survenir si nous ne fournissons pas d’outil à nos développeurs ; mais aussi accompagner nos développeurs et le reste de nos équipes dans la transformation de leur métier, bousculés par l’explosion des LLMs.
Comment avons-nous mené cette expérimentation ?
Pour garantir le succès de cette initiative, nous avons mis en place une organisation structurée et multidisciplinaire. Une task force a été constituée, impliquant des représentants de la gestion, de l'informatique et du juridique, pour aborder tous les aspects de l'intégration des LLM, y compris l'impact sur les métiers et la conformité légale.
Nous avons commencé par identifier les cas d'utilisation pertinents où l'IA pouvait apporter de la valeur ajoutée (code completion, documentation de code, chatbot assistant pour aider à réaliser des tâches plus complexe comme du refactoring, ou plus généralement de l’aide à la réflexion avec le code comme contexte). Ensuite, nous avons testé plusieurs solutions d'IA pour trouver celle qui répondait le mieux à nos besoins en termes de retour sur investissement (ROI), de sécurité, et de conformité.
Cette phase initiale nous a permis d'expérimenter et de recueillir des données précieuses sur l'utilisation réelle des LLM par nos équipes, aussi bien qualitatives (comment les développeurs ressentent l’impact de l’outil sur leur travail, leur appréciation de l’outil, leurs “ah-ah moment” et leurs frustrations) que quantitatives (combien de temps économisé via la complétion de code en fonction de la vitesse de frappe habituelle du développeur, et cela appliqué par types de tâches et par technologies).
Les résultats obtenus
Les résultats de notre expérimentation ont été très prometteurs.
Pour ne citer que quelques chiffres : environ 80% des développeurs ont rapporté des gains de temps ressentit significatifs grâce à l'utilisation des outils basés sur les LLM, 60% de ces personnes continueront d’utiliser des outils de LLMs même si cela implique de faire du shadow-IT. Nous avons également constaté une amélioration globale du temps passé à coder de 15% sur les projets concernés, pour faire une moyenne générale sur toutes les technologies étudiées et les types de tâches. Bien évidemment, nous avons réalisé un split plus détaillé pour nos besoins internes.
L'un des principaux avantages pressentis des LLM est leur capacité à automatiser des tâches répétitives, ce qui doit permettre aux développeurs de se concentrer sur des tâches plus complexes et créatives. En un sens, nous avons effectivement constaté un gain de temps considérable permettant cela, mais ça n'est pas vraiment sur les tâches répétitives que nous imaginions, mais plutôt une succession d’économie sur l’ensemble des tâches qui, mises bout à bout, forment un gain de temps considérable.
De plus, l'utilisation des LLM a encouragé de meilleures pratiques de documentation, soit en la générant systématiquement dans le code proposé, soit en nécessitant de la part du développeur qu’il écrive un peu de documentation pour fournir un contexte et guider l’outil afin qu’il génère le code voulu, ce qui a eu un impact positif sur la qualité globale du code. Ces résultats montrent que les LLM ne remplacent pas les développeurs, mais agissent comme des facilitateurs, augmentant à la fois leur efficacité et la qualité de leur travail.
Quels enseignements avons-nous tirés ?
Notre aventure avec les LLM a été riche en enseignements. Nous avons appris que, bien que l'IA soit puissante, elle ne peut pas tout faire seule. Il est crucial de garder les humains dans la boucle pour prendre des décisions éclairées et superviser les suggestions faites par l'IA. L’IA se comporte donc, en ce sens, plus comme des assistants pour les développeurs et c’est un point important qu’il faut communiquer vers la population de développeurs afin de les rassurer sur l’avenir de leur métier, désamorcer les réticences qui ont vu le jour à force d’entendre dans les médias qu’ils allaient tous se faire remplacer par des IA.
L'adoption de ces technologies demande une adaptation continue et une attention particulière aux retours des utilisateurs. Des sessions bihebdomadaires de suivis sont importantes dans un premier temps afin d’aider à s’approprier ces nouveaux types d’outils. Nous avons également confirmé nos hypothèses à propos de la formation et de l'accompagnement qui sont essentiels, en particulier pour les développeurs juniors qui ont besoin de temps et de soutien pour maîtriser ces nouveaux outils, encore plus que les développeurs plus expérimentés.
De manière assez contre-intuitive, même si les développeurs juniors ont le plus de marge de progression, ce sont les développeurs plus expérimentés qui arrivent plus rapidement à comprendre comment tirer parti de ce nouvel outil, formulent leurs demandes de manière plus claire, et obtiennent donc de meilleurs résultats.
D’un point de vue des langages de programmation et des frameworks utilisés, nous avons constaté une qualité des suggestions disparates, rendant l’outil moins pertinent, moins qualitatif dans ses suggestions pour certaines technologies. Nous explorons actuellement comment des stratégies de fine-tuning pourraient être mises en œuvre pour corriger cette disparité.
Enfin, nous avons constaté que pour maximiser les bénéfices des LLM, il est indispensable de surveiller en permanence la qualité des sorties générées et d'être prêt à ajuster les modèles et les processus en fonction des besoins changeants de l'équipe.
Conclusion
L'intégration des LLM chez Smile a été un pas décisif vers l'innovation et l'amélioration de notre efficacité opérationnelle. Les résultats que nous avons obtenus démontrent le potentiel immense de ces technologies pour transformer le développement logiciel. Nous sommes déterminés à continuer d'explorer et d'adopter des outils d'IA qui non seulement augmentent notre productivité, mais aussi soutiennent nos collaborateurs dans leur évolution professionnelle.
À l'avenir, nous envisageons d'étendre l'utilisation des LLM à d'autres domaines de l'entreprise, afin de tirer pleinement parti de cette technologie révolutionnaire. Nous déployons dors et déjà à une communauté réduite de testeurs un bac à sable sécurisé où les employés peuvent utiliser des modèles d’IA génératique sans craindre que les données clients ou personnelles éventuellement saisies ne servent à entraîner un modèle public ou ne risque de provoquer des fuites de données sensibles. Nous l’avons appelé SmileGPT et nous vous en dirons plus très vite.
Chez Smile, nous croyons que l'innovation continue et l'investissement dans nos équipes sont essentiels pour offrir des solutions de pointe à nos clients et rester à la pointe de notre industrie.