Auteur/autrice : Éric

  • IA : L’élé­phant dans le couloir

    Je me vois mal commen­cer à plon­ger dans l’IA1 en igno­rant toute la ques­tion éner­gé­tique. Je commence ce billet pour essayer d’y voir clair.

    C’est un brouillon partagé où je vais poser des notes au fur et à mesure des lectures, pas une conclu­sion.

    On a tous nos biais, moi aussi. Quelques posi­tions de départ :

    1. J’ai un gros biais néga­tif à la base. J’ai vu passer les délires de la réalité virtuelle, des seconds mondes, du web3 et autres crypto-actifs. Je m’en suis tenu aussi éloi­gné que possible, j’en suis bien heureux et je ne souhaite vrai­ment pas entrer dans un gros hype alors que j’ai réussi à éviter les précé­dents. Le fait qu’une partie des suppor­ters de l’IA étaient suppor­ter du web3 n’est pas trop en faveur des ques­tions d’IA.
    2. Le second gros biais néga­tif vient de mes commu­nau­tés et lectures. Je navigue dans des sphères très concer­nées par les enjeux clima­tiques, qui font les efforts asso­ciées, et qui sont dans l’en­semble extrê­me­ment critiques vis-a-vis de l’IA, pour ne pas dire en total rejet. Ça ne me lie pas, mais c’est une posi­tion de départ et il est toujours diffi­cile de sortir tota­le­ment de ses préju­gés. Ici ça me sera d’au­tant plus diffi­cile que ça voudra dire tenir une posi­tion oppo­sée aux personnes qui m’en­tourent.
    3. À l’op­posé, je vois les trans­for­ma­tions à venir dans mon métier et cette fois-ci, j’y crois. J’ai à la fois envie d’être dans le train, et peur pour mon avenir si je décide de ne pas monter pour des raisons morales. Ça joue, et il va falloir que je fasse atten­tion à ce que ça ne me fasse pas cher­cher des prétextes ou des excuses.
    4. Enfin, j’ai aussi vécu les propos inco­hé­rents sur les enjeux clima­tiques, avec la chasse aux emails à effa­cer ou des préco­ni­sa­tions qui oublient tota­le­ment les ordres de gran­deurs. Parfois on désigne l’en­nemi à abattre et quand les chiffres ne tiennent pas on fini par « tout compte », ce qui est à la fois vrai et à la fois parfois juste un prétexte pour justi­fier une mauvaise posi­tion.

    Pour expli­ci­ter le dernier point, je me refuse à juste regar­der la consom­ma­tion éner­gé­tique en absolu. Il faut tout réduire mais pas tout suppri­mer. L’enjeu c’est de savoir où et comment couper.

    illustration d'un graphique en deux axes, sobriété énergétique et utilité. L'intérieur est coloré du vert (sobre et utile) marqué "à garder" jusqu'au rouge (pas sobre, pas utile) marqué "à jeter"

    Pour l’ins­tant je vais déjà collec­ter les liens qu’on me fait suivre (en vrac dans un premier temps) :


    1. C’est amusant, je vois que j’uti­lise IA quand je donne un ton posi­tif et LLM quand je donne un ton néga­tif, quand bien même dans ces contextes je parle fina­le­ment de la même chose. Je vais garder IA ici mais c’est un sujet de réflexion. ↩︎
  • Lecture de Steve Yegge : « The Death of the Stub­born Deve­lo­per »

    De  « The Death of the Stub­born Deve­lo­per »

    Here’s the rub: As of about May, LLMs can now execute most of the leaf tasks and even some higher-level inter­ior tasks, even on large soft­ware projects. Which is great. But what’s left over for humans is prima­rily the more diffi­cult plan­ning and coor­di­na­tion nodes. Which are not the kind of task that you typi­cally give junior deve­lo­pers.

    C’est peut être là que je diverge. C’est vrai pour les déve­lop­peurs « code », un peu moins pour les déve­lop­peurs « produit ».

    Howe­ver, some junior engi­neers pick this new stuff up and fly with it, basi­cally uple­ve­ling them­selves. And many senior engi­neers seem to be heading towards being left behind. So what is it, then?

    (…)

    Chat-Orien­ted Program­ming, CHOP for short (or just chop). Chop isn’t just the future, it’s the present. And if you’re not using it, you’re star­ting to fall behind the ones who are.

    Ne croyez pas qu’on a à faire à encore un rêveur qui imagine un futur avec des voitures volantes. On parle du présent.

    They believe these gene­ric auto­no­mous soft­ware agents will solve the problem of chop being too diffi­cult and toil­some. In fact some people claim that agents can take over the task graph enti­rely, perhaps at least for small busi­nesses, allo­wing non-tech­ni­cal CEOs to launch apps them­selves without having to hire any pesky deve­lo­pers.

    I think those people are smoking some serious crack.

  • Lecture de Steve Yegge :  « The Death of the Junior Deve­lo­per »

    De  « The Death of the Junior Deve­lo­per »

    Gene, as an accom­pli­shed and senior author, is deligh­ted with his produc­ti­vity gains with his LLM of choice, Claude Opus. He showed me a big writing project that he’d just fini­shed, in which he had spent easily 45+ minutes craf­ting the prompt, refi­ning it until he had a 7500-word narra­tive that could serve as a star­ting point for rewri­ting, editing, and adjust­ment. (In compa­ri­son, this blog post is about half that size.) And that draft was fantas­tic. I’ve read it and it’s glorious.

    On a good day, Gene can write 1,000 words per day. His esti­mate is that Claude did for him in 90 minutes what would normally have taken him ten days. It solves the « blank-page problem » and gets him to the 20-yard line, where the fun begins.

    Il y a d’autres histoires. Je note un motif que ceux qui répondent « qualité » ne semblent pas voir.

    L’IA est un outil. On ne lui demande pas force­ment de savoir tout faire, ni même de le faire bien. On lui demande de savoir faire assez pour amener le donneur d’ordre plus loin, ou plus vite, et majo­ri­tai­re­ment de lui permettre de se concen­trer sur sa tâche réelle, son vrai métier. C’est vrai même pour celui dont la tâche est l’écri­ture.

    My senior colleagues have recently recoun­ted simi­lar chat scena­rios in which a more junior dev would have been comple­tely taken in, poten­tially losing days to weeks of work going the wrong direc­tion.

    Or worse.

    Chat, it seems, is safer for senior program­mers than it is for junior ones. And a lot of compa­nies are going to inter­pret « safer » to mean « better. »

    (…)

    Brie­fly, what do I mean by « senior » here? Really just two things:

    –  You know what you want before the AI writes it. You already have a vision for how you would write this by hand, or have it narro­wed to a few reaso­nable options.
    –    You can detect when it is giving you bad guidance.

    J’ajou­te­rais : savoir utili­ser l’ou­til. Ça reste un outil. Comprendre ses limites, sa zone d’ef­fi­ca­cité et comment en obte­nir le meilleur peut faire la diffé­rence.

    Rien que : aujourd’­hui les tâches répé­ti­tives finissent toujours par dérailler mais qu’il est parfait pour créer le code qui va faire cette tâche répé­ti­tive (comme un déve­lop­peur en fait).

  • Lecture d’Anne Vella : « Dear Soft­ware Engi­neer: It’s Time to Reclaim Your Role »

    Cita­tions d’Anne Vella :

    I totally agree that soft­ware engi­nee­ring should be a lot more than just writing code. When I studied compu­ter science at univer­sity, they taught us how to elicit requi­re­ments, write user stories, design user inter­faces and apply UX prin­ciples, archi­tect complex systems, create test plans, execute test cases and so much more. The whole shebang.

    De mon temps on appe­lait ça de façon mépri­sante les pisseurs de code. Et pour­tant, à cause de la spécia­li­sa­tion, je vois énor­mé­ment d’in­gé­nieurs tomber dans cette caté­go­rie de « déve­lop­peur expert ».

    J’en ai même vu s’in­di­gner qu’on arbitre trop souvent en faveur du produit et des utili­sa­teurs plutôt qu’en faveur d’une qualité de code interne.

    Rien qu’à dire ça je sais que je vais avoir quelques réac­tions assez fortes.

    Personne n’a raison mais ça devient des métiers diffé­rents.

    Steve Yegge recently wrote a follow-up to his contro­ver­sial article The Death of the Junior Deve­lo­per, refra­ming his posi­tion as The Death of the Stub­born Deve­lo­per. He talks about how if you’re not adop­ting Chat-Orien­ted Program­ming, or CHOP, you’re getting left behind

    Je ne joue­rai pas à qui va devoir chan­ger.

    Je suis convaincu que les déve­lop­peurs « produit » vont devoir chan­ger de façon de travailler. Pour autant, le besoin ne va pas dispa­raître, loin de là. Les juniors vont vite avoir des super-pouvoirs. Les seniors qui se reposent un peu trop sur leur savoir acquis, sur la complexité du code set sur le besoin de renou­vel­le­ment perma­nent de techno vont eux avoir du soucis à se faire parce que leur valeur ajou­tée va deve­nir faible.

    On ne rempla­cera pas les déve­lop­peurs « code » experts. L’IA tant vantée n’est quand même qu’un outil statis­tique et je ne la vois pas de si tôt créer du code profond tel qu’on peut en trou­ver dans les biblio­thèques de code qui forment les briques de base. On aura besoin de personnes qui comprennent le fonc­tion­ne­ment de tout ça pour savoir quoi faire (éven­tuel­le­ment assis­tés par de l’ia s’ils le veulent). Là ce sont les juniors qui vont avoir du mal à trou­ver une place.

    Pour être franc je ne sais pas si tout ça est vrai­ment neuf. L’IA va juste démul­ti­plier un effet déjà exis­tant, mais peut être au point de rendre certains posi­tion­ne­ments très diffi­ciles à tenir.

    So dear soft­ware engi­neer, please take heed. If you’re not a “product engi­neer” and have specia­li­sed in writing code, AI may indeed take your job. But this isn’t just a warning – it’s an oppor­tu­nity. It’s time to reclaim your role and return to what soft­ware engi­nee­ring was always meant to be: a craft that combines tech­ni­cal exper­tise with problem-solving, user empa­thy, and busi­ness acumen. The future belongs to those with curio­sity who can see beyond the code.

    Mes propos semblent peut être trop alar­mistes, ou trop futu­ristes. J’ai l’im­pres­sion qu’on passe des paliers très vite.

    Je ne saurais trop conseiller aux déve­lop­peurs qui veulent prévoir leur avenir de sauter sans filet et de passer au CHOP et BATON décrits dans le billet cité.

    Si ça n’ac­cé­lè­rera pas grand chose aujourd’­hui, savoir comment utili­ser ses outils correc­te­ment demande un chan­ge­ment de para­digme et donnera plusieurs longueurs d’avance d’ici quelques années au plus.

    Si vous avez vu le sex appeal des déve­lop­peurs « no code » (non, il n’y a pas contra­dic­tion), ça va vite de démul­ti­plier.

    C’est une croyance de ma part mais elle est très forte.


    Oui, je sais. Il y a aussi à côté d’énormes enjeux éner­gé­tiques. J’ai­me­rais bien qu’on puisse les igno­rer mais je ne le crois pas. Je ne les mets pas de côté.

    Main­te­nant consi­dé­rant le coût des ingé­nieurs, celui de l’usage de ces outils, la valeur qu’on en tire, le futur sera quand même celui là. On peut refu­ser mais il faudra au mieux se prépa­rer à oublier les périodes fastes du point de vue emploi et salaire, pour ceux qui trou­ve­ront un emploi.

    Je n’ai pas la solu­tion à tout ça. Je me contente d’ob­ser­ver.

  • Voyage à vélo jusqu’Am­ster­dam

    On a eu un peu chaud en août l’an­née dernière dans le sud. Cette année j’avais envie de montrer un peu l’étran­ger au fiston. On est partie pour faire un bout de l’Eu­ro­velo 12 entre Calais et Amster­dam, avec proba­ble­ment un peu de prome­nade ensuite vers Amster­dam.

    Pour l’ins­tant j’en suis là, il y a tout à faire. Si vous avez fait le parcours, je suis très inté­ressé par vos retours, voire un contact pour poser mes ques­tions.

    Contexte

    On est trois, deux adultes et le fiston de 12 ans. On navigue avec deux vélos méca­niques et un vélo élec­trique donc on aura besoin de courant tous les deux jours.

    Nos étapes l’an­née dernière faisaient entre 25 et 60 km, idéa­le­ment dans les 30 à 40. J’ima­gine que le terrain extra-plat de Belgique et Pays-Bas peut augmen­ter notre distance quoti­dienne mais on ne cherche pas à faire des kilo­mètres pour faire des kilo­mètres.

    On a 3 à 4 sacoches par vélo, avec de quoi dormir en tente en camping. Ça veut dire cher­cher des campings chaque soir, idéa­le­ment des petits sympa et pas des gros complexes (pas de camping sauvage, mais je crois que c’est de toutes façons inter­dit là bas).

    J’ado­re­rais pouvoir profi­ter des réseaux qui accueillent les voya­geurs chez eux pour avoir quelques nuits dans du dur et discu­ter avec des locaux. On ne l’a cepen­dant jamais fait.

    Jusqu’à présent on fait toujours un sens unique avec retour en train. Sur 2 ou 3 semaines ici on peut envi­sa­ger de faire l’al­ler-retour mais je préfé­re­rais me perdre en balades aux Pays-Bas et faire le retour en train si possible.

    Les ques­tions qui me préoc­cupent

    Comment aller de Lyon à Calais ou Dunkerque avec nos vélos ? Idéa­le­ment je préfé­re­rais du train avec des empla­ce­ments vélo non démon­tés sur réser­va­tion. Démon­ter les vélos, avec nos nombreuses sacoches, le poids du vélo élec­trique et la peur d’en­dom­ma­ger le dérailleur nous fait un peu stres­ser. Les TER sont jouables mais on a plusieurs mauvaises expé­riences avec des trajets debout les vélos en travers du passage faute d’avoir des places adap­tées. Là aussi, je préfé­re­rais vrai­ment éviter. On fera dans tous les cas avec ce qu’on peut mais la SNCF ne m’a proposé aucune option sur le site inter­net, que ce soit TER ou pas.

    Comment reve­nir ? Au pire on peut faire le même trajet dans l’autre sens mais idéa­le­ment ce serait top de pouvoir repar­tir en train depuis Amster­dam, là aussi avec vélos et sacoches. Je ne connais pas les règles et faci­li­tés dans les diffé­rents pays et sur les trajets trans­fron­ta­liers.

    Comment se passe le camping en Belgique et Pays-Bas ? Est-ce simple de trou­ver ? Est-ce qu’on a des applis pour ça ? Faut-il réser­ver à l’avance, et si oui combien de temps à l’avance ? Quelles sont les autres options réalistes ?

    Sur l’Eu­ro­vélo 12 on nous propose une étape gigan­tesque de 130 km entre Vlis­sin­gen/Fles­singue et The Hook of Holland. C’est là qu’on suit les digues. Est-ce décou­pable ?

    Quelles sont les contraintes parti­cu­lières de Belgique et Pays-Bas rapport au vélo, au camping, aux dépla­ce­ments, à la nour­ri­ture et épice­ries, etc ?


    Mise à jour : Faute de bonne solu­tion en train, on a décidé d’équi­per la voiture d’un atte­lage et d’un porte vélo, et faire le trajet en voiture jusqu’à l’Eu­ro­velo. C’est un vrai inves­tis­se­ment mais ça nous donnera aussi plus de flexi­bi­lité.

  • Prude IA

    Le contrôle des réseaux et de l’in­for­ma­tique par les États-Unis me saute à la figure de plus en plus souvent.

    Il y a peu, je lis que les États-Unis inter­disent TikTok si l’ac­ti­vité n’est pas reven­due à un tiers. L’enjeu c’est est celui de la sécu­rité natio­nale avec le fait que c’est une base chinoise et pas une base améri­caine. En même temps il y a une pres­sion qui commence à se consti­tuer de la part des États-Unis pour que l’Eu­rope ne bride pas les services améri­cains, voire qu’ils consi­dèrent les amendes de régu­la­tion de X ou de Meta comme du protec­tion­nisme au titre des règles de libre échange. Si l’im­pé­ria­lisme numé­rique se faisait par influence, main­te­nant on est dans le rapport de force clair et net.

    Ce n’est pas qu’une ques­tion écono­mique. Les liber­tés et inter­dits font partie de ce qui nous est imposé. C’est vrai autant pour le légal que pour le légal. Il est inté­res­sant de voir que les IA n’ont pas de filtre avan­cée pour gérer la vie privée mais qu’elles sont inca­pables de parler de corps fémi­nin ou de sexe. On importe à la fois leur free speech et leurs tabous.

    Où est-ce que ça nous mène ? Je ne sais pas, mais voyant quelle place est amenée à prendre l’IA, le fait qu’elle se fixe sur des règles du jeu d’un seul pays me met quelque part très mal à l’aise.

  • Outil ou collègue

    Mon conseil pour les rares qui me suivent encore et que j’ai pu moti­ver à deve­nir deve­lop­peur: fuyez! Redui­sez vos dettes. Votre train de vie. […] inves­tis­sez tout et prepa­rez vous pour l’hi­ver.

    Je vous garan­tie que avant la fin de votre carrière (voir de la décen­nie) il faudra se recon­ver­tir. Préfé­ra­ble­ment dans un truc manuel.

    On lit toujours plein de choses alar­mistes sur le futur. Tout avance très vite mais les métiers dispa­raissent rare­ment en moins d’une géné­ra­tion. Jusqu’à présent.

    Et pour­tant, vu d’où je l’ai lu, ça m’a fait cogi­ter.

    J’ai repris un peu mes tâches pénibles habi­tuelles via Cursor. Rien de neuf. Je le fais régu­liè­re­ment. Si je trouve la complé­tion auto­ma­tique magique, pour moi c’est un outil en plus, pas de quoi éteindre le métier.

    Là j’ai suivi les traces de Simon Willi­son. J’ai utilisé l’agent et lui ai tout dicté, refu­sant de toucher à un quel­conque fichier direc­te­ment, de résoudre un quel­conque problème tech­nique moi-même.

    J’ai plein de posi­tif et plein de néga­tif mais… mon dieu je ne conseille­rai pas à mon fils de faire du déve­lop­pe­ment. C’est foutu pour lui. Je ne sais pas s’il aurait pu tout réali­ser sans rien savoir, mais ça n’en était pas loin. Dans 2 ans, 10 ans… oui la moitié des tâches de déve­lop­pe­ment au moins se passe­ront proba­ble­ment d’ex­perts tech.

    Ok, c’est de la boule de cris­tal. Je peux me trom­per. Je me suis déjà trompé par le passé. Oui ça ne remplace pas tout mais on a passé un sacré cap. Il me reste 20 ans au moins, la révo­lu­tion se fera pendant ma vie profes­sion­nelle, et elle sera lour­de­ment impac­tée.

  • SMS Backup+

    Je ne comprends toujours pas qu’An­droid n’ait rien prévu pour migrer la récep­tion des SMS dans le cloud.

    J’uti­lise SMS Backup+. Il y a peut-être des alter­na­tives, d’au­tant plus main­te­nant qu’il n’est plus main­tenu dans les stores, mais c’est mon histo­rique depuis faci­le­ment une décen­nie.

    Ce petit outil récu­père chaque SMS reçu pour l’ajou­ter dans les archives de mon compte email. Ça me permet de résis­ter à la perte de mon télé­phone mais aussi de fouiller dans les archives.

    Bonus, il fait de même avec les appels (mais sans le contenu audio). Pour les appels je peux même les poser dans le calen­drier pour retrou­ver faci­le­ment qui m’a appelé quand avec quel numéro.


    Mise à jour : Il semble que ça ne sauve­garde pas les messages RCS chif­frés qui sont envoyés entre personnes qui utilisent Google Message. Il va falloir cher­cher un peu plus loin.

  • Anglais ou français ?

    Ma recom­man­da­tion : Travaillez dans la langue mater­nelle de l’équipe aussi long­temps que vous le pouvez.

    Prema­ture opti­mi­za­tion is the root of all evil

    Donald Knuth

    On adore parler de dette tech­nique. Passer à l’an­glais trop tôt c’est une dette orga­ni­sa­tion­nelle, dont il faut payer les inté­rêts chaque jour, et qui se révèle rare­ment rentable.

    Je n’ai jamais eu vent d’en­tre­prise qui ait échoué parce qu’elle n’avait pas anti­cipé la mise à l’an­glais plusieurs années avant. J’ai par contre des dizaines de noms d’en­tre­prises qui ont coulé ou ont stagné parce que la commu­ni­ca­tion n’était pas fluide, ou parce qu’elles ont investi dans trop de choses pour plus tard avant que ce ne soit néces­saire.

    • Utili­ser l’an­glais est-il un besoin pour aujourd’­hui ou pour demain ?
    • Quelle est la proba­bi­lité que ce besoin se réalise vrai­ment ?
    • Le coût d’avoir utilisé le français aujourd’­hui dépasse-t-il vrai­ment celui d’avoir utilisé l’an­glais ?
    • Est-il perti­nent de payer ce coût aujourd’­hui plutôt que demain ?

    Si ces ques­tions semblent orien­tées c’est qu’elles le sont. Je pars du constat que l’uti­li­sa­tion de l’an­glais par des équipes françaises dans leurs échanges et leurs docu­ments n’est pas neutre. Le coût est même élevé.

    En utili­sant l’an­glais je dois en faire un pré-requis de recru­te­ment, évaluer réel­le­ment cette compé­tence lors des entre­tiens, former les personnes déjà embau­chées, et être prêt à me sépa­rer de ceux qui n’at­tein­dront pas le niveau cible.

    Même là, rare sont ceux qui sont bilingues au point d’avoir les mêmes nuances et la même flui­dité dans les deux langues. Il y a une perte de détail en plus d’une perte de compré­hen­sion, parfois même un frein à l’ex­pres­sion qui fait renon­cer en amont.

    Bref, il y a un coût. J’ai plus souvent vu les équipes le mino­rer ou l’igno­rer que le contraire, et au final prendre une dette pendant des années sans retour sur inves­tis­se­ment concret.


    Oui, peut-être qu’un client deman­dera une docu­men­ta­tion en anglais un jour, quand le produit sera inter­na­tio­nal, si tant est que le produit et sa docu­men­ta­tion n’au­ront pas changé d’ici là. Ce jour là on aura un problème de riche et proba­ble­ment que traduire une docu­men­ta­tion bien rédi­gée ne sera pas vrai­ment un élément bloquant. Peut-être par contre qu’a­voir une docu­men­ta­tion en mauvais anglais deman­dera bien plus de temps de réécri­ture.

    Oui, peut-être que les équipes s’ou­vri­ront à l’in­ter­na­tio­nal avec des bureaux ailleurs en Europe ou dans d’autres conti­nents. Peut-être pas, malgré les ambi­tions. Peut-être bien plus tard que prévu. Beau­coup de process vont chan­ger entre temps, et il y aura de toutes façons une période de tran­si­tion avec des locu­teurs fran­co­phones pour faire le pont néces­saires (si tant est que chatgpt ne soit pas suffi­sant en pratique).

    Est-ce que c’est main­te­nant que vous voulez payer le coût, risquer de moins bien se comprendre, de ralen­tir l’or­ga­ni­sa­tion, pour éviter un coût plus tard, une fois que l’en­tre­prise aura réussi et aura les moyens, sans même pouvoir assu­rer que ce futur arri­vera ou s’il arri­vera dans les années à venir ?

    Je suis certain que « oui » est parfois la bonne réponse. Je suis convaincu que c’est l’ex­cep­tion (et que par défi­ni­tion, vous avez toutes les chances de ne pas être dans l’ex­cep­tion).