[HORS SÉRIE #4] Vers les Cinq Futurs Possibles
Perspectives pour les Développeurs à l'Ère de l'IA (Temps de lecture : 4 minutes)
Hello les petits Biscuits !
Bienvenue sur la 4ème édition hors série de Ruby Biscuit dédiée à l’IA.
Vous êtes maintenant 435 abonnés 🥳

Cette édition spéciale pourrait plaire à d’autres, aidez-nous à la faire connaître en la partageant à vos ami(e)s dévs ! Un petit pas pour l’homme, un grand pas pour Ruby Biscuit ❤️
Temps de lecture : 4 min
Dans cette nouvelle édition de Ruby Biscuit, nous plongeons au cœur de la révolution du développement logiciel, où l'intelligence artificielle et les développeurs forment des duos dynamiques, remodelant les fondations de la profession de développeurs. Inspirés par "Five Futures with AI Coding Agents" de Steven L. Tanimoto, nous allons réfléchir à comment ces collaborations peuvent façonner l'avenir de la programmation. De l'autonomie renforcée à l'enseignement mutuel entre l'homme et la machine, chaque scénario dépeint un paysage où l'innovation et la créativité s'entremêlent, promettant de nouvelles frontières pour les développeurs.
“Si de nombreux agents [IA] aident, le rôle du développeur pourrait être celui d’un directeur de la programmation. À l'instar du chef d'orchestre, qui ne joue pas des violons ni ne souffle des cors, le directeur ne saisirait pas les instructions d'affectation et ne taperait pas les points-virgules, mais utiliserait une terminologie de conception, des gestes et de nouveaux protocoles pour contrôler la façon dont le code est construit par les agents pour atteindre l’objectif global.” - S. Tanimoto
Tanimoto propose dans ses travaux cinq futurs possibles (non-exhaustifs) de notre collaboration avec les IA de programmation. Ces scénarios, allant de l'indépendance complète à l'apprentissage mutuel entre développeurs et IA, ouvrent un champ de possibilités et de défis inédits. Chaque futur envisagé reflète alors un aspect particulier de l'impact potentiel de l'IA sur nos pratiques de code, nos méthodes d'apprentissage et notre capacité à innover.
Cinq futurs possibles
Soloing - le travail en solo : Dans ce premier futur, les développeurs conservent leur indépendance vis-à-vis de l'IA, privilégiant une approche traditionnelle du code. Cette autonomie souligne la valeur cruciale de l'expertise et de l'intuition humaine dans le processus de création et de gestion des logiciels. Elle invite à une immersion profonde dans les langages de programmation, encourageant l'approfondissement des connaissances techniques et l'innovation personnelle, tout en mettant un accent particulier sur la qualité et l'originalité du code.
Amélioration de la productivité grâce à l'IA : L'IA agit ici comme un catalyseur, augmentant considérablement notre efficacité. Elle nous assiste dans nos tâches quotidiennes, suggère des optimisations de code et débloque de nouvelles manières de résoudre des problèmes complexes, sans pour autant prendre le dessus. Cela pourrait inclure l'utilisation de l'IA pour optimiser les processus de développement, suggérer des améliorations de code, et faciliter une intégration plus profonde des meilleures pratiques dans les projets.
Coasting - le pilotage automatique par l'IA : Dans ce scénario, l'IA prend les rênes, effectuant la majorité du travail de code. Les développeurs deviennent des méta-développeurs : ils supervisent et guident l'IA, se concentrant davantage sur la conception de haut niveau et la stratégie plutôt que sur le code minutieux. Cela pourrait se traduire par une réflexion sur la manière dont l'IA peut gérer des tâches répétitives ou standardisées, libérant ainsi les développeurs pour des efforts créatifs et stratégiques.
Apprentissage auprès de l'IA : L'IA devient une source de connaissances, offrant aux développeurs des opportunités uniques d'apprendre de nouvelles techniques et méthodologies. Cette collaboration enrichit notre boîte à outils de développement, stimulant l'innovation et la créativité. Cela implique d'explorer comment l'IA peut offrir de nouvelles perspectives sur la résolution de problèmes, l'optimisation de code, et même l'apprentissage de nouvelles bibliothèques ou frameworks.
Enseignement à l'IA : Enfin, il s'agit d'un futur où les développeurs jouent un rôle actif dans l'éducation des IA de programmation. En leur enseignant des principes de développement et des pratiques de code éthiques, nous façonnons des IA qui reflètent nos valeurs et répondent mieux à nos besoins. Cela souligne l'importance de la contribution humaine à l'évolution de l'IA, en veillant à ce qu'elle reflète les valeurs des communautés de développeurs.
Chacun de ces futurs offre une perspective unique sur la manière dont nous pouvons naviguer dans l'évolution du développement logiciel aux côtés de l'IA. Ces scénarios nous invitent à réfléchir sur notre rôle et notre impact dans un monde de plus en plus piloté par l'intelligence artificielle. Comme nous l’avions déjà souligné dans nos éditions précédentes, l’intégration de l'IA dans le développement logiciel, illustrée ici par les cinq futurs potentiels, soulève des questions éthiques importantes. La programmation éthique, la transparence des algorithmes, et le respect de la vie privée sont au cœur de ces préoccupations. En tant que développeurs, il est crucial de réfléchir à la manière dont nous pouvons guider l'IA vers des pratiques responsables et comment nous pouvons apprendre d'elle sans compromettre nos principes éthiques. En collaborant avec l'IA, nous devons être vigilants pour garantir que nos outils et méthodes ne perpétuent pas de biais involontaires ou ne compromettent pas l'éthique professionnelle. Cela implique de développer une sensibilité à ces questions dès la phase de conception et de s'engager activement dans l'évaluation éthique de nos projets IA, en cherchant à minimiser les risques tout en maximisant les bénéfices pour la société.
Dans Five Futures with AI Coding Agents, l’auteur évoque que le modèle de programmation en binôme pour lequel Copilot a été conçu n’est pas la seule structure humain-IA que nous sommes susceptibles de voir. Il pose la question de comment les étudiants et les professionnels du développement actuels devraient-ils ainsi repenser leurs plans d'apprentissage et de travail dans le domaine de la programmation et du développement logiciel. Tanimoto donne alors deux types de réponses :
S'aligner avec le futur : Rester à l'affût des dernières avancées des IA assistantes à la programmation et se préparer à embrasser de nouvelles facettes de l'ingénierie logicielle qui émergeront comme essentielles à l'ère de l'IA.
Maîtriser la vague : Plonger dans la compréhension des technologies d'IA elles-mêmes. Être capable de contribuer activement à cette révolution, d'anticiper les transformations à venir, et de savoir quand il est temps de laisser l'IA prendre les devants, ou au contraire, quand mettre en valeur l'expertise humaine unique, devient crucial.
Ainsi, l'adoption de l'IA dans les pratiques de développement ne marque pas seulement un tournant ; elle incarne une révolution, propulsant notre communauté vers des horizons où l'innovation technologique et l'expertise humaine se rencontrent et se redéfinissent mutuellement. C'est une invitation à repenser notre rapport à la programmation, à embrasser une synergie renouvelée entre l'esprit humain et la machine, et à réimaginer nos outils et nos méthodes dans une quête commune d'excellence et de créativité. Nous invitons chaque membre de notre communauté à adopter cette nouvelle ère technologique avec curiosité et engagement, en allant au-delà du code, pour partager, collaborer et débattre des enjeux éthiques. Dans cette ère nouvelle, chaque développeur est ainsi appelé à devenir un pionnier, et à tracer les contours d'un futur où la technologie enrichit l'humanité. C'est un défi, certes, mais aussi une promesse d'avenir où notre passion pour Ruby et notre engagement envers des pratiques éthiques nous positionnent aux avant-postes de la transformation numérique. Alors, dans ce paysage en mutation, quel rôle choisirez-vous de jouer ?
Si vous avez des questions, n’hésitez pas à me les poser directement à rubybiscuit@capsens.eu. J’y répondrai avec plaisir dans les prochaines éditions hors série. 😊
— Chyrine
J'ai l'impression que parmi les 5 futurs possibles, plusieurs peuvent se mêler, notamment ces trois là :
- Amélioration de la productivité grâce à l'IA
- Apprentissage auprès de l'IA
- Enseignement à l'IA
Ai-je raison ou ai-je mal compris ? @Chyrine et Mélanie :)
Merci en tous cas pour ce super article, comme toujours
Super Article !
Pour l'amélioration de la productivité && Apprentissage auprès de l'IA c'est déjà le présent avec Copilot et les Gpts qu'on peut scoper sur sa propre codebase.
Ce qui me pose question c'est:
Il y a déjà très peu d'offres d'emploi pour les développeur•se•s junior est-ce que l'IA ne va encore plus accélérer ce phénomène en poussant vers une très forte séniorisation des devs. Parce que pour devenir 'méta-développeur' je pense qu'il faut avoir pas mal de bouteille.