知識を蓄えるための読書はやめなさい。問題を解決するための読書を始めなさい。
ほとんどのエンジニアリングの読書リストは、知識を集めることに重点を置いています。
現代のエンジニアリングが報いてくれるものは、たった一つです。それは「ボトルネックの解消」です。
最近、あるジュニアエンジニアがエンジニア向けのベストセラー10選を見せてくれました。それは10年前のリストと何も変わらないものでした。相変わらず、古くからの古典やプロセスに関する本ばかりでした。
その前提は間違っています。本を読むだけで、自動的に優れたエンジニアになれるわけではありません。
パフォーマンスの高いチームは、本を中心に学習計画を立てることはしません。彼らが計画の軸にするのは「制約(constraints)」です。
標準的な読書リストは、すべての知識が等しく価値を持つと仮定しています。しかし現実には、エンジニアリングの価値は、置かれている具体的な状況によって決まります。
- データベースの問題に直面しているバックエンドエンジニアに、アジャイルの本は必要ありません。
- AIコストに悩むチームに、一般的なソフトウェアの本は必要ありません。
- レイテンシの問題を抱えるスタートアップに、リーダーシップのフレームワークは必要ありません。
彼らに必要なのは、目の前にある特定のボトルネックに対する解決策です。
エンジニアリングにおいて価値があるのは、網羅性ではなく関連性です。
データベースやネットワークといった基礎は、今でも重要です。しかし、それだけでは不十分です。現代のシステムは、AIの推論コストのような新たな課題をもたらしています。
何十年もの間、エンジニアは決定論的な(deterministic)システムを扱ってきました。同じ入力に対しては、常に同じ出力が得られていました。
今日、多くのシステムは確率論的(probabilistic)になっています。AIへのプロンプトは、毎回異なる回答を返すかもしれません。モデルをアップグレードしただけで、コードを一切触っていないのにアプリの挙動が変わってしまうこともあります。
新たな問いが、あなたの業務を動かします:
- 品質をどのように評価するか?
- 予測不可能なコンポーネントをどのように管理するか?
最も優れたエンジニアは、本を読み終えるためではなく、「メカニズム」を理解するために読みます。彼らはボトルネックを見つけ、それを解決するために必要な特定のロジックを学びます。
- レイテンシが高いなら、バッチ処理(batching)を学ぶ。
- コンテキストが失われるなら、検索(retrieval)を学ぶ。
- AIエージェントが失敗するなら、評価(evaluation)を学ぶ。
これにより、学習がプロダクションの結果へと直結します。あなたの知識は、即座にレバレッジとして機能するようになります。
次の学習ループを活用してください:
- ボトルネックを特定する。
- それを解決するための具体的なリソースを見つける。
- システムに適用する。
次の本を読み始める前に、自分自身に一つの問いを投げかけてみてください: 「今、自分のシステムにおける最大の制約は何だろうか?」
それはレイテンシ、コスト、信頼性、それともオブザーバビリティでしょうか?
その問題に直接アプローチできるリソースを見つけてください。最も人気のある本を選ぶのではなく、あなたの制約を解決してくれる本を選んでください。
エンジニアリングは読書競争ではありません。それは制約を解決するための専門職です。次に何を学ぶかは、自身のシステムに委ねましょう。
学習コミュニティ(任意): https://t.me/GyaanSetuAi