#blog
https://martinfowler.com/articles/expert-generalist.html
## 好きなところ
- 1つ ないしは複数の領域の深い知識がある
- 広く、浅くではなく、いわゆる T-Shaped な人
- ただし Expert Generalists はそこに留まることは少なく大抵足がたくさん増えていくけど
- 新しい領域に適応して、学ぶのが早い
- 学びの再現性があるとも言える気がする
- 基礎的で移り変わりが少ない知識を好む
## 感想
以前より、多くのポジションで XXX (e.g. iOS, Java など) エンジニア というようにある特定のツールや言語の専門性でエンジニアを括るのに違和感があった自分としては共感する内容だった。
特にただのジェネラリスト (広く、浅く知識を持ってる) に対してやや批判的で本当に価値のあるジェネラリストというのは少なくとも1つ以上の領域で高い専門性を持ってるという部分に対して「よくぞ言ってくれた」と思わずにはいられない。
(しかも T-shaped は結局学習を続けて、足が2本にも3本にもすぐなってしまうという部分も非常に共感した)
個人的にも LLM などの登場によってコードを書くこと自体のハードルは下がってきていて、後述のまとめにもある「基本知識の重視」の特性は非常に重要度が増しているなとも思った。
ただしスペシャリストを否定するものではなく、むしろジェネラリストを正しく定義することで必要性が強調されたとも言っていい
詳しくは “Expert Generalists still need Specialists” を参照して欲しい
## まとめ by NotebookLM
### エキスパートジェネラリスト:まとめ (5行程度)
「エキスパートジェネラリスト」は、**広範な知識と複数の深い専門スキルを併せ持つ**、現代のソフトウェア開発において極めて価値の高い能力です。このスキルを持つ人々は、新しい技術や領域に素早く適応し、**根本原理を理解し適用する**ことで、専門家と同等の確実性をもって設計上の意思決定を行います。好奇心、協調性、顧客志向などの特性に裏打ちされ、特にLLMなどのAIツールの到来により、その重要性はさらに増しているとされています。Thoughtworksは、この能力を「ファーストクラスのスキル」として採用や育成に活用すべきだと提唱しています。
### エキスパートジェネラリスト:詳細なレポート
#### はじめに:なぜ今、エキスパートジェネラリストなのか?
コンピュータシステムの複雑化が進む中で、業界では深い専門家を重視する傾向が強まっています。しかし、Thoughtworksでは、最も効果的な同僚が、多くの専門分野にまたがる能力を持っていることを発見しました。この能力は「**エキスパートジェネラリスト**」と名付けられ、明示的に認識され始めています。これは、業界が推進する狭い専門化の傾向に逆らい、彼らの能力を「ファーストクラスのスキル」として扱うべきだというThoughtworksの考えに基づいています。特に、LLM(大規模言語モデル)や類似のAIツールの登場により、このスキルの価値はさらに高まるとされています。
「エキスパートジェネラリスト」という言葉には「専門家」という言葉に抵抗を感じる人もいますが、この概念は、単なる知識の深さだけでなく、急速に変化する分野において**素早く学習し、移り変わるツールやトレンドの根底にある根本原理を見抜き、それをどこへ行っても適用できる能力**を指します。ソフトウェアチームの例では、言語、アーキテクチャ、問題領域を横断する開発者は「器用貧乏」に見えるかもしれませんが、表面的な違いの下に繰り返し深く潜ることで、**永続的な原理レベルの熟練度**を培います。このような「ジェネラリスト」であること自体が、洗練された専門知識なのです。
#### エキスパートジェネラリストの主要な特性
エキスパートジェネラリストには、共通して見られるいくつかの重要な特性があります:
- **好奇心(Curiosity)** エキスパートジェネラリストは、非常に強い好奇心を持っています。新しい技術やドメインに直面すると、それについてもっと知り、効果的に使用する方法を発見したいという衝動に駆られます。仕事にすぐに役立つかどうかに関わらず、新しいトピックを探索し、慣れ親しむ時間を喜んで費やします。例えば、Stack Overflowからコードをコピーするだけでなく、その回答を理解し、知識を広げ、それが適切かどうかを確認しようとします。また、より深い答えを引き出すような質問をする技術も持ち合わせています。
- **協調性(Collaborativeness)** 彼らは、出会うすべてのことについて深く学ぶことはできないことを認識しており、より深いスキルを持つ人々と協力することが、新しいドメインで効果的であるために不可欠だと知っています。エキスパートジェネラリストは、自分が知らないことが多くあることを承知しており、助けを求めることを決して恐れません。新しいドメインで一見奇妙な振る舞いに遭遇しても、すぐに批判するのではなく、まずその理由を理解しようとします。多くの場合、そこには何らかの正当な理由が存在するためです。このような謙虚さは、彼らが文脈全体を理解するまで、既存のやり方に異議を唱えないよう促します。異なるアーキテクチャ間で異なるトレードオフが存在する世界にも順応できます。
- **顧客志向(Customer Focus)** 単なる好奇心だけでは、無数の情報に振り回される危険性があります。ここで「顧客志向」が重要になります。エキスパートジェネラリストは、どの未知の技術が顧客にどのように役立つかを常に問いかけます。彼らは、ソフトウェア開発者の目的は、顧客が自分の仕事で「達人」(badass)になるのを助けることであるという考え方を重視します。顧客志向は好奇心を集中させるレンズとなり、顧客と技術者間の情報交換を促進し、他の技術者を顧客の卓越性実現に向けて調整することを可能にします。
- **基本知識の重視(Favor Fundamental Knowledge)** ソフトウェア開発は広大であり、すべてを知ることは不可能です。エキスパートジェネラリストは、プラットフォームの変更によって古くならない**基本的な知識、すなわちパターンや原則**を優先して学びます。このような知識は、時間の経過とともにゆっくりと陳腐化し、新しい環境に移った際にも適用可能です。例えば、リファクタリングの基本的な手法は言語を問わず共通であり、分散システムの核心となるパターンは繰り返し現れます。
- **ジェネラリストとスペシャリストのスキルの融合(Blend of Generalist and Specialist Skills)** エキスパートジェネラリストは、**広範な一般的スキルと、いくつかの深い専門知識**を組み合わせて持っています。これらの深い専門領域は、多くの場合、彼らが取り組んできた製品の必要性から獲得されたものであり、多くの人が困惑するような事柄にも深く掘り下げる好奇心と結びついています。このスキルプロファイルは「T字型人材」として知られていますが、エキスパートジェネラリストは単一の深いスキルだけでなく、深さの異なる複数の深いスキルを持っていることが多いため、この比喩には限界があります。ケント・ベックの「ペンキの滴」や「π字型」、「櫛型」といった他の比喩も提案されましたが、それぞれに課題があります。エキスパートジェネラリストであること自体が、洗練された専門知識と言えます。
- **関連領域への共感(Sympathy for Related Domains)** エキスパートジェネラリストは、新しいソフトウェアスタック、新しいドメイン、あるいは新しい役割といった、慣れない領域にしばしば身を置きます。彼らは、最初から詳細を網羅的に追いかけるのではなく、新しい環境で何が機能するかを**大まかに、しかし鋭敏に察知する感覚**を培います。これにより、以前の経験とは異なっていても、状況に「合った」選択をすることができます。伝説的なレーシングドライバー、ジャッキー・スチュワートが語った「メカニカルシンパシー」(機械への共感)のように、ソフトウェアにおいても、隣接するドメイン(例えば、データベース設計者がユーザーインターフェースに対する共感、UXデザイナーがソフトウェアの制約に対する共感)を持つことが極めて重要です。新しいチームに加わる際も、既存の作業方法に耳を傾け、異なるアプローチを慎重に導入し、なぜ異なる人々が異なる方法で働くのかを理解しようと努めます。
### まとめと今後の展望
Thoughtworksは20年以上にわたり、非公式にこのエキスパートジェネラリストのスキルを培ってきました。しかし、業界全体として、この能力を「名前を付け、評価し、訓練する」ファーストクラスのスキルとして扱う必要があると考えています。これにより、採用基準、キャリアパス、学習プログラムを意図的にこのスキルの育成に向けて形作ることが可能になります。
この考え方は、特定のプログラミング言語(例えばJavaやPython)やツールに関する詳細な知識だけを重視するのではなく、**プログラミングの核心概念やパターン、複雑な作業を小さなテスト可能な部分に分解する能力、そして他のプログラマーやソフトウェアの恩恵を受ける人々との協調性**といった、ツールに依存しない資質を重視しています。経験豊富なPythonプログラマーでも、Javaチームで成功できると期待されるのは、このような基本的な知識と適応能力があるためです。
今後の「エキスパートジェネラリスト」に関する記事では、このスキルの評価方法、育成方法、そして組織にもたらす具体的な利益についてさらに詳しく解説される予定です。