2 Punkte von GN⁺ 2025-05-12 | 1 Kommentare | Auf WhatsApp teilen
  • Ian Lance Taylor hat Google nach 19 Jahren verlassen; den Großteil dieser Zeit widmete er der Entwicklung der Programmiersprache Go
  • Go wurde im Herbst 2007 von Rob Pike, Ken Thompson und Robert Griesemer gestartet; Taylor kam im Juni 2008 hinzu, etwa zur gleichen Zeit wie Russ Cox
  • Entgegen den anfänglichen Erwartungen wurde Go mehr als nur ein Experiment mit Ideen und etablierte sich als allgemeine Programmiersprache, die Entwickler je nach Situation wählen
  • Taylor arbeitete an Grundlagen der Sprache und des Ökosystems von Go mit, darunter ein Go-Frontend für GCC, Googles internes Build-System, SWIG-Unterstützung, Teamleitung und Vorschläge zu Generics
  • Da sich Google, Go und die Programmierumgebung verändert haben, kam Taylor zu dem Schluss, dass seine Passung zum Go-Projekt bei Google geringer geworden ist; nach einer Pause hofft er, wieder zu Go beitragen zu können

19 Jahre bei Google und der Einstieg bei Go

  • Ian Lance Taylor verlässt das Unternehmen, nachdem er 19 Jahre lang bei Google gearbeitet hat
  • Den größten Teil seiner Zeit verbrachte er mit der Arbeit an der Programmiersprache Go
  • Go wurde im Herbst 2007 von Rob Pike, Ken Thompson und Robert Griesemer gestartet
  • Taylor stieß im Juni 2008 zum Go-Team, Russ Cox kam etwa zur gleichen Zeit hinzu
  • Er sieht es als Glück an, mit herausragenden Menschen an interessanten Projekten gearbeitet zu haben

Go wird breiter genutzt als erwartet

  • Taylor war überrascht, dass Go über die Jahre deutlich breiter eingesetzt wurde, als er erwartet hatte
  • Go hat inzwischen die Position einer allgemeinen Programmiersprache erreicht, die Entwickler bei Bedarf auswählen können
  • Die anfängliche Erwartung war weniger eine breite Verbreitung von Go selbst, sondern eher ein Beispiel nützlicher Ideen, an dem sich andere Sprachen und Programmierumgebungen orientieren könnten

Arbeit an Compiler und Sprachspezifikation

  • Taylors erste Arbeit an Go bestand darin, dem GCC-Compiler ein Go-Frontend hinzuzufügen
  • Zu diesem Zeitpunkt gab es im Go-Projekt bereits einen bestehenden Compiler auf Basis des Inferno-C-Compilers
  • Durch die Koexistenz der beiden Compiler ließ sich die Sprachdefinition präzisieren
    • Bei jedem unterschiedlichen Verhalten musste die Spezifikation verfeinert und das korrekte Verhalten festgelegt werden

Rollen im Team und Einführung von Generics

  • Taylor übernahm im Go-Team von sich aus die Rolle, das Projekt insgesamt im Blick zu behalten und Bereiche zu finden, in denen Hilfe nötig war
  • In den ersten Jahren fügte er dem internen Build-System von Google und dem SWIG-Tool Go-Unterstützung hinzu
  • Mehrere Jahre lang war er auch Teammanager
  • Seit den frühen Tagen von Go forderten Entwickler Unterstützung für eine Form von Generics oder Typ-Parametrisierung
    • Taylor entwickelte gemeinsam mit Robert Griesemer mehrere Vorschläge für Sprachänderungen
    • Generics wurden mit dem Go-1.18-Release im Jahr 2022 in die Sprache aufgenommen

Einschätzung der eigenen Arbeitsweise

  • Taylor sieht bei seinem Ansatz sowohl Stärken als auch Schwächen
  • Eine Stärke war, dass er schnell erkennen konnte, welche Probleme Menschen aktuell haben oder bald haben würden, und Lösungen anstoßen konnte
  • Umgekehrt hatte er die Einschränkung, Ideen erst spät zu bemerken, deren Bedarf sich noch nicht gezeigt hatte, weil sie noch nicht ausprobiert worden waren
    • Etwa der Go module proxy
    • Etwa die Go vulnerability database

Gründe für den Abschied und Pläne danach

  • Taylor schätzt, dass seine Arbeitsweise insgesamt dazu beigetragen hat, ein erfolgreiches Projekt aufzubauen
  • Doch Google, Go und die Umgebung der Computerprogrammierung haben sich alle verändert
  • Im Verlauf des letzten Jahres sei ihm klar geworden, dass er nicht mehr gut zum Go-Projekt bei Google passe
  • Sein Interesse an Go besteht weiterhin
  • Er betrachtet die Go-Sprache nicht als abgeschlossen
    • Keine Programmiersprache bleibt in einem fertigen Zustand stehen
    • Die Programmierumgebung verändert sich weiter, und Sprachen verschwinden, wenn sie sich nicht weiterentwickeln
    • Eine Sprache mit einer beträchtlichen Standardbibliothek wie Go muss auch ihre Standardbibliothek an neue Anforderungen von Programmierern anpassen
  • Taylor will sich vorerst eine Auszeit nehmen und hofft, künftig wieder zu Go beitragen zu können

1 Kommentare

 
GN⁺ 2025-05-12
Meinungen auf Hacker News
  • Das Ausmaß von Ians Beitrag zur Go-Community und zur Programmier-Community insgesamt lässt sich kaum übertreiben.
    Er hat nicht nur gccgo, sondern auch den gold-Linker entwickelt, umfangreich über Compiler-Toolchains geschrieben und große Bereiche der gcc-Codebasis gepflegt [0].
    Ich habe ein paar Mal E-Mails mit ihm ausgetauscht, und welche Zuständigkeiten und Prioritäten er bei Google auch hatte: Er hat immer geantwortet, Patches geprüft, und sein Feedback war aufschlussreich.
    Zur Sprache Go selbst habe ich gemischte Gefühle, aber Go ohne Ian wird ziemlich sicher schlechter werden.
    Das frühe Go-Team hatte etwas von Bell Labs: Eine kleine Gruppe von Leuten, die Computer durch und durch verstanden, hat Assembler, Linker, zwei Compiler, Sprachspezifikation, Dokumentationsgenerator, Build-System und eine riesige Standardbibliothek gestemmt.
    Inzwischen ist Go für Google immer wichtiger geworden, und mit den Standardpraktiken großer Softwareprojekte scheint eine blassere Unternehmenskultur eingezogen zu sein.
    Ich vermute, diese kulturelle Veränderung ist auch das, worauf Ian in seiner Nachricht anspielt, aber mich würde interessieren, welcher konkrete Wendepunkt ihn zum Gehen bewogen hat.
    Ich hoffe, Ian kann sich gut erholen, und ich möchte verfolgen, an welchem Projekt er als Nächstes arbeitet.
    [0]: https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS

    • Dass die zwei Compiler-Toolchains von Go weiterhin gut funktionieren, ist sehr wichtig – sowohl für Redundanz als auch zur Validierung des Feature-Designs.
      Allerdings frage ich mich, wofür Menschen oder Organisationen gcc-go in der Praxis verwenden.
  • Als ich bei Google arbeitete, war Ian Lance Taylor im Pool der zufällig zugewiesenen Code-Reviewer.
    Er war höflich, bestimmt und vermittelte Informationen sehr gut.
    Das spricht sowohl für Taylor als auch für das Projekt; solche Reviews wirken wie eine Variante des YC-Rats an Gründer, den Kundensupport selbst zu übernehmen.
    Das mag ein oberflächlicher Eindruck sein, aber es war ziemlich aufregend, seine Initialen in meinem Code-Review zu sehen.
    Danke für alles, was er für golang getan hat.

    • Es ist ein wirklich schönes Lob, wenn jemand als höflicher Mensch in Erinnerung bleibt.
      Ich habe die wichtige Lebenslektion gelernt, dass es besser ist, als höflich, freundlich und ein guter Mensch zu gelten, als als klug, 10x-Entwickler oder kompetent.
    • Als externer Beitragender, der für Go nicht besonders wichtig war, habe ich etwa fünf oder sechs Vorschläge und PRs bearbeitet, und selbst bei denen, die am Ende fallen gelassen oder abgelehnt wurden, hatte ich denselben Eindruck.
      Höflich, bestimmt, informativ – und ich würde noch Neugier hinzufügen.
      Die Erfahrung, zu dem Projekt beizutragen, war sehr gut, und Ian hatte einen großen Anteil daran.
      Bei einem großen Projekt wie Go sagt das viel aus.
    • Auch der Prozess für Go-Readability-Approval bei Google war wirklich gut, und dadurch bin ich ein deutlich besserer Programmierer geworden.
      Ich habe bei Google auch Python-Readability gemacht, aber der Ansatz „bring ein riesiges CL mit, und wenn es am Ende des Prozesses gut ist, war’s das“ fühlte sich nicht so nützlich an wie der Go-Prozess.
      Ich bin froh, dass das Go-Team seine eigenen Regeln gemacht hat; mir hat es ebenfalls geholfen.
      Natürlich nicht, wenn ich mitten in der Nacht angerufen wurde und dachte: „Ich muss nur noch diesen Code einchecken und dann wieder schlafen“ ;)
    • Mir ist etwas Ähnliches passiert: Bei meiner letzten C++-Readability-Änderung war Titus Winters der Reviewer.
      Ich habe sogar versucht, einem seiner Kommentare zu widersprechen.
      Es fühlte sich ziemlich großartig an, dass jemand, der wirklich weiß, was er tut, meiner Arbeit seinen Genehmigungsstempel gegeben hat.
    • Ich war 2014–2017 bei Google, und ich meine, Ian habe einmal geteilt, wie er sein Beförderungspaket gestaltet hatte, um anderen zu helfen.
      Wenn ich mich nicht falsch erinnere, war das wirklich beeindruckend.
  • Die Passage „Gooogle [sic] hat sich verändert, Go hat sich verändert, und das gesamte Umfeld der Computerprogrammierung hat sich verändert. Im Laufe des letzten Jahres oder so wurde klar, dass ich nicht mehr gut zu Googles Go-Projekt passe. Jetzt ist es Zeit zu gehen“ ist ziemlich erstaunlich.
    Diese drei Sätze hätte man leicht weglassen oder durch Floskeln ersetzen können; dass er sie ausdrücklich so geschrieben hat, deutet darauf hin, dass hier etwas Gewichtiges dahintersteckt.

    • In den letzten Jahren habe ich viele Senior Engineers bei Google gehen sehen.
      Der Druck aus dem Management ist viel größer geworden, das Vertrauen viel geringer.
      Von vielen L7+ wurde außerdem erwartet, dass sie an KI-bezogenen Themen arbeiten, um „genug Impact“ zu haben.
      Mit dem steigenden Druck nahmen auch die Revierkämpfe unter ihnen zu: Es reichte nicht mehr, ein vertrauenswürdiger Manager zu sein; der eigene Name musste ganz oben in den relevanten Dokumenten stehen, und die Namen von Kollegen durften dort nicht stehen.
      Vor 2023 habe ich fast nur gesehen, dass L7 und L8, mit denen ich arbeitete, Google verließen, weil sie spannende neue Chancen fanden oder in Rente gingen.
      Heute gehen die meisten Menschen auf diesem Level, weil sie Google satthaben.
      Es ist ein Chaos.
    • Die meiste eigentliche Grundlagenarbeit wurde bereits von leidenschaftlichen echten Ingenieuren gelegt.
      Heutige große Tech-Unternehmen sind nur noch Orte, an die Leute gehen, um Geld zu verdienen, und sie interessieren sich nicht unbedingt für eine langfristige Vision.
      Sie sind größtenteils mit Leuten gefüllt, die wenig Leidenschaft für Engineering oder Computer haben und sich widerwillig nach Bootcamp-Art haben drillen lassen.
      Keine Vorstellungskraft, kein Denken außerhalb der Schablone; sie pauken auswendig für den Einstieg, bekommen dann ein PIP oder werden entlassen und wiederholen dasselbe bei einem anderen Großkonzern.
      „TC oder verpiss dich“-Typen.
      Bei einem Startup wie dem Google von gestern hat man vielleicht mehr Glück.
    • Jedes Mal, wenn ich einen Text lese wie „nach 20 Jahren gehe ich jetzt“, lese ich ihn als: „Der Unternehmenswert ist um ein Vielfaches gestiegen, ich bin irrational reich geworden, und jetzt brauche oder will ich keinen Job mehr, bei dem ich auch in 20 Jahren noch zur Arbeit erscheinen muss, wenn ich keine Lust habe.“
    • Als sie den wenig herausragenden Sundar Pichai an die Spitze von Google gesetzt haben, schien klar, dass sie den Ort einfach in ein weiteres Unternehmen zum Geldverdienen verwandeln und die ursprüngliche Kultur zerstören wollten.
    • Der Respekt vor Engineering und Forschung auf PhD-Niveau ist verschwunden.
      Der vom CEO vorgegebene Fokus liegt vollständig auf Profitabilität, Umsatz und Kommerzialisierung.
      Ich glaube, diese Person hat früher schon einmal so etwas geschrieben:
      „Viele der heutigen Probleme von Google entspringen Sundar Pichais fehlender visionärer Führung und seinem offensichtlichen Desinteresse daran, die kulturellen Normen des frühen Google zu bewahren.“
  • 2016 begann ich bei Google in einem Team, das komplett Golang verwendete.
    Als erstes Projekt bauten wir einen neuen Service, und ich bekam mehrmals von Ian eine Lesbarkeitsfreigabe.
    Einmal erhielt ich eine Freigabe mit einer Folgeanfrage, sah sie aber nicht und übernahm die Änderung trotzdem.
    Ian meldete sich erneut und bat mich, die Nacharbeit zu erledigen; damals wusste ich nicht einmal, dass er einer der Kernentwickler von Golang war.
    Er war wirklich großzügig, obwohl er das nicht hätte sein müssen, und diese Sache wird mir wohl immer in Erinnerung bleiben.
    Es ist wirklich beeindruckend, dass er so viel Zeit investiert hat, um zu sehen, wie die Sprache tatsächlich genutzt wird, und die Kernprobleme herauszuarbeiten.

  • Den Absatz „Gooogle hat sich verändert, Go hat sich verändert, und die gesamte Computerprogrammierlandschaft hat sich verändert. Im Lauf des letzten Jahres oder so wurde klar, dass ich nicht mehr gut zu Googles Go-Projekt passe. Jetzt ist es Zeit zu gehen“ würde ich gern ausführlicher hören.
    Es sieht so aus, als habe Ian tatsächliche Veränderungen bemerkt.

    • Vermutlich wurde er aufgefordert, es stärker auf AI zu trimmen.
      Nach dem Motto: „Bauen Sie Gemini in die Fehlermeldungen des Go-Compilers ein, oder gehen Sie.“
    • Gibt es da noch mehr zu erklären? Öffentlich ist das bereits gut dokumentiert.
      Es gibt Kartellrechtsprobleme, eine miserable Führung, die das Unternehmen für kurzfristige Gewinne verkauft, und den klaren Wandel von einem lange Zeit dominierenden Technologieunternehmen zu einer weiteren Microsoft/IBM-Kopie.
      Es ist kein Branchenführer mehr, sondern läuft nur noch Trends hinterher und springt auf Wellen auf, wie beim AI-Hype.
      Es beugt sich Regierungen mit fragwürdiger Geschichte und unterstützt Projekte, die mit dem Tod von Zivilisten in Verbindung stehen könnten.
      „Don’t be evil“ ist da nicht einmal mehr lustig.
      Wahrscheinlich hatte er die ständige Angeberei und die Lügen, die man ihm aufzwingen wollte, völlig satt.
      Der Zeitpunkt des Weggangs könnte auch mit Aktienvergütungen oder dem Verfall von Optionen abgestimmt gewesen sein.
  • Die Meta-Frage hier ist, was heute das Google von 2005 ist.
    Ist es wirklich OpenAI? Gibt es so etwas überhaupt?
    Die noch metaere Frage ist, wie lange der Zustand von Google, an den sich viele Ingenieure als goldene Ära erinnern, tatsächlich angehalten hat.

    • Ich glaube, das Google von 2005 gibt es nicht wieder und kann es auch nicht wieder geben.
      Dieses Unternehmen entstand in einer Zeit, in der die zugrunde liegende Technologie viel mächtiger wurde, und Firmen, die in dieser Phase kreativ in Technologie investierten, wurden unvorstellbar reich.
      Ich kam 2022 zu Google und ging später wieder; selbst aus Sicht eines Neueinsteigers war klar, dass nicht nur die goldene Ära vorbei war, sondern auch die Zeit danach bereits zu Ende ging.
      Die Stimmung war nicht „waghalsige Innovation ist vorbei, aber lasst uns das Produkt so hervorragend wie möglich machen“, sondern „macht nichts kaputt und presst, wenn möglich, noch 1–2 % Verbesserung heraus“.
    • Ich glaube, so etwas existiert nicht.
      Google war, wie Bell Labs, ein Produkt seiner Zeit, und auch Bell Labs hat kein modernes Gegenstück.
    • Es existiert nicht.
      Die Chance, es zu schaffen, gibt es.
      Ich denke, das Problem der Unternehmen dieser Generation ist nicht die Technologie, sondern die Kultur.
    • Aus Beobachtersicht hätte die goldene Ära etwa 2013–2014 enden müssen.
      Die Tech-Kultur ist so sehr von rücksichtslosem Kapitalismus durchdrungen, dass so etwas wohl nie wieder passieren wird.
      Früher hatte man immerhin das Gefühl, dass der Wille zu Innovation und Experimenten vorhanden war.
      Heute geht es nur noch darum, die Maschine zu schmieren.
    • Entweder gibt es es noch nicht, oder wir sehen es nicht.
      Im Grunde versucht man, eine Branche vorherzusagen, die auf über eine Billion Dollar wachsen wird, und ein Unternehmen, das ein so fundamentales und allgegenwärtiges Werkzeug wie die Suche bereitstellen wird.
  • Ich will keine Verschwörungstheorie spinnen, frage mich aber, ob das mit Ian Hicksons Weggang aus dem Google-/Flutter-Team [1] zusammenhängt
    Er hat konkret einige Namen genannt
    „Viele der heutigen Probleme von Google rühren von Sundar Pichais fehlender visionärer Führung und seinem offensichtlichen Desinteresse daran her, die kulturellen Normen des frühen Google zu bewahren. Eines der Symptome ist die Ausbreitung unfähiger mittlerer Managementebenen. Jeanine Banks etwa leitet eine Abteilung, die ziemlich willkürlich Flutter, Dart, Go, Firebase und anderes umfasst. Ihre Abteilung hat nominell eine Strategie, aber ich könnte sie nicht leaken, selbst wenn ich wollte. Obwohl ich sie über Jahre hinweg erklären hörte, konnte ich buchstäblich nie herausfinden, was irgendein Teil davon bedeuten soll. Ihr Verständnis davon, was ihre Teams tun, ist bestenfalls minimal. Sie stellt häufig völlig inkohärente und nicht anwendbare Forderungen. Sie behandelt Engineers entmenschlichend wie Waren und versetzt Leute gegen ihren Willen auf eine Weise, die nichts mit ihren Fähigkeiten zu tun hat. Sie kann konstruktives Feedback überhaupt nicht annehmen. Buchstäblich nicht einmal anerkennen. Ich habe gehört, dass andere Teams Führungskräfte haben, die politisch geschickter sind als ich und gelernt haben, sie zu ‚managen‘: ihr zur richtigen Zeit nur die richtigen Informationen geben, damit sie nicht lästig wird. Aus der Perspektive von jemandem, der das beste Google gesehen hat, ist diese neue Realität deprimierend“
    [1]: https://ln.hixie.ch/?start=1700627373

    • Dass sie „Engineers entmenschlichend wie Waren behandelt und Leute gegen ihren Willen auf eine Weise versetzt, die nichts mit ihren Fähigkeiten zu tun hat“, gilt nicht nur für diese eine Person
      Ein anderer Executive hat das gesamte Python-Team entlassen
      Viele davon waren Python-Core-Contributors; sie wurden durch ein niedriger bezahltes TypeScript-Team ersetzt, das dann wiederum mit einem neuen Team in einer noch niedriger bezahlten Region besetzt wurde
    • Der Teil „Ihre Abteilung hat nominell eine Strategie, aber ich könnte sie nicht leaken, selbst wenn ich wollte. Obwohl ich sie über Jahre hinweg erklären hörte, konnte ich buchstäblich nie herausfinden, was irgendein Teil davon bedeuten soll“ entsprach meiner Erfahrung im Umgang mit oberen Middle Managern bis hin zu VPs und manchmal SVPs bei Google
      Ihre Art zu kommunizieren ist unverständlich; sie sagen alles und zugleich nichts
      Es ist extrem verwirrend, wenn Ankündigungen gleichzeitig dramatische Veränderungen und die Botschaft enthalten, dass alles beim Alten bleibt
      Meine Theorie ist, dass es nicht darum geht, eine Richtung vorzugeben oder eine Vision oder Ziele zu erklären, sondern dass es sich zu etwas entwickelt, das andere Manager beeindrucken und soziale Positionierung betreiben soll
      Es dient als Material, um sich bei Performance Reviews Verdienste anzurechnen
      Ein Meme, an das ich mich erinnere, war: „Wenn du nicht innerhalb von 5 Sekunden sagen kannst, zu welchem Team du gehörst, bist du vielleicht ein Googler“
      Die Engineers sind extrem gut, aber das Impostor-Syndrom ist ebenfalls weit verbreitet, und es fühlt sich an, als würden alle mit verbundenen Augen in jeweils andere Richtungen herumirren
      Ich weiß auch nicht, wie man ein großes Unternehmen führen sollte, aber ein guter Anfang wäre wohl, klare und beschreibende Sprache zu verwenden
      Offenbar schaffen es nicht einmal die Experten für Corporate-Sprech-Übersetzung, eine gemeinsame Realität herzustellen
    • Danke fürs Teilen
      Eine meiner größten Sorgen in Bezug auf unsere Branche ist, dass wir vielleicht nie wieder ein Unternehmen wie das frühe Google haben werden
      Als Pichai das Ruder übernahm, hätte man den Namen des Unternehmens ändern sollen
      Denn es war zu etwas Unkenntlichem geworden
      Die meisten Leute, die man trifft und die sagen, sie hätten bei Google gearbeitet, dürften unter seiner Führung dort gewesen sein
    • Wie man so sagt: Menschen treten Unternehmen bei, aber sie verlassen sie wegen Managern
    • Ach ja, genau, „Ressourcen“ zuweisen
  • Wenn zentrale Google-Leute nach Chrome nun auch das golang-Projekt verlassen, scheint ziemlich klar, dass das Management keinen guten Job macht

    • Es mag auch andere Anzeichen dafür geben, dass das Management keinen guten Job macht, aber man sollte nicht vergessen, dass diese Person nach 19 Jahren geht
    • Google setzt alles auf AI und sieht das als existenziellen Kampf
      Vermutlich stimmt das
  • Ich kenne mich mit Googles interner Politik nicht besonders gut aus, aber seit einigen Jahren scheinen Beiträge und Blogposts, in denen bekannte Personen plötzlich ihren Abschied ankündigen, ziemlich häufig zu sein
    Was steckt hinter diesem Trend?

    • Google hat von Exploration auf Ernte umgeschaltet
      Wenn ich den Ursachen all der konkreten Ärgernisse nachging, die mich bei Google zermürbt haben, landete ich letztlich genau dort, und deshalb bin ich im August gegangen
    • Unternehmensverfall
      Wenn man als relativ kleine Organisation die besten Talente einstellt, Erfolg hat und dann die Zahlen hochfährt, geht es bergab, weil dieses Modell nicht skalierbar ist
      Sobald man bei Zehntausenden Beschäftigten ist, kommen diese Trottel von „professionellen Führungskräften“ herein, und die Organisation wird zunächst im Durchschnitt schlechter
      Denn es gibt auf der Welt nicht genug wirklich herausragende Menschen in der Größenordnung von Zehntausenden
      Danach beginnen die Trottel mit ihrem enorm negativen Einfluss, die Organisation verrotten zu lassen
      Wenn sie die Kultur zum Schlechten verändern, gehen die besten Leute, und das durchschnittliche Niveau der Mitarbeitenden sinkt weiter
      Es entsteht ein Wettlauf nach unten – nicht beim Preis, sondern bei der Qualität der Mitarbeitenden
  • Google sollte Go in eine gemeinnützige Stiftung ausgliedern, ihr 1 Milliarde Dollar geben und sie unabhängig machen
    Sie sollten Russ Cox anflehen, sie als wohlwollender Diktator auf Lebenszeit zu führen, und hoffen, dass sie Ian Lance Taylor wieder einstellen können