チームのために本を読むという考え方
私はWebエンジニアになってついに10年目。学生のころは『リーダブルコード』や『Webを支える技術』を読み、最近は『エリック・エヴァンスのドメイン駆動設計』や『エンジニアリングマネージャーのしごと』を読んでいます。
とはいえ、10年になってくると本から得られる新しい知識は少なくなります。マネージャーも4年くらいやっているので、『エンジニアリングマネージャーのしごと』から得られる知識も多くはありません。
エンジニア5年目くらいから、新しい本を読む機会が減りました。読んでも得られる新しい知識が減ってきたからです。
しかし、最近考え方が変わり、また本を読み始めています。最近本を読む理由は大きく以下の2つです
- いい本だったら後輩やメンバーに勧めるため
- チームやプロダクトで共通の認識を構築するため
いい本だったら後輩やメンバーに勧める
例えば、『エリック・エヴァンスのドメイン駆動設計』は有名な本ですが、手放しに進める事はできないと私は思っています。内容が難しいく、本に出てくる概念をちゃんと理解しないと読みづらいです。
一方で、『リーダブルコード』はジュニアのエンジニアであればとりあえず進める事ができます。自分もリーダブルコードを読んでいるので、この本を誰に進めたらいいかは明確です。
このように、適切な人に適切に本を勧めるために自分は本を読みます。特に良書と呼ばれる本を中心に、どういう人に勧められるかを把握するために読みます。
チームやプロダクトで共通の認識を構築するため
チームやプロダクトで共通の目標を持って開発を進めることは重要です。例えば「このプロダクトはドメイン駆動設計で開発を進めていきましょう」という方針を立てて、皆でやっていくとします。
この時に「ドメイン駆動設計」の定義だったり考え方については、チーム内で統一しておく必要があります。
そこで『エリック・エヴァンスのドメイン駆動設計』を皆で読んで、この定義をベースに進めていくようにしましょう、とするとある程度明確になります。
『エリック・エヴァンスのドメイン駆動設計』が難しすぎる場合は、この本の内容を噛み砕いて開発ルール化したドキュメントを作成したうえで、「このルールは『エリック・エヴァンスのドメイン駆動設計』がベースになっている」旨を書いておきます。
本には知識が体系的にまとめられているので、このような使い方が非常に便利ですし、チームメンバーも、意図がわからなくなった本を読めば良くなります。また、リーダーが勝手に考えたルールではなく、本がベースになっているため、納得度も高くなると思います。
まとめ
最近はエンジニアリングマネージャーとして、(自分の知識になるというのはもちろん、追加で) 以下の2つの観点で本を読んでいるという話でした。
- いい本だったら後輩やメンバーに勧めるため
- 人材育成の視点
- チームやプロダクトで共通の認識を構築するためのベースになる本を見つけるため
- プロダクトマネージャーの視点