【TODOリスト付き】書籍レビュー「世界一流エンジニアの思考法」

# 1. 経緯
　私は現在中小企業のソフトウェアエンジニアとして働いています。主に受託開発がメインとなっていますが、自分自身が作業者としてのみならず、チームのリーダーを任されるようになってきたことで、「**エンジニアとしての働きやすさ**」を実現するためには何が必要なのか、何を改善すればいいのかということを最近考えるようになりました。

 　そんな中、昨年発売された「**牛尾剛氏著**」、「**世界一流エンジニアの思考法**」という書籍を読み、現在の自分自身、そしてチームに取り入れるべきマインドセットというものが数多く存在することに気づかされました。今回は私が特に重要だと考えた点を抽出して同じような思いをお持ちの方に共有させていただきたいと思います。
# 2. 書籍
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375287/c1ac2e92-1cd2-6366-c664-ede5bf0a4701.png)

:::note warn
本記事では、私なりに本書の内容を要約したものになりますので、章ごとに細かく内容を記述してはいません。またあくまで私個人が感じたことになりますので、その点もご配慮いただければと思います。
:::

# 3. 内容
## 3-1. 本書で言いたいこと
　まずはじめに本書で言いたいことを私なりに纏めると、「**生産性の高いエンジニアになるためには小手先のスキルを身に着けるのではなく、持続可能なマインドセットを身に着けることが大切である**」ということです。
 　本書では、とにかく「**無理がなく持続可能であること**」を「生産性を高めるために行う行動」の肝としているように感じました。それは本書で以下のような考えが多く登場するからです。

+ サポートと承認でチームは前に進む
+ 時間を減らす、時間を区切ることで生産性を向上させる
+ 健康的な身体で活力を生み出す
+ 仕事を楽める環境で満足度を向上させる

　このような考えのもと、どのようにして生産性の高いエンジニアになっていくのかについての具体的な行動が記されていたので、かいつまんでご紹介します。
## 3-2. サポートと承認
　まず私が気になったのが、チームを生産的なものにしていくために必要な考え方として「サポート」と「承認」が必要だという点です。
### 3-2-1. サポート
サポートについては、主に「リーダー」がどうあるべきかという観点での話になりますが、本書では「**日本的なリーダーシップ**」と「**欧米を中心とした今流行りのリーダーシップ**」の2点を比較しています。
| リーダーシップ | 考え方 | チームへの効果 |
|:-:|:-:|:-:|
| コマンドアンド<br>コントロール  |リーダーはメンバーに指示を与え、管理する |・意思決定までの時間がかかる<br>・指示待ちの受動的なチーム<br>・最適な解決策を出しにくい　|
| サーバント<br>リーダーシップ  | リーダーはメンバーの自主的な行動を妨げる障害を取り除く  |　・意思決定までの時間が短い<br>・仕事への満足度が高い<br>・最適解が出しやすい|

　サーバントリーダーシップとは、「リーダー」の役割を「管理」に重きを置くのではなく、「サポート」に重きを置くリーダーシップを指します。これにより、チームメンバーは指示を受けて考え行動するのではなく、自分から考えて行動し、プロとして行った仕事に責任を持つというチームが形成されていくという効果が期待できます。リーダーはあくまでチームメンバーの障害を取り除くサポーターとなります。
### 3-2-2. 承認
「承認」については、主に「コミュニケーション」について述べられている章になりますが、とにかく「**受け入れること**」をチームの文化として大切にすることが生産的なチームを育てることにつながるということになります。
+ 失敗に寛容になる
+ 意思決定権を各チームに大きく与える
+ クイックコールに応える
+ 相手の意見を否定せず受け入れる
+ 質問しやすい雰囲気を作る

　纏めると、**「サポート」と「承認」がチームに根付くと、メンバー一人一人のチャレンジ精神が向上し、全員が考え行動する主体的なチームが出来上がっていく**のではないかと思いました。

:::note info
「サポート」と「承認」に関するTODO案
- [ ] 相手の意見に対し、「良い意見をありがとう」と最初に挟むようにする
- [ ] 「失敗をたくさん積み重ねて学びを増やそう」を口癖にする
:::
## 3-3. 時間を減らす、区切る
　「**生産的＝以下に少ない時間で大きな成果を出すか**」というのが最も一般的なイメージだと思いますが、本書ではその点について「**時間を減らすこと**」と「**時間を区切ること**」の2つの観点で具体的な行動に起こすべきことが紹介されています。
### 3-3-1. 時間を減らす
　「**時間を減らす」＝「定時内で終わらせる**」 ということになります。私もそうですが、可能なかぎりできるところまで仕事を進め、残った時間を自分の時間や睡眠時間に割くという考え方が多いのが日本だそうです。
 　しかし、このようなやり方で問題を解決できたとしても、その方法は持続可能ではなく、いつかチームが疲弊して破綻することにつながりかねないことを強調しています。
  **「残業ありき」で考えるのではなく、「時間内で出来ることは限られている」ということを前提に、定時内で終わる作業量にする**ことが大切ということですね。

  「時間を減らす」という観点での具体的な行動は以下のような行動です。
  
+ 無理なら無理と言えるチームにする
+ QCDS(品質、コスト、納期、スコープ）のうち、納期を固定して作業量を減らす
+ 定時で切り上げることが翌日以降の高パフォーマンスを生むと割り切る

### 3-3-2. 時間を区切る
　「**時間を区切る」＝「シングルタスクに集中する**」ということになります。本書ではマイクロソフトで働くトップエンジニアの方の実例がいくつも紹介されていますが、どんなに優秀な人でも、どんなに忙しい人でも必ず時間を区切り、決められた時間内でシングルタスクに集中するようにしているそうです。
 　これには、**そもそも人間は一つのことに集中していられる時間は最大でも4時間である**ということも影響しているそうですが、世界のトップエンジニアの方たちはそのことを十分に理解して生産性を高める工夫をしているのだと思います。これは最もすぐに取り入れられる行動だと思いました。
+ 一日のうち最も重要なタスクに4時間を割り当てる
+ それ以外のタスクには基本的に1時間ずつ時間を割り当て、その時間内で出来るところまでやる
+ チャットなどの連絡系タスクは必ずそれだけに対応する纏まった時間を確保する

:::note info
時間に関するTODO案
- [ ] QCDSのうち、スコープを減らすスケジューリング、お客様折衝を実践する
- [ ] その日のうち最も重要なタスクに4時間のシングルタスク時間を設けるようにチームでルール化する
- [ ] チャット連絡などのインタラクティブ系タスクは必ずそれだけを行う纏まった時間を作る

:::
## 3-4. 健康的な身体
　「**仕事の活力を生み出す根源」＝「健康的な身体**」であると本書で述べられている通り、人間である以上、この点は絶対に大切にしたいところです。健康的な身体を維持するための具体的な方法はいくつかあると思いますが、本書の著者である「牛尾剛氏」が実践されているのが、「**十分な睡眠時間の確保**」と「**運動の週間の維持**」であります。この2点を必ず実践するために定時に仕事を終えるということも徹底されているそうです。
 　私も仕事が残っていることへの不安もありますが、「**持続可能性**」という視点から割り切って健康的な身体を保つ週間を取り入れてみようと思います。

:::note info
健康的な身体の維持のためのTODO案
- [ ]  HIIT（10分）を週に2～3回実践してみる
- [ ]  毎日最低6時間の睡眠時間を確保する（帰宅が遅くなった場合でも普段の時間になるべく合わせる）
- [ ]  週に数回は自炊、弁当持参の日を設ける
:::
## 3-5. 仕事を楽しむ
　「仕事が楽しくなる」＝「主体性の向上」＝「満足度の向上」＝「仕事が長続きする」という流れをチームに作りだすこと、ひいてはそれを文化にしてしまうこと、これも大切だと述べられています。欧米では、マネージャークラスの社員が頻繁に社員に対して、「**仕事をプロとして楽しんでいるか**」という点に気を配るようです。たしかに、自分の仕事が楽しいと、「責任感を持ってやろう」と思いますし、「もっとこうした方がいいのではないか」といったアイデアも生まれてくるという経験が私にもあります。
　コマンドアンドコントロール型のチームでは決して形成されない文化だとも思いましたので、この「仕事を楽しんでいることを重視する文化」にすることが最もハードルが高いとも感じられます。
 　しかし、小さいところから出来ることもありますので、少しずつそのような文化になるように具体的な行動を実践してみようと思います。

:::note info
仕事を楽しめるようなチーム作りのためのTODO案
- [ ] 定期的にメンバーと「やりたいこと」を話し合う場を設ける
- [ ] 一人一人に「楽しんでますか？」と定期的に投げかけるようにする
- [ ] 相手の意見をまずは受け入れるようにする
:::
# 4. まとめ
　本書の内容から、「**生産性を高めるため**」に行うべき「**無理なく持続可能なこと**」という点に関して、私が特に重要だと考えた点を図にまとめます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375287/b38d2948-6d59-53cb-c3c0-ce0952d01cc8.png)