2 points par GN⁺ 2025-05-12 | 1 commentaires | Partager sur WhatsApp
  • Ian Lance Taylor a quitté Google après 19 ans passés dans l’entreprise, dont la majeure partie consacrée au développement du langage de programmation Go
  • Go a été lancé à l’automne 2007 par Rob Pike, Ken Thompson et Robert Griesemer, et Taylor a rejoint le projet en juin 2008, à peu près en même temps que Russ Cox
  • Contrairement aux attentes initiales, Go s’est imposé au-delà d’une simple expérimentation d’idées, comme un langage de programmation généraliste que les développeurs choisissent selon les besoins
  • Taylor a contribué aux fondations du langage et de l’écosystème Go, notamment avec le frontend Go pour GCC, le système de build interne de Google, la prise en charge de SWIG, la gestion d’équipe et les propositions autour des génériques
  • À mesure que Google, Go et l’environnement de programmation évoluaient, Taylor a estimé qu’il correspondait moins bien au projet Go chez Google, et espère contribuer de nouveau à Go après une pause

19 ans chez Google et l’arrivée sur Go

  • Ian Lance Taylor a quitté Google après 19 ans dans l’entreprise
  • Il a passé la majeure partie de cette période à travailler sur le langage de programmation Go
  • Go a été lancé à l’automne 2007 par Rob Pike, Ken Thompson et Robert Griesemer
  • Taylor a rejoint l’équipe Go en juin 2008, et Russ Cox est arrivé à peu près à la même période
  • Il estime avoir eu la chance de travailler avec des personnes remarquables sur des projets passionnants

Un usage de Go plus large que prévu

  • Taylor s’est dit surpris de voir Go être utilisé bien plus largement que prévu au fil des années
  • Go est désormais devenu un langage de programmation généraliste que les développeurs peuvent choisir lorsqu’ils en ont besoin
  • Au départ, l’attente portait moins sur une adoption massive de Go lui-même que sur un exemple d’idées utiles dont d’autres langages et environnements de programmation pourraient s’inspirer

Travail sur le compilateur et la spécification du langage

  • Le premier travail de Taylor sur Go a consisté à ajouter un frontend Go au compilateur GCC
  • À l’époque, le projet Go disposait déjà d’un compilateur existant basé sur le compilateur C d’Inferno
  • La coexistence des deux compilateurs a permis de clarifier davantage la définition du langage
    • Chaque fois que leur comportement différait, il fallait affiner la spécification et décider du comportement correct

Rôle dans l’équipe et introduction des génériques

  • Taylor a assumé dans l’équipe Go un rôle consistant à garder une vue d’ensemble du projet et à repérer les domaines où de l’aide était nécessaire
  • Pendant les premières années, il a ajouté la prise en charge de Go au système de build interne de Google et à l’outil SWIG
  • Il a également été manager de l’équipe pendant plusieurs années
  • Dès les débuts de Go, les développeurs ont demandé une forme de génériques ou de paramétrage des types
    • Taylor a élaboré avec Robert Griesemer plusieurs propositions de modification du langage
    • Les génériques ont été ajoutés au langage dans la version Go 1.18 de 2022

Son regard sur sa manière de travailler

  • Taylor considère que son approche avait à la fois des avantages et des inconvénients
  • Son point fort était de repérer rapidement les problèmes que les gens rencontraient déjà ou allaient bientôt rencontrer, puis d’aider à les mener vers une solution
  • À l’inverse, il reconnaît une limite pour détecter assez tôt des idées dont la nécessité n’apparaît pas tant qu’elles n’ont pas encore été essayées
    • Par exemple, le Go module proxy
    • Par exemple, la base de données de vulnérabilités Go

Pourquoi il part et ses projets pour la suite

  • Taylor estime que sa façon de travailler a globalement aidé à construire un projet réussi
  • Mais Google, Go et l’environnement de la programmation informatique ont tous changé
  • Au cours de l’année écoulée, il a jugé de plus en plus clairement qu’il n’était plus vraiment en phase avec le projet Go de Google
  • Son intérêt pour Go reste intact
  • Il ne considère pas que le langage Go soit arrivé à son terme
    • Aucun langage de programmation ne reste jamais dans un état achevé
    • L’environnement de programmation continue de changer, et un langage qui n’évolue pas finit par disparaître
    • Un langage comme Go, doté d’une bibliothèque standard importante, doit aussi adapter cette bibliothèque standard aux nouveaux besoins des programmeurs
  • Taylor compte faire une pause pendant quelque temps, puis espère pouvoir contribuer de nouveau à Go à l’avenir

1 commentaires

 
GN⁺ 2025-05-12
Avis sur Hacker News
  • Il est difficile d’exagérer l’ampleur de la contribution de Ian à la communauté Go et à la communauté de la programmation dans son ensemble.
    Il n’a pas seulement créé gccgo, mais aussi le linker gold ; il a énormément écrit sur les toolchains de compilation et a maintenu de vastes zones de la base de code de gcc [0].
    J’ai échangé quelques e-mails avec lui : quelles qu’aient été ses responsabilités et ses priorités chez Google, il répondait toujours, relisait les patches, et ses retours étaient éclairants.
    J’ai des sentiments mitigés sur le langage Go lui-même, mais Go sans Ian sera clairement moins bon.
    L’équipe Go des débuts avait une atmosphère à la Bell Labs : une petite poignée de personnes qui comprenaient les ordinateurs dans leurs moindres détails ont tout fait — assembleur, linker, deux compilateurs, spécification du langage, générateur de documentation, système de build, et une énorme bibliothèque standard.
    Aujourd’hui, à mesure que Go devient de plus en plus important pour Google et que les pratiques standard des grands projets logiciels s’y installent, cela semble être devenu une culture d’entreprise plus fade.
    C’est probablement à ce changement de culture que Ian faisait allusion dans son message, mais je suis curieux de savoir quel a été le point de bascule précis qui l’a poussé à partir.
    J’espère que Ian pourra bien se reposer, et j’ai hâte de suivre le prochain projet auquel il s’attaquera.
    [0] : https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS

    • Le fait que les deux toolchains de compilation de Go continuent de bien fonctionner est très important, à la fois pour assurer une redondance et pour valider la conception des fonctionnalités.
      Cela dit, je me demande à quoi les gens ou les organisations utilisent réellement gcc-go.
  • Quand je travaillais chez Google, Ian Lance Taylor faisait partie du pool de code reviewers attribués aléatoirement.
    Il était courtois, ferme, et communiquait très bien les informations.
    C’est quelque chose qui donne une bonne image à la fois de Taylor et du projet : ce genre de review ressemble à une version du conseil que YC donne aux fondateurs, à savoir faire eux-mêmes le support client.
    C’est peut-être une impression superficielle, mais voir ses initiales apparaître sur mes code reviews était assez grisant.
    Merci pour tout ce qu’il a fait pour golang.

    • J’aime beaucoup le compliment qui consiste à dire que quelqu’un reste en mémoire comme une personne courtoise.
      J’ai appris une leçon de vie importante : mieux vaut être considéré comme quelqu’un de courtois, gentil et bienveillant que comme quelqu’un de brillant, un développeur 10x ou une personne compétente.
    • En tant que contributeur externe sans grande importance pour Go, j’ai travaillé sur environ cinq ou six propositions et PR, y compris certaines qui ont finalement été abandonnées ou refusées, et j’ai ressenti la même chose.
      Courtois, ferme, informatif — et j’ajouterais aussi curieux.
      L’expérience de contribution au projet a été excellente, et Ian y était pour beaucoup.
      Sur un grand projet comme Go, cela en dit long.
    • Le processus d’approbation de lisibilité Go chez Google était aussi vraiment excellent, et il a fait de moi un bien meilleur programmeur.
      J’ai aussi passé la lisibilité Python chez Google, mais l’approche « apporte une énorme CL et, si elle est bonne à la fin du processus, c’est terminé » ne m’a pas semblé aussi utile que le processus Go.
      Je suis content que l’équipe Go ait créé ses propres règles, et cela m’a aussi aidé.
      Évidemment, c’était différent quand j’étais appelé au milieu de la nuit en me disant : « je dois juste checker-in ce code et retourner dormir » ;)
    • J’ai eu une expérience similaire : sur mon dernier changement de lisibilité C++, Titus Winters était reviewer.
      J’ai même essayé de contester l’un de ses commentaires.
      C’était vraiment assez chouette de voir quelqu’un qui sait manifestement ce qu’il fait apposer son tampon d’approbation sur mon travail.
    • J’étais chez Google entre 2014 et 2017, et il me semble que Ian avait partagé la façon dont il avait construit son dossier de promotion afin d’aider les autres.
      Si ma mémoire ne me trahit pas, c’était vraiment remarquable.
  • Le passage « Gooogle [sic] a changé, Go a changé, et tout l’environnement de la programmation informatique a changé. Au cours de l’année écoulée environ, il est devenu clair que je ne correspondais plus vraiment au projet Go de Google. Il est temps pour moi de partir » est assez surprenant.
    Ces trois phrases auraient facilement pu être supprimées ou remplacées par des banalités, donc le fait qu’il ait choisi de les écrire ainsi suggère qu’il y a ici quelque chose de lourd de sens.

    • Ces dernières années, j’ai vu beaucoup d’ingénieurs seniors de Google partir.
      La pression côté management a fortement augmenté et la confiance a nettement diminué.
      Une bonne partie des L7+ avaient aussi le sentiment qu’on attendait d’eux qu’ils travaillent sur des sujets liés à l’IA pour avoir « suffisamment d’impact ».
      Avec la montée de la pression, les guerres de territoire entre eux se sont aussi multipliées : il ne suffisait plus d’être un manager de confiance, il fallait que son propre nom figure tout en haut des documents concernés, et pas celui de ses pairs.
      Avant 2023, je voyais surtout des L7 et L8 avec qui je travaillais quitter Google parce qu’ils trouvaient de nouvelles opportunités intéressantes ou prenaient leur retraite.
      Désormais, la plupart des personnes qui partent à ce niveau quittent Google parce qu’elles en ont assez.
      C’est le bazar.
    • L’essentiel du vrai travail de fond avait déjà été posé par de véritables ingénieurs passionnés.
      Aujourd’hui, les grandes entreprises tech ne sont plus que des endroits où les gens vont gagner de l’argent, sans forcément s’intéresser à une vision de long terme.
      Elles sont majoritairement remplies de profils entraînés de force façon prépa, avec très peu de passion pour l’ingénierie ou l’informatique.
      Pas d’imagination, pas de pensée hors cadre : ils bachotent pour être embauchés, puis se prennent un PIP ou un licenciement et recommencent la même chose dans une autre grande entreprise.
      C’est le genre « TC ou dégage ».
      Vous aurez peut-être plus de chance dans une startup qui ressemble au Google d’hier.
    • Chaque fois que je lis un texte du type « après 20 ans ici, je pars maintenant », je le lis comme : « la valeur de l’entreprise a été multipliée, je suis devenu irrationnellement riche, et maintenant, vingt ans plus tard, je n’ai plus besoin — ou plus envie — d’un travail où je dois venir même quand je n’en ai pas envie ».
    • Quand ils ont placé Sundar Pichai, qui n’a rien de particulièrement exceptionnel, à la tête de Google, il semblait évident qu’ils voulaient transformer l’endroit en une entreprise comme les autres, faite pour gagner de l’argent, et détruire la culture d’origine.
    • Le respect pour l’ingénierie et la recherche de niveau doctorat a disparu.
      L’attention qui vient du CEO est entièrement centrée sur la rentabilité, le chiffre d’affaires et la dimension commerciale.
      Il me semble que cette personne avait déjà écrit quelque chose comme ceci :
      « Beaucoup des problèmes actuels de Google découlent de l’absence de leadership visionnaire de Sundar Pichai et de son désintérêt manifeste pour le maintien des normes culturelles du Google des débuts. »
  • En 2016, quand j’étais chez Google, j’ai commencé dans une équipe qui utilisait entièrement golang
    Pour mon premier projet, je développais un nouveau service et j’ai reçu plusieurs fois de Ian des approbations de lisibilité
    Une fois, j’ai reçu une approbation assortie d’une demande de suivi, mais je ne l’ai pas vue et j’ai intégré le changement
    Ian m’a recontacté pour me demander de faire le suivi, et à l’époque je ne savais même pas qu’il était l’un des principaux développeurs de Golang
    Il a été vraiment indulgent alors qu’il n’y était absolument pas obligé, et je pense que je m’en souviendrai toujours
    C’est vraiment impressionnant qu’il ait consacré autant de temps à voir comment le langage était réellement utilisé et à identifier les problèmes de fond

  • J’aimerais en savoir plus sur le paragraphe disant : « Gooogle a changé, Go a changé, et tout l’environnement de la programmation informatique a changé. Au cours de la dernière année environ, il est devenu clair que je ne suis plus vraiment à ma place dans le projet Go de Google. Il est temps de partir »
    On dirait qu’il y a eu de vrais changements qu’Ian a remarqués

    • Il a probablement reçu des demandes pour rendre ça plus IA
      Du genre : « Mettez Gemini dans les erreurs du compilateur Go, sinon partez »
    • Y a-t-il vraiment quelque chose à ajouter ? C’est déjà bien documenté publiquement
      Il y a les problèmes antitrust, une direction médiocre qui brade l’entreprise pour des gains à court terme, et une transformation nette d’une entreprise technologique longtemps dominante en un énième clone de Microsoft/IBM
      Ce n’est plus un leader du secteur, seulement une entreprise qui suit les modes et prend la vague, comme avec la mode de l’IA
      Elle se plie à des gouvernements à l’historique douteux et soutient des projets qui peuvent être liés à la mort de civils
      « Don’t be evil », quelle blague
      J’imagine qu’il en a eu plus qu’assez du bluff permanent et des mensonges qu’il faut avaler de force
      Le moment de son départ a aussi peut-être été calé sur ses attributions d’actions ou l’expiration de ses stock-options
  • La question méta, ici, est de savoir ce qu’est aujourd’hui le Google de 2005
    Est-ce vraiment OpenAI ? Existe-t-il seulement ?
    La question encore plus méta est de savoir combien de temps a réellement duré cet état de Google dont beaucoup d’ingénieurs se souviennent comme d’un âge d’or

    • À mon avis, le Google de 2005 n’existe plus et ne peut plus exister
      Cette entreprise est née à une époque où les technologies sous-jacentes devenaient beaucoup plus puissantes, et les entreprises qui ont investi de façon créative dans la technologie à ce moment-là sont devenues riches à un point difficile à imaginer
      J’ai rejoint Google en 2022 puis je suis parti, et même aux yeux d’un nouvel arrivant, il était clair que l’âge d’or était non seulement terminé, mais que l’ère d’après l’âge d’or touchait elle aussi à sa fin
      L’ambiance n’était pas « l’innovation téméraire est finie, mais faisons les meilleurs produits possibles », mais plutôt « ne cassons rien et essayons d’arracher 1 ou 2 % d’amélioration si possible »
    • Je pense que ça n’existe pas
      Google était, comme Bell Labs, un produit de son époque, et Bell Labs n’a pas non plus d’équivalent moderne
    • Ça n’existe pas
      Il y a une occasion d’en créer un
      Je pense que le problème des entreprises de cette génération n’est pas la technologie, mais la culture
    • Vu de l’extérieur, l’âge d’or aurait dû se terminer vers 2013-2014
      La culture tech est devenue tellement saturée de capitalisme impitoyable que je ne pense pas qu’une telle chose se reproduise
      Avant, on avait tout de même le sentiment qu’il y avait une volonté d’innover et d’expérimenter
      Aujourd’hui, il ne s’agit plus que de graisser la machine
    • Il n’existe pas encore, ou alors nous ne le voyons pas
      C’est comme essayer de prédire une industrie qui dépassera le millier de milliards de dollars, et une entreprise qui fournira un outil aussi fondamental et omniprésent que la recherche
  • Je ne cherche pas à fabriquer une théorie du complot, mais je me demande si c’est lié au départ d’Ian Hickson de l’équipe Google/Flutter [1]
    Il a explicitement cité plusieurs noms
    « Beaucoup des problèmes actuels de Google découlent de l’absence de leadership visionnaire de Sundar Pichai et de son désintérêt apparent pour le maintien des normes culturelles du Google des débuts. L’un des symptômes en est la prolifération d’un middle management incompétent. Par exemple, Jeanine Banks dirige une division qui regroupe de manière assez arbitraire Flutter, Dart, Go, Firebase, etc. Sa division a une stratégie de façade, mais je ne pourrais pas la divulguer même si je le voulais. Même après l’avoir entendue l’expliquer pendant des années, je n’ai littéralement jamais réussi à comprendre ce qu’une quelconque partie voulait dire. Son niveau de compréhension de ce que font ses équipes est, au mieux, minimal. Elle formule souvent des demandes totalement incohérentes et inapplicables. Elle déshumanise les ingénieurs en les traitant comme une marchandise, et réaffecte les gens contre leur gré, d’une manière sans aucun rapport avec leurs compétences. Elle est totalement incapable d’accepter les retours constructifs. Elle ne les reconnaît même littéralement pas. On m’a dit que d’autres équipes avaient des responsables plus habiles politiquement que moi, qui avaient appris à la “gérer” : ne lui donner que les bonnes informations au bon moment pour éviter qu’elle ne devienne pénible. Ayant connu le meilleur de Google, cette nouvelle réalité est déprimante »
    [1]: https://ln.hixie.ch/?start=1700627373

    • Le passage « déshumanise les ingénieurs en les traitant comme une marchandise, et réaffecte les gens contre leur gré, d’une manière sans aucun rapport avec leurs compétences » ne concerne pas qu’elle
      Un autre dirigeant a licencié toute l’équipe Python
      Beaucoup d’entre eux étaient des contributeurs clés de Python, ils ont été remplacés par une équipe TypeScript moins bien payée, puis les effectifs ont de nouveau été reconstitués avec une nouvelle équipe dans une région aux salaires encore plus bas
    • Le passage « Sa division a une stratégie de façade, mais je ne pourrais pas la divulguer même si je le voulais. Même après l’avoir entendue l’expliquer pendant des années, je n’ai littéralement jamais réussi à comprendre ce qu’une quelconque partie voulait dire » correspond à ce que j’ai vécu chez Google en interagissant avec des managers intermédiaires seniors, des VP, et parfois même des SVP
      Leur manière de communiquer est incompréhensible : ils disent tout et rien à la fois
      C’est extrêmement déroutant quand une annonce contient simultanément le message d’un changement radical et celui que tout reste pareil
      Ma théorie est que cela ne sert pas à définir une direction ni à expliquer une vision ou des objectifs, mais converge vers quelque chose destiné à impressionner les autres managers et à se positionner socialement
      Cela sert ensuite de matière pour s’attribuer le mérite lors des évaluations de performance
      Un mème dont je me souviens disait : « si tu ne peux pas répondre en 5 secondes à la question de savoir dans quelle équipe tu es, tu es peut-être un Googler »
      Les ingénieurs sont extrêmement brillants, mais le syndrome de l’imposteur est aussi très répandu, et on a l’impression que tout le monde erre dans des directions différentes avec des œillères
      Je ne sais pas comment il faudrait diriger une grande entreprise, mais un bon point de départ serait sans doute d’utiliser un langage clair et descriptif
      Manifestement, même les spécialistes de la traduction du jargon d’entreprise n’arrivent pas à créer une réalité partagée
    • Merci d’avoir partagé ça
      L’une des choses qui me fait le plus peur dans notre industrie, c’est que nous n’ayons peut-être plus jamais une entreprise comme le Google des débuts
      Quand Pichai a pris les commandes, il aurait fallu renommer l’entreprise
      Parce qu’elle était devenue quelque chose d’inconnaissable
      La plupart des gens que l’on rencontre et qui disent avoir travaillé chez Google auront travaillé sous son régime
    • Comme on le dit souvent, les gens rejoignent des entreprises, mais ils partent à cause des managers
    • Ah oui, bien sûr, l’allocation des « ressources »
  • Si des personnes clés de Google quittent maintenant le projet golang après Chrome, il semble assez clair que la direction ne fait pas du bon travail

    • Il peut y avoir d’autres signes montrant que la direction ne fait pas du bon travail, mais il ne faut pas oublier que cette personne part après 19 ans
    • Google mise toutes ses cartes sur l’IA et voit cela comme un combat existentiel
      C’est probablement exact
  • Je ne connais pas très bien la politique interne de Google, mais depuis quelques années, les billets annonçant le départ soudain de personnalités connues semblent assez fréquents
    Qu’y a-t-il derrière cette tendance ?

    • Google est passé de l’exploration à la récolte
      Toutes les frustrations concrètes qui m’ont épuisé chez Google, quand on en remontait à la racine, menaient finalement à cela, et c’est pour cette raison que je suis parti en août
    • C’est de la corruption d’entreprise
      Quand une organisation relativement petite recrute les meilleurs talents, réussit, puis grossit en effectifs, ce modèle n’étant pas scalable, elle finit par décliner
      Une fois à l’échelle de dizaines de milliers de personnes, des imbéciles de « dirigeants professionnels » arrivent, et l’organisation commence d’abord à décliner en moyenne
      Parce qu’il n’existe pas dans le monde suffisamment de dizaines de milliers de personnes vraiment exceptionnelles
      Ensuite, ces imbéciles exercent un impact négatif énorme et l’organisation commence à pourrir
      Quand ils changent la culture dans le mauvais sens, les meilleurs partent, et le niveau moyen des employés baisse encore
      Ce n’est pas une course vers le bas sur les prix, mais sur la qualité des employés
  • Google devrait séparer Go dans une fondation à but non lucratif, lui donner 1 milliard de dollars et le rendre indépendant
    Ils devraient supplier Russ Cox de le diriger comme dictateur bienveillant à vie, et espérer pouvoir réembaucher Ian Lance Taylor