2 ポイント 投稿者 GN⁺ 2025-05-12 | 1件のコメント | WhatsAppで共有
  • 19年間 Google で働いたのち退職
  • Goプログラミング言語 の開発に長年中核的に貢献
  • Goは広く使われるようになり、主要なプログラミング言語 として定着
  • プロジェクトで コンパイラ、ビルドシステム、ジェネリクス導入 など多様な役割を担当
  • 環境とプロジェクトの変化により、新しい道を探す 決断に至る

Googleを離れるまでの経緯

  • 19年間Googleで働いた後、退職することになった
  • その大半の期間、幸運にもGoプログラミング言語の開発に参加した
  • GoはRob Pike、Ken Thompson、Robert Griesemerが2007年秋に始めた
  • 2008年6月にチームへ加わり、Russ Coxとほぼ同時期に参加した
  • 卓越した人々や興味深いプロジェクトと共に仕事ができたことをとても幸運に感じている

Go言語の成長と期待以上の成果

  • Goはここ数年で 膨大な利用 を獲得した
  • 現在では、すべてのプログラマが必要に応じて選べる「汎用的なプログラミング言語」として定着している
  • 当初は、Goが他の言語や環境に参考となるアイデアを提供するだけでも成果だと考えていた
  • 汎用言語へと成長したことは、初期チームがまったく予想していなかった成果である

Goプロジェクトにおける主な役割と貢献

  • GCCコンパイラにGoフロントエンドを追加することからGoプロジェクトを始めた
  • 当時のGoは、Inferno Cコンパイラをベースにした独自コンパイラを持っていた
  • 異なる2つのコンパイラによって、言語定義の明確さが確保された
  • 内部ビルドシステムやSWIGツールへのGoサポート追加、およびチーム管理の役割も担った
  • Robert Griesemerとともに言語変更提案を策定し、Go 1.18(2022)での ジェネリクス 導入に貢献した

問題解決の進め方と限界

  • 現在および近い将来の明確な問題をすばやく捉え、解決に貢献した
  • しかし、人々がまだ試しておらず自分で直接経験していない問題、たとえばGoモジュールプロキシやGo脆弱性データベースのような 革新的なアイデア への対応は遅かった
  • プロジェクトの成功に対して、自分なりのやり方は全体として有益だったと考えている

変化と別れの決断

  • Google、Go、そしてコンピュータプログラミングを取り巻く環境はいずれも大きく変化した
  • この1年ほど、自分はGoogleのGoプロジェクトにもはや 適していない と感じていた
  • 新しい段階へ進む必要があると認識した

今後の計画とGoへの思い

  • いまもGoに対する 興味と愛着 を持ち続けている
  • どのプログラミング言語も完成したままではなく、環境の変化に合わせて進化が必要である
  • Goのように豊富な標準ライブラリを持つ言語は、とりわけその変化に敏感である
  • しばらく休息を取るが、今後またGoに貢献できることを願っている

1件のコメント

 
GN⁺ 2025-05-12
Hacker Newsの意見
  • 私がGoogleで働いていたとき、Ian Lance Taylorはランダムに割り当てられるコードレビュアーの一人だった。彼はいつも礼儀正しく、断固としていて、しかも情報量の多い人だった。Taylorとそのプロジェクトにはとても良い印象を持っていて、YCが創業者に顧客サポートを直接やるよう勧めるのと似た感覚があった。本当に正直に言うと、彼のイニシャルが自分のコードレビューに現れるだけでワクワクした。golangに注いでくれたすべての努力に感謝する
    • こんな賛辞を受けるなんて本当に素晴らしいことだ。誰かを「礼儀正しい人」として記憶するのが新鮮に感じられる。私自身も人生で本当に大切な教訓を得た。頭がいいとか、10倍エンジニアだという評判より、礼儀正しく、親切で、良い人だと評価されるほうがずっといいということだ
    • Goの「取るに足らない」外部コントリビューターの立場から言うと(6件ほどの提案とPRを出した)、最終的に落ちたり拒否されたものについてさえ同じ評価ができる。礼儀正しく、断固としていて、情報を与えてくれて、好奇心もあった。このプロジェクトへの貢献体験は非常に良く、その大きな部分をIanが占めていた。Goのような大きなプロジェクトでこういう体験を与えるのはすごいことだ
    • 私もGoのコード可読性(Readability)プロセスが本当に好きだった。この過程でずっと良いプログラマになれた。以前GoogleでPythonコードの可読性承認も受けたことがあるが、「この大きな変更(CL)を担当して、プロセスの最後に良くなっていれば通す」というやり方はGoほど有用ではなかった。Go独自のルールを作って適用したことが私には大いに役立った(もちろん夜中に呼び出されて、今回はこのコードだけ早くチェックインして寝たいと思ったこともあったが)
    • 私の経験も似ているが、相手は最後のc++コード可読性変更のときのTitus Wintersだった。彼のコメントの一つに対して意見を言ってみたこともある。なんというか、本当に実力のある人が自分の仕事を認めてくれたというのは素晴らしい感覚だった
  • IanがGoコミュニティ、そしてより広いプログラミングコミュニティにしてくれた貢献は、いくら強調してもし足りない。gccgoだけでなくgold linkerも作り、コンパイラツールチェーンに関するブログもたくさん書き、gccコードベースの膨大な部分を管理していた。そしてたぶん私の知らない貢献もまだたくさんある。Ianとは何度もメールをやり取りする機会があったが、いつも大きな刺激を受けた。Googleで忙しい中でも、私のメールやパッチに対して常に洞察のあるフィードバックをくれた。Goという言語自体には複雑な感情があるが、Ianが抜ければこの言語にも悪影響があると確信している。もともとのGoチームにはBell Labs時代の雰囲気があった — コンピュータを隅々まで理解した少数の人たちが、アセンブラ、リンカ、2つのコンパイラ、言語仕様、ドキュメント生成器、ビルドシステム、膨大な標準ライブラリまで全部作っていた。今はGoogleの重要度が高まるにつれ、やや平板で企業的な感じが強くなった。Ianの辞任メッセージからこうした文化的変化を感じたし、何かきっかけがあったのか気になる。Ianには十分休んでほしいし、その後どんなプロジェクトでも追いかけて見守るつもりだ
    • goのコンパイラツールチェーンがきちんと動くことは、冗長性と機能検証の面で非常に重要だと思う。ところで気になるのは、実際に人や組織がgcc-goを特定用途で使っている例があるのかということだ
  • "Gooogleも変わり、Goも変わり、プログラミング環境全体も変わった。ここ1年で、自分はもうGoogleのGoプロジェクトにふさわしくないことが明らかになった。去るべきだ" この部分は少し驚いた。こういう話は省いたり別の言い方にもできただろうに、あえてこう書いたということは何か本当の理由があるのだと思う
    • ここ数年、Googleから上級エンジニアが多く去っていくのを見てきた。マネージャーからの圧力はものすごく増え、信頼は大幅に減った。L7以上のエンジニアは「十分な影響力」を持つにはAIプロジェクトへ移らなければならない状況だ。圧力が強まるにつれて部署内の争いも激しくなり、単に信頼されているだけでは足りず、必ず関連文書の一番上に名前が載っていなければならなくなった。2023年以前はL7/L8クラスのエンジニアが会社を去る理由はたいてい新しい機会か引退だったが、今では大半が職場環境に疲れて辞めている。本当にひどい
    • 私が言うなら…実質的な土台はすでに情熱あるエンジニアたちが全部築いていた。今のビッグテックはただ金を稼ぎに行く場所でしかなく、長期ビジョンに関心がない。情熱も想像力もなく、暗記だけで入社してPIPや解雇の後に別の大企業を渡り歩く。そんな人たちであふれている。昔のGoogleのようなスタートアップに、もっと良い機会があるかもしれない
    • Sundar Pichaiのようなさほど優秀でもない人物をGoogleのトップに据えた時点で、Googleを単なる収益創出企業に変え、本来の文化を消し去ろうという意図は明らかだった
    • こういう「FAANGで20年働いて去る」記事を見るたびに思うのは、実際にはその間に会社が何十倍にも成長したおかげでとても金持ちになり、今や出社したくなければしなくても済むほどの資産ができたから辞めるのだということだ
    • エンジニアリングや博士級の研究者への敬意が失われ、CEOが利益と売上、商業性にしか執着しなくなった。言われている通り、Sundar Pichaiのビジョンの欠如と、初期Google文化を維持することへの無関心が問題だった
    • 二度目に読んでみると、「Gooogle」のoが一つ多いのは単なる誤字というより、昔のGoogle検索結果ページでoが増えていくページネーションを意図的に示しているのかもしれない
    • 驚くと感じること自体がむしろ不思議だ。GoogleがEmerald Seaの頃に完全に変わったことは元Googlerの間ではすでによく知られた話だ。これほど大きな組織だから、あちこちにまだ良いチームは残っているが、すでに10年以上にわたって停滞と衰退の道を歩んでいる
    • 経営陣が本格的に圧力をかけ始めたのだと思う。今では非技術系のマネージャーが主流だ
    • この10年ずっと同じ話が繰り返されてきた。2010年代後半の大規模採用と2020年代初頭の採用ブームで、突出した人材が希釈されて以降、Googleは一貫して下り坂だ。こうしたエンジニア平均水準の深刻な低下は、報酬や福利厚生、そして決定的には自律性の低下につながっている。官僚主義と政治闘争が蔓延している。10年前に私が辞めた時点ですら、20%プロジェクト時間でGmailのようなサービスを作れるという発想自体がありえなかった。20%ルールもほぼ消え、ひどいPMたちが自分の縄張り争いのために新しいプロジェクトをことごとく潰した。今のGoogleはB級、C級、D級の人材であふれ、完全に回復不能で、IntelやCisco、IBMの後を追っている。少数の優秀な人材が平均的な社員たちの中で徐々に壊れていく姿だ
    • IanはYale出身で、すでに数十億円規模の資産家である可能性が高く、一般の人々に特別な共感を持っているわけではないだろう。FatFIREの目標額に達したから辞めただけだ
  • 2016年にGoogleで働いていたとき、チーム全体でgolangを使っていた。最初のプロジェクトでIanから何度もコード可読性の承認を受けた。ある日、承認と一緒にいくつか補足の依頼があったのに、私が確認しないまま変更を反映してしまった。Ianは再びメッセージを送ってきて、補足するよう知らせてくれた。後になって彼がcore Golang開発者の一人だと知った。そこまでしなくてもよかったのに親切に対応してくれて、本当に印象に残っている。実際の使われ方を直接見て、核心的な問題を見つけるために大きな時間を割いていたことをとても尊敬している
  • Go開発者として、この言語とコミュニティへのあなたの巨大な貢献に深く感謝したい。あなたの仕事のおかげでGoは今のように生産的で楽しい言語になり、私を含む無数のエンジニアがより良いソフトウェアを作るよう刺激を受けた。献身に感謝し、次世代のGo開発者たちのために新しい道を開いてくれたことにお礼を言いたい。今後の歩みを応援している
  • "Gooogleも変わり、Goも変わり、コンピュータプログラミング環境全体も変わった。ここ1年で、自分がもうGoogleのGoプロジェクトに合わないことが明らかになった。去るべきだ" この箇所にはもっと説明があってほしかった。本当に実質的な変化があり、Ianはそれに気づいたように見える
    • たぶんもっとAIっぽくしろと言われたのだろう。「GoコンパイラのエラーにGeminiを追加するか、さもなくば去れ」みたいな要求だったのかもしれない
    • わざわざこれ以上の説明が必要だろうか。すでに対外的によく知られた話だ。反トラスト問題、短期利益だけを追うリーダーシップ、長らく技術リーダーだった会社がMicrosoftやIBMのような凡庸な企業へ変わったこと、もはやトレンドを先導せず流行(AIを含む)を追うだけの会社に成り下がったこと、物議を醸す政府と協力することで「Do no evil」の原則も捨てたこと、耐え難いほどの嘘と懐疑的な雰囲気に疲れ、ストックオプションの満期に合わせて去ったのだ
  • ここでの核心的な問いは、2005年のGoogleのような会社が今でも存在するのかということだ。本当にOpenAIがその役割を果たしているのか、それとも存在しないのか気になる。また、多くのエンジニアが黄金時代として記憶するあの時期が実際にはどれほど続いたのかも疑問だ
    • 私の考えでは、2005年のGoogleは二度と存在しえない。当時は基盤技術が急速に強力になっていて、その時期に創造的に投資した会社は莫大な富を得た。2022年にGoogleへ入社してすぐ辞めたが、新人の目から見ても、黄金時代が終わっただけでなく、その後の時代さえ終わりつつあるのは明らかだった。空気はより良い製品を作ろうというものではなく、ただ「問題を起こさず1〜2%だけ改善しろ」に近かった
    • Googleのような会社はこの時代には存在しない。Bell Labsのように同時代に比肩しうるチーム自体がない
    • 存在しない。新しく作る機会はある。今のこの世代の企業の問題は技術力ではなく文化だ
    • 傍観者の基準では、黄金時代はだいたい2013〜2014年ごろに終わった。テック企業文化に資本主義が行き渡りすぎて、ああした革新と実験精神が再び生まれるのは難しい。今はただ既存の機械に油を差しているだけだ
    • そういう会社はまだない / まだ私たちには見えていない。1兆ドル以上に成長する産業と、検索(Searh)のような必須ツールを提供する企業を予測しているわけだ
    • 今もなおGoogleだ
  • 興味深いのは、ブログには実際ほとんど記事がないことだ。本当に読みたいのは「The 2016 Election」の続編だ
  • 中心人物たちがchromeやgolangプロジェクトから去っているのを見ると、経営陣がうまくやれていないのは明らかだ
    • 他の指標もあるかもしれないが、この人が19年も勤めたあとに辞めるという事実も無視できない
    • AIにすべてを賭けている。これが生き残りを懸けた戦いだと経営陣も分かっている
  • 陰謀論を作りたいわけではないが、今回の件がIan HicksonのGoogle/Flutterチーム離脱と関係しているのか気になる。Hicksonはかなり具体的に指摘していた。根本的な問題は、Sundar Pichaiのビジョンなきリーダーシップと、初期Google文化を維持する意思のなさ、そして無能な中間管理職の拡大だという。たとえばJeanine Banksは戦略があると言っていたが、何年説明を聞いても実際に何を意味しているのか一度も理解できなかった。チームの専門性とまったく関係なく、エンジニアをまるで部品のように入れ替え、フィードバックもまったく受け入れなかった。他の組織は、より政治的に老練なリーダーがBanksをうまくあしらって被害を避ける方法を身につけたと聞いている。最高のGoogleを経験した立場からすると、この新しい現実は惨憺たるものだった
    • エンジニアを非人間的に資源(リソース)としてしか扱わず、チームメンバーの意思に関係なく適性に合わない場所へ配置する。彼女だけではない。他の幹部も中核のPythonチーム全体を解雇し、より低賃金のTypeScriptチームに置き換え、その後さらに賃金の低い地域の新規人材で再補充した
    • 彼女の部門が「戦略」があると言っているのに、実際にはどれだけ説明を聞いても何を意味しているのかまったく分からなかった。これは私の経験とも一致する。Googleの上位中間管理職からVP、ときにはSVPに至るまでのコミュニケーションは圧倒的に理解しづらく、すべてを語っているようで何も語っていない。変化が大きいと言いながら何も変わっていないと強調するようなものだ。私には、方向づけやビジョンや目標のための言葉ではなく、他のマネージャー相手に印象を残すための包装言語に見える。評価で手柄を確保するために使われる。Googleには「5秒以内に自分がどのチームに属しているか答えられなければGooglerだ」という冗談があるほどだ。エンジニアは非常に優秀で(そのせいで偽インポスター症候群も多い)、実際には方向感覚なくそれぞれ別の方向へ進んでいる感じがする。大企業をどう運営すべきかは分からないが、まずは平易な言葉で説明することから始めるべきだろう。こうした企業言語を解釈する人たちでさえ、共通の現実を作るのが難しそうだ
    • 人は会社に入るが、辞めるのは不当な(あるいはひどい)マネージャーのせいだ
    • こういう経験を共有してくれてありがとう。私の業界で最大級の恐れの一つは、初期Googleのような会社を二度と見られないかもしれないことだ。Pichaiが会社の代表になった時点で、もう社名すら変えるべきだった。今では大半の元Google社員はまったく別の組織の下で働いていたことになる
    • やはり、人を「資源」としてしか見ない配置方針だ
    • 私の経験はGoogleではないが、似た規模のアメリカ企業だった。戦略についての話はあまりにもそのまま当てはまる。非効率な中間管理への批判も同じだ。社内ではそうした状況を生み出す政治を指す正式な用語があるが、ここで書けば確実に非難されるので書かない。戦略を持たないという方針、プロジェクト結果も測定しないという方針、職務や責任の概念をなくして「誰もが必要に応じて飛び込むべきだ」という体制だ