스크립트
00:00:00Lisez-vous toujours le code ou devriez-vous toujours lire le code ?
00:00:04C'est une question, une discussion qui a surgi sur TechX ce week-end,
00:00:09dans ma bulle en tout cas.
00:00:12Et c'est une question intéressante, évidemment aussi une belle question provocatrice,
00:00:15mais ce n'est pas le sujet de cet épisode.
00:00:18Et je répondrai à la question.
00:00:20Ce n'est pas un simple oui ou non pour moi.
00:00:22Et je veux aussi connaître vos avis.
00:00:24Vraiment.
00:00:25Alors partagez-les aussi.
00:00:26Ce n'est pas simple.
00:00:27Et je reviendrai sur cette question ici.
00:00:29Mais je pense qu'une autre question doit passer en premier.
00:00:32Écrivez-vous toujours le code ?
00:00:35Parce qu'évidemment, si vous écrivez toujours tout votre code, vous le lirez, n'est-ce pas ?
00:00:40Donc oui, vous n'avez pas besoin de le lire puisque vous l'avez écrit.
00:00:43Mais pour beaucoup de développeurs, moi y compris, nous n'écrivons probablement pas tout notre code.
00:00:49Et vous pouvez évidemment vous situer n'importe où sur une échelle de 0 à 100 %
00:00:55concernant cette question, la quantité de code que vous écrivez encore.
00:00:58Je suis probablement assez proche de 100 % maintenant.
00:01:03Et cela a vraiment beaucoup changé au cours des six ou huit derniers mois,
00:01:08comme pour beaucoup de développeurs, j'en suis sûr, avec l'amélioration des modèles d'IA.
00:01:14Mais surtout, ces modèles sont meilleurs pour suivre les instructions,
00:01:18étant mieux entraînés pour suivre les instructions,
00:01:20et ensuite les outils environnants comme Claude Code et ainsi de suite.
00:01:22Donc cela a changé pour moi.
00:01:24Et j'en ai parlé dans un autre épisode,
00:01:26comment cela enlève aussi beaucoup de plaisir à ce métier.
00:01:30Et j'essaie de trouver un nouveau plaisir dans la construction de choses
00:01:33et non dans la partie écriture de code, qui m'est retirée.
00:01:37Mais j'en ai parlé dans un autre épisode, comme mentionné.
00:01:39Donc ce n'est pas le sujet de cet épisode.
00:01:42Mais c'est, bien sûr, la première question importante.
00:01:45Écrivez-vous toujours le code ?
00:01:47Et certainement, cette réponse peut être oui pour vous.
00:01:50Vous pouvez être plus proche de 0 % ici ou n'importe où sur cette échelle.
00:01:55Et c'est absolument très bien.
00:01:57Je pense qu'il est trop tôt pour dire quelle est la bonne place sur cette échelle
00:02:02car nous sommes encore au début de toute cette évolution de l'IA en ce qui concerne le codage.
00:02:07Et nous devrons voir les effets à long terme de plus en plus de logiciels entièrement générés par l'IA,
00:02:12comme c'est certainement le cas, peu importe où vous vous situez.
00:02:16Donc, c'est la première question importante.
00:02:18Et elle se rapporte à l'autre.
00:02:19Mais qu'en est-il de cette autre maintenant ?
00:02:21Lisez-vous toujours le code ?
00:02:22Eh bien, encore une fois, c'est complexe car nous pouvons la diviser.
00:02:26Nous avons la lecture du code.
00:02:29Et je dirais que nous avons le souci du code.
00:02:33Et pour moi, ce n'est pas la même chose.
00:02:36Et vous pouvez aussi lire sans vous soucier, ce qui est un peu stupide.
00:02:40Et je reviendrai là-dessus.
00:02:41Ou ne pas lire et se soucier, ce qui est possible, je dirais.
00:02:45Et cela a des implications.
00:02:47Donc comme mentionné, vous pouvez ne pas lire et ne pas vous soucier.
00:02:51Vous pouvez lire et ne pas vous soucier.
00:02:55Vous pouvez ne pas lire mais vous soucier.
00:02:58Et, bien sûr, vous pouvez lire et vous soucier.
00:03:02Ce sont les quatre combinaisons si vous avez cette séparation entre lire et se soucier.
00:03:08Maintenant, si vous ne lisez pas et que vous ne vous souciez pas, c'est ma définition du wipe coding.
00:03:14Maintenant, vous pouvez avoir une définition différente et c'est très bien.
00:03:17Mais c'est ma définition du wipe coding.
00:03:20Ne pas lire, ne pas se soucier, c'est ça le wipe coding.
00:03:22Maintenant, cela ne signifie pas que vous ne vous souciez pas du produit.
00:03:25Vous vous en souciez probablement.
00:03:26Parce que si vous ne vous souciez pas du produit, pourquoi faites-vous quelque chose en premier lieu, n'est-ce pas ?
00:03:31Mais vous pouvez simplement vous soucier du produit.
00:03:33Si ça fonctionne, vous êtes content.
00:03:34S'il y a un problème, vous dites juste à l'IA, hé, blah, blah, blah, ça ne fonctionne pas.
00:03:38Veuillez corriger.
00:03:39Et vous ne vous souciez pas du code et vous ne lisez pas le code.
00:03:42C'est ma définition du wipe coding.
00:03:44Maintenant, si vous lisez le code mais que vous ne vous en souciez pas, c'est assez bizarre.
00:03:49Je suppose que vous tuez juste le temps dans ce cas.
00:03:52Si vous lisez mais que vous ne vous souciez pas, vous pourriez simplement être dans un emploi où vous êtes payé pour faire quelque chose.
00:03:57Donc, vous passez votre temps à analyser du code dont vous ne vous souciez pas vraiment.
00:04:00Je ne sais pas.
00:04:01Pas vraiment mon objectif ici.
00:04:03Mais bien sûr, vous pourriez avoir cette combinaison.
00:04:05Maintenant, voici les combinaisons qui sont plus intéressantes, cependant.
00:04:08Ne pas lire et se soucier et lire et se soucier.
00:04:11Maintenant, commençons par lire et se soucier.
00:04:13Je suppose que c'est l'évident.
00:04:15Je suppose que vous pourriez appeler cela l'ingénierie logicielle assistée par IA ou quelque chose comme ça.
00:04:20Parce que vous ne pourriez plus écrire le code ou pas tout.
00:04:24Mais vous vous en souciez en tant qu'ingénieur logiciel.
00:04:26Vous pouvez en être responsable.
00:04:28Et vous le lisez parce que puisque vous vous en souciez, puisque vous pouvez en être responsable,
00:04:33vous, eh bien, vous voulez voir ce qui s'y passe, n'est-ce pas ?
00:04:35Logique.
00:04:36Donc, c'est une évidence.
00:04:37Et je reviendrai là-dessus.
00:04:38Mais qu'en est-il de ne pas lire et se soucier ?
00:04:40Est-ce même possible ?
00:04:42Et je dirais, oui, ça l'est.
00:04:43C'est possible, mais c'est difficile.
00:04:46Et nous pourrions argumenter si c'est le futur, peut-être.
00:04:50Et une réponse ennuyeuse en premier.
00:04:52Je ne sais pas, évidemment.
00:04:53Je ne sais pas si c'est le futur.
00:04:56Tout comme il y a quatre ans, je n'aurais pas imaginé qu'un jour nous n'écririons plus le code
00:05:02du tout.
00:05:03Je ne peux peut-être pas encore imaginer qu'un jour nous ne lirons plus du tout le code.
00:05:09En réalité, cependant, nous finirions probablement sur une échelle comme celle-ci.
00:05:12Et je dirais que nous sommes déjà sur une échelle comme celle-ci.
00:05:15Mais encore une fois, je reviendrai là-dessus.
00:05:16Donc, ne pas lire et se soucier.
00:05:18Est-ce même possible ?
00:05:20Comme je l'ai mentionné, je dirais, ouais, c'est probablement le cas.
00:05:24Mais c'est une façon totalement différente de penser au logiciel.
00:05:27Cela repose sur le fait que vous faites confiance à l'IA, pas seulement quand il s'agit d'écrire le code, mais vous
00:05:34utilisez probablement aussi l'IA pour revoir le code, pour scanner ou analyser votre base de code, pour
00:05:40auditer votre base de code.
00:05:41Et vous pouvez, bien sûr, faire cela.
00:05:43Vous pourriez utiliser Cloud Code avec Fable 5 ou autre, ou Codex ou Pi, mon agent préféré, avec votre modèle d'IA préféré pour travailler sur le code.
00:05:55Et ensuite vous pourriez utiliser le même agent dans une nouvelle session avec le même ou un modèle différent, ou vous utilisez un agent différent dans une session différente avec un modèle différent.
00:06:03Toute combinaison de cela, vous pourriez l'utiliser pour revoir le code, pour revoir le dernier changement, pour effectuer des audits fréquents sur toute la base de code.
00:06:12Vous pourriez faire des choses comme ça.
00:06:13Vous pouvez et vous devriez probablement aussi passer beaucoup de temps à planifier et à lire ces plans, à lire ces spécifications.
00:06:22Je pense que ne pas lire le code, si c'est bien fait, si c'est le futur, ne devrait pas impliquer que vous ne lisez rien.
00:06:32Vous devriez absolument passer plus de temps alors à créer de bons plans avec l'IA, en vous assurant que vous travaillez sur les bonnes choses avec les bons détails de mise en œuvre, si vous voulez le dire comme ça.
00:06:47Donc, de la bonne manière, vous ne vous souciez pas seulement du produit, vous vous souciez de l'architecture, des blocs de construction.
00:06:54Et vous pouvez, bien sûr, assurer ou ne pas assurer, mais augmenter les chances d'obtenir de bons résultats là-bas si vous passez plus de temps sur les spécifications, sur les plans, et vous laissez ensuite l'IA l'implémenter.
00:07:08Et vous avez ensuite des revues de code où vous donnez à l'agent de revue également accès à cette spécification ou à ce plan que l'IA devrait implémenter.
00:07:15Maintenant, toujours, bien sûr, un problème que vous aurez ici, et c'est pourquoi je ne suis pas dans ce train “je ne lis rien”, c'est que vous ne savez pas avec certitude ce qui se passe dans votre base de code.
00:07:29Vous ne pouvez pas. Vous ne pouvez tout simplement pas savoir avec certitude si vous ne le lisez pas.
00:07:33Vous pouvez, bien sûr, faire de votre mieux pour obtenir de l'IA qu'elle génère le code que vous voulez qu'elle génère et utiliser l'IA pour la revue, mais vous n'avez pas 100 % de certitude si vous ne le regardez pas.
00:07:44Je veux dire, ce n'est pas seulement le cas pour le codage, évidemment.
00:07:46C'est vrai pour tout dans la vie.
00:07:48Si vous avez une IA ou un avocat, nous n'avons même pas à parler d'IA, rédiger un contrat, et vous ne le lisez pas du tout, et vous le signez juste, vous n'avez pas de certitude sur ce qu'il contient.
00:08:00Et vous pouvez ou non faire cela.
00:08:03Personnellement, je ne fais pas ça.
00:08:05Personnellement, je lis toujours le code, mais c'est peut-être maintenant la partie intéressante.
00:08:13Encore une fois, sur une échelle, je ne lis pas 100 % du code.
00:08:19J'ai du mal à vous dire où exactement je me situe sur cette échelle.
00:08:24C'est peut-être quelque part au milieu, parce que je revois le code, tout le code que l'IA me donne.
00:08:31Mais, bien sûr, cela ne signifie pas que je lis chaque ligne nécessairement.
00:08:36Cela signifie que je plonge dans les parties importantes d'abord, que je peux identifier en tant qu'ingénieur logiciel.
00:08:42Je sais quels blocs de construction sont les parties importantes ou quelles parties d'une certaine pull request ou d'un commit sont les importantes.
00:08:51Je plonge dans celles-là.
00:08:53J'analyse celles-là.
00:08:54Je plonge dans les parties critiques.
00:08:56Ensuite, je plonge dans certaines parties où je sais que l'IA aime se tromper.
00:08:59Et c'est comme ça que je revois.
00:09:01Et je peux juste scanner ou brièvement survoler les parties moins importantes.
00:09:07Je veux dire, par exemple, quand il s'agit de l'IA écrivant du code pour lire des variables d'environnement et pour les analyser,
00:09:16je peux ne pas lire chaque ligne là-bas.
00:09:18Mais je veux juste voir l'approche générale, surtout puisque l'IA, par exemple, est encline à écrire du code trop défensif où elle a des replis pour des replis pour des replis.
00:09:27Et je veux éviter ça.
00:09:28Donc je fais toujours mes vérifications là-bas, mais je ne me soucie pas de tous les détails nitty-gritty de comment elle analyse un entier ou quelque chose comme ça, par exemple.
00:09:36Donc c'est là que je me situerais en ce moment.
00:09:42Mais tout comme pour l'écriture du code, je ne sais pas comment cela changera, comment je pourrais me rapprocher de ne pas lire 100 %.
00:09:50Maintenant, je ne sais pas si j'arriverai jamais à 100 %.
00:09:54Je ne peux pas regarder dans le futur.
00:09:55Et je suppose que si nous arrivons à 100 % pour l'écriture et la lecture, nous devons vraiment voir ce que cela signifie pour nous en tant qu'ingénieurs logiciels.
00:10:06Il peut encore être super important de donner à l'IA les bonnes tâches à connaître sur les systèmes de signature et sur l'architecture.
00:10:15Et ce serait ma supposition que c'est dans cette direction que nous allons.
00:10:18Mais évidemment, c'est difficile à dire.
00:10:21La question sera si à un moment donné nous n'écririons aucun code et nous ne lirions aucun code si vous avez toujours besoin de savoir coder, n'est-ce pas ?
00:10:31Si ça vaut la peine de pouvoir lire ou écrire du code, n'est-ce pas ?
00:10:35Si c'est toujours important.
00:10:36Et en ce moment, ça l'est définitivement toujours pour moi.
00:10:39C'est définitivement toujours aussi parce que la question est, de quoi vous souciez-vous, n'est-ce pas ?
00:10:44C'est l'autre partie, se soucier.
00:10:46La lecture est une partie, mais nous lisons parce que nous nous soucions et nous pouvons nous soucier sans lire, comme je l'ai rendu clair.
00:10:53Mais que signifie même se soucier ?
00:10:55Et je dirais que se soucier peut évidemment signifier beaucoup de choses.
00:11:03Cela peut signifier quelque chose comme le style de code.
00:11:06Vous pouvez vous soucier du style de code, comment les fonctions sont créées, quelle approche est utilisée là-bas.
00:11:13Vous pouvez même vous soucier de décisions plus importantes, comme si vous voulez la programmation orientée objet, programmation fonctionnelle, des trucs comme ça.
00:11:21Vous pouvez vous soucier de la lisibilité de votre programme.
00:11:26Vous pouvez vous soucier de la sécurité et de trucs comme la fiabilité.
00:11:33Et il y a beaucoup d'autres dimensions auxquelles nous pourrions penser.
00:11:35Il y a quelques dimensions ici, que je dis qui comptent moins maintenant.
00:11:39Style de code, lisibilité, surtout si vous ne lisez pas, pas trop important.
00:11:44C'est juste important dans ce cas, je veux dire, que l'IA soit capable de lire et de comprendre le code.
00:11:50Et elle sera très probablement très bien avec ça.
00:11:53Maintenant, le style de code peut toujours importer aussi pour des raisons d'efficacité de jetons.
00:11:58Si vous avez une base de code où vous avez juste beaucoup de vérifications inutiles, ce qui, comme mentionné, est quelque chose que l'IA en ce moment a tendance à faire,
00:12:04ou certains modèles d'IA ont tendance à faire, cela sera aussi des jetons supplémentaires à brûler quand l'IA analyse ce code.
00:12:11Donc c'est encore quelque chose ici, mais cela peut ne pas importer autant que par le passé.
00:12:18Je veux dire, nous avions tous nos propres préférences concernant le style de code dans le passé.
00:12:22Et pour moi, cela a définitivement changé.
00:12:24Cela a définitivement changé.
00:12:26Maintenant, évidemment, cependant, des trucs comme la sécurité, la fiabilité, aussi la testabilité, cela compte toujours beaucoup.
00:12:34Évidemment, c'est la partie, si quelque chose, qui compte dans le logiciel.
00:12:39Vous voulez qu'il fasse ce qu'il est censé faire.
00:12:41Vous voulez qu'il le fasse en toute sécurité.
00:12:43Vous pouvez vous soucier de la performance.
00:12:46Vous devriez vous soucier de la performance.
00:12:47Il devrait être fiable.
00:12:48Il ne devrait pas planter aléatoirement sur vos utilisateurs.
00:12:51Et, bien sûr, ce sont toutes des choses que nous voyons dans le logiciel moderne.
00:12:54Le logiciel moderne souvent n'est pas fiable, peut ne pas être sûr.
00:12:58Et la sécurité à 100 %, bien sûr, n'est pas réalisable, surtout avec ces modèles d'IA étant assez bons pour,
00:13:04trouver des vulnérabilités de sécurité et nous n'avons pas nécessairement accès aux derniers modèles qui peuvent faire ça.
00:13:10Mais c'est une discussion différente.
00:13:11Mais vous devriez toujours vous en soucier.
00:13:13C'est mon point.
00:13:14Vous devriez essayer de construire un logiciel sûr, fiable, performant, à mon avis.
00:13:20Et en tant qu'ingénieur logiciel, cela, bien sûr, signifie aussi que vous pourriez vouloir donner votre avis concernant quels modèles utiliser, quelles bibliothèques utiliser dans un projet.
00:13:30Donc c'est là que nous passons ensuite plus dans cette zone de conception de systèmes ou d'architecture logicielle, qui n'est pas la même chose, conception de systèmes, architecture logicielle.
00:13:39Mais ce sont les choses qui comptent toujours beaucoup, je dirais.
00:13:44Et ce sont les choses où avoir de bonnes spécifications, avoir de bons plans est important si vous vous rapprochez de 100 % ne pas lire, ce qui, encore une fois, peut ne pas être le cas pour vous.
00:13:57C'est tout quelque chose où il n'y a pas de tort ou de raison, comme j'essaie de le rendre clair.
00:14:02Donc ces parties deviennent plus importantes spécifications, plans, parce que, encore une fois, vous voulez définitivement assurer la sécurité et la fiabilité si vous ne vous souciez pas autant du style de code et de la lisibilité, ce qui peut très bien être le cas.
00:14:18Et par conséquent, bien sûr, toute cette question de savoir si vous lisez toujours le code est évidemment aussi un peu de rage bait, comme je l'ai mentionné avant, et pas aussi facile à répondre.
00:14:30Et il n'y a tout simplement pas de bon ou de mauvais ici.
00:14:34Et au fait, cela devrait être évident, mais il y a aussi une grande différence.
00:14:37Si vous avez quelque chose, un logiciel fonctionnant en production, peut-être utilisé par des milliers, des centaines de milliers ou des millions de personnes, et cela dépend aussi de la zone dans laquelle vous travaillez.
00:14:49Je veux dire, si vous travaillez dans la banque, disons, les erreurs dans votre logiciel peuvent avoir des conséquences catastrophiques et pas seulement la banque, il y a des parties encore plus importantes dans la banque, évidemment santé, défense, tech, tout ce truc.
00:15:05Donc c'est un aspect important.
00:15:10Si vous êtes un indie hacker avec zéro utilisateur, ouais, sûr, vous pourriez ne pas vous soucier trop du code.
00:15:18Mais globalement, je pense que nous pouvons toujours voir une tendance ou nous pourrions voir une tendance où tout comme pour l'écriture de code, nous nous rapprochons aussi de 100 % pour ne pas lire le code.
00:15:32Je ne suis juste pas sûr si nous arriverons un jour à 100 % et si nous devrions y arriver, si c'est une bonne idée.
00:15:38Et nous ne devrions définitivement pas arrêter de nous soucier.
00:15:41Et ensuite la grande question est juste, pouvons-nous nous soucier sans lire ?
00:15:45Est-ce que ça va vraiment, vraiment, vraiment fonctionner ?
00:15:48Je ne suis pas sûr.
00:15:49Pour moi, je n'ai pas cette confiance dans l'IA.
00:15:53Et je ne suis pas sûr si ou quand cela changera.
00:15:56Cela peut changer.
00:15:57Je ne l'exclus pas.
00:15:58Tout comme l'écriture de code ou la non-écriture de code a changé.
00:16:03Mais en ce moment, je suis toujours plus dans cette partie lire et se soucier ou je suis quelque part entre les deux parce que, comme je l'ai mentionné, je suis quelque part au milieu de cette échelle.
00:16:11Mais comme je l'ai aussi mentionné, s'il vous plaît faites-moi savoir où vous en êtes.
00:16:150 % lecture, 100 % lecture, peut-être encore 100 % écriture.
00:16:19Cela peut aussi être la bonne voie à suivre.
00:16:21Faites-le-moi savoir.
00:16:22Et faites-moi savoir vos pensées sur tout ce sujet en général.