8月20日、The Pragmatic Engineerが「From Chrome DevTools to AI Engineering, with Addy Osmani」と題した記事を公開した。16歳のとき、地元の図書館でフロッピーディスクを使ってデータをダウンロードしなければならない不便さに端を発し、自らブラウザを自作した少年が、やがてGoogleでChrome DevToolsの開発を主導し、今はAIエンジニアリングの最前線に立つ——そのAddy OsmaniがAIの時代におけるソフトウェアエンジニアのキャリアと働き方の変化について語っている。
"エンジニアだけ"ではいられない時代
Addy OsmaniはGoogleに14年以上在籍し、Chrome DevToolsの開発主導、Core Web Vitalsの推進、そして直近ではAI開発者体験を担当してきた人物だ。あなたがChrome DevToolsを一度でも開いたことがあるなら、彼が主導して作り上げたものを使っている。
インタビューの終盤、Osmaniは今後のエンジニアキャリアへの助言をこう語った。
「エンジニアリングのキャリア(およびプロダクトや他の役割)で次に起きることは、その役割の"アンバンドリング"だ。エンジニアがプロダクト感覚を持ち、プロダクト担当者がエンジニアリング感覚やUX感覚を持つようになる。プロダクト、テクニカルエバンジェリズム、GTM(市場投入戦略)——普段考えない非エンジニアリング領域について考えるべきだ。ただのエンジニアであってはいけない。」
役割の境界が曖昧になるにつれ、純粋な技術スキルだけでは差別化が難しくなるという見立てだ。
AIによる「認知的降伏」のリスク
OsmaniがAI活用で最も強調したのが「cognitive surrender(認知的降伏)」という概念だ。LLMに作業を任せるうちに、自分が取り組んでいる問題への理解や記憶が侵食されていく現象を指す。
対策として彼が勧めるのは、AIが下した主要な判断を必ず自分で理解することだ。かつてはAIの推論プロセスを全文読んでいたが、エージェントが生成するアウトプットの量が膨大になった現在、それは現実的でなくなった。それでも「最も重要な意思決定」は把握しておくべきだとOsmaniは言う。
理想的なAI活用として彼が掲げるのは「相互増幅(mutual amplification)」だ。
- エージェントに判断と学びをログとして記録させ、タスクを通じてエージェント自身を改善させる
- 自分もそのログをレビューし、エージェントの動作から学ぶ
この双方向の学習サイクルを維持することで、人間側の理解が空洞化するのを防ぐという考え方だ。
ソフトウェアエンジニアはなぜ不可欠であり続けるか
「AIがコードを書くなら、エンジニアは不要では?」という問いに対し、Osmaniは「アカウンタビリティ(説明責任)はAIモデルが持てない」という点を根拠に挙げる。
Chromiumプロジェクトを例に取ると、コードベースの各部分にはオーナーシップを持つエンジニアが指定されており、コントリビューションの承認・却下とコードベースの方向性に責任を負う。コードを自分で書いていなくても、責任は人間が負う。「自分は何に対して説明責任を持つか」という問いを軸に据えたマインドセットが、今後多くのエンジニアに採用されるとOsmaniは予測する。
ソフトウェアエンジニアリングの将来については強気の見方をしている。ソフトウェア開発を容易にする技術が登場するたびに、作られるソフトウェアの量は指数関数的に増加してきた。AIについても同様で、ソフトウェアを作る人の総数は大幅に拡大すると見ている。
16歳でブラウザを自作した男がGoogleへ
冒頭で触れたキャリアの出発点をもう少し詳しく紹介する。16歳のとき、地元の図書館でしかインターネットに接続できなかったOsmaniは、複数コネクションでウェブページを並列取得するブラウザを自作した。その後、フロントエンドやJavaScriptの教育コンテンツを無償で公開し続けたことがGoogleの目に留まり、ChromeチームのDevRel兼ビルダーとして採用された。
Googleでエンジニアからエンジニアリングディレクターまで昇進した彼が、そのポジションで最も大きな変化として挙げたのが「会社のトップ目標について週次で説明責任を負うこと」だった。技術的な問題解決とは異なる種類のプレッシャーだという。
また、Googleでの直近2年間の文化変化として、VPやSVPクラスがAIツールを使って週末に個人プロジェクトを作るのが当たり前になったことを挙げた。AIがコーディングを大幅に容易にしたことで、技術的な意思決定層が再び実装に近づいた現象だ。
メモリ管理は今も未解決問題
Chrome DevToolsの文脈で興味深い指摘もある。Osmaniによれば、ほとんどの開発者はメモリ管理を理解していない。理由は、メモリデバッグツールが10年以上進化していないからだという。ランタイムパフォーマンスのデバッグではフレームグラフやディープトレーシングといった改善が加えられてきたが、メモリの問題はいまだ難しい領域として残っている。
詳細はFrom Chrome DevTools to AI Engineering, with Addy Osmaniを参照していただきたい。