Apprendre à coder avec l'IA : 4 développeur juniors expliquent leurs pratiques
L’IA touche particulièrement les développeurs. Elle peut générer du code, déboguer, ou encore détecter des anomalies. L’IA peut aussi générer des conseils à chaque étape d’un projet, et s’adapter au niveau de son interlocuteur. Cela en fait, en théorie, un professeur idéal pour les développeurs en herbe soucieux de se perfectionner en code. Mais une méthodologie doit être adoptée.
ChatGPT se taille la part du lion dans les outils
Pour apprendre à coder avec l’IA, les outils utilisés par les développeurs juniors peuvent être regroupés schématiquement en grandes familles. Les assistants de code conversationnels, comme Claude d’Anthropic et ChatGPT, constituent la majorité de ceux utilisés. Le module conversationnel d’OpenAI, connu pour sa facilité d’accès pour les débutants, est particulièrement sollicité par nos interlocuteurs. Gemini est également utilisé, en complément de ChatGPT chez Alexandre Chevalier, étudiant en informatique. Il est complété par Perplexity AI et DeepSeek chez Adrien N’Kunga, développeur fullStack junior. Thom Costuas, développeur web chez Inodia, l’a récemment substitué par Mistral dans son agence. "Les réponses diffèrent peu pour l’usage que l’on en a, mais le traitement des données reste un argument rassurant." Le but est de recevoir des réponses claires et accessibles à leurs interrogations.
La seconde catégorie d'outils est celle des "assistants de code hybrides avec capacités conversationnelles", tel que GitHub Copilot, qui touche chez les apprentis codeurs Evann Hislers, journaliste en formation, spécialiste d’IA et de data. La capacité de l’outil à intervenir directement dans un projet l’a séduit. "Etant étudiant à l'École 42, une école de programmation sans professeur, basée sur des projets, je dois souvent naviguer entre plusieurs fichiers de code. Copilot peut accéder à tous ces fichiers, ce qui lui permet d'être exhaustif. Souvent, je lui demande de m'aider à coder quelque chose ou à m'expliquer la meilleure façon de faire. Il me sert aussi lorsque j'ai des erreurs et que je n'arrive pas à les trouver." Il utilise également la fonctionnalité Canvas de Gemini. Cela lui permet de créer des mini-apps interactives dans son navigateur. "J'en ai surtout besoin lorsque je veux comprendre un concept compliqué, comme l'algorithmique par exemple, où cela devient tout de suite plus visuel avec des schémas."
10 à 30 % de productivité en plus
De façon générale, selon les études, les développeurs rapportent une augmentation de 10 à 30 % de la productivité lorsqu'ils utilisent l'IA. Elle peut réduire des étapes répétitives, accélérer des tests et détecter de façon plus efficace certaines erreurs. Les codeurs sondés mettent aussi en avant la capacité de l’IA à leur permettre de construire des projets jusqu’alors peu accessibles, en raccourcissant notamment les délais. "Grâce à ces outils, j’ai pu concevoir une application mobile de météo avec des technologies apprises avec l’IA", illustre Adrien N’Kunga. Alexandre Chevalier, ingénieur logiciel junior chez Capgemini, explique de son côté : "J'ai utilisé ce processus pour un projet de jeu vidéo qui me tient à cœur. Je le programme en C basique, sans extension comme C++ ou C#. Il contient une librairie pour gérer notamment l'affichage et le son. Certaines spécificités du langage m'étaient assez difficiles à comprendre au début. Sur Internet, les informations pouvaient aussi être difficiles à trouver. L’IA m’a beaucoup aidé, notamment pour les pointeurs de fonction." Thom Costuas avoue : "L’IA m’a notamment rappelé rapidement des syntaxes sur des langages ou des technologies que j’utilise ponctuellement, ou a retrouvé des ressources que les moteurs de recherche ont du mal à faire remonter. Par exemple, j’ai pu récupérer avec Mistral une documentation d’API pour une plateforme marketplace en ligne dont le nom a changé. Cela m'a évité de demander la ressource au support technique."
Savoir mettre l'IA de côté
Pour arriver à ces résultats, une rigueur méthodologique est souvent adoptée chez les développeurs juniors sondés. Ils ont conscience que l’IA est, pour reprendre l’expression, "un grand serviteur mais un maître terrible". Elle aide en générant facilement du code. Mais cette facilité peut éteindre en partie la phase de réflexion en amont et de conception par la suite. Il est en effet tentant de lui déléguer différentes phases du travail.
Afin d’éviter cela, les développeurs juniors questionnés avouent essayer de mettre l’IA de côté quand arrive une difficulté. Pour faire face, ils se servent en priorité des ressources "classiques" : la documentation officielle, leurs cours, leur propre réflexion, des recherches sur Internet. "Il vaut mieux réfléchir pendant quelques minutes à trouver une erreur lors de la compilation que tout de suite demander à l'IA de résoudre le problème", estime Evann Hislers. "Cela permet par exemple de bien savoir par quoi commencer quand on écrit du code. Cela évite parfois de devoir recoder totalement certaines choses implémentées car on n'y a pas réfléchi avant." Ce n’est qu’une fois devant un obstacle insurmontable que les développeurs interrogés peuvent avoir recours à l’IA. "Je lui demande alors, un peu comme si c'était un professeur, de m'expliquer le concept et de donner des exemples", pointe Alexandre Chevalier.
Notons que lors de cette phase, le processus d'apprentissage du code avec l’IA peut être planifié dès le début. En définissant d’abord l’objectif, par exemple : "Je veux créer une application de liste de tâches avec React". Puis, en demandant à l'IA : "Quels sont les concepts React essentiels que je dois comprendre ?". Les concepts inconnus peuvent ensuite être travaillés au fur et à mesure.
Une fois la réponse générée, indiquons que la prudence est de mise chez les codeurs questionnés. De façon générale, 46 % des développeurs déclarent ne pas faire confiance à la précision de la sortie IA, en hausse par rapport à 31% l'année précédente, selon un sondage récent de Stack Overflow. Cela est-il dû à la multiplication des outils IA, aux capacités parfois impressionnantes et aux prouesses souvent alléchantes ? "Je vérifie si sa solution est une bonne pratique ou non", répond Thom Costuas. A contrario, laisser beaucoup de liberté à l’IA peut amener différentes difficultés. "J’ai par exemple créé en une heure avec Antigravity un gestionnaire de PDF pour splitter des documents et en fusionner d'autres", raconte Evann Hislers. "Même si je m'y connais, je ne suis pas allé voir le code en profondeur. Donc, il peut y avoir des failles de sécurité."