世界一流エンジニアの思考法(牛尾剛)
書籍情報
- 著者:牛尾剛(著)
- 発行日:2023-10-23
- ISBN:9784163917689
- URL:https://books.bunshun.jp/ud/book/num/9784163917689
書籍目次
- はじめに
- 第1章 世界一流エンジニアは何が違うのだろう? ――生産性の高さの秘密
- 「生産性の高さ」の違い
- トップエンジニアの衝撃的な解決法
- 頭がよくても「理解」には時間がかかる
- 「理解に時間をかける」を実践する
- 複雑な技術をコントロールできている感覚を得る
- 「感覚」で判断せずファクトを積み重ねる
- 小さなドキュメントをコードの前に書く
- 頭の中に「メンタルモデル」をつくる
- まずエキスパートに頼る
- 「偉大な習慣を身につけたプログラマ」になる
- COLUMN アジャイルとは何か?
- 第2章 アメリカで見つけたマインドセット ――日本にいるときにはきづかなかったこと
- 「Be Lazy」というマインドセット
- いかにやることを減らすか?
- 1. 1つだけピックアップする
- 2. 時間を固定して、できることを最大化する
- 3. 「準備」「持ち帰り」をやめてその場で解決する
- 4. 物理的にやることを減らす
- リスクや間違いを快く受け入れる
- 失敗を受け入れる具体的な実践法
- 1. 「フィードバック」を歓迎するムードをつくる
- 2. 「検討」をやめて「検証」する
- 3. 「早く失敗」できるように考える
- 不確実性を受け入れよう
- バリューストリームマッピングで「見える化」する
- 「思考回路」を形づくる実践
- 1. 「楽に達成できる」計画で仕事をする
- 2. 「無理・断る」練習をする
- 3. 他の文化の視点を学んでみる
- 「結果を出す」から「バリューを出す」へ
- 第3章 脳に余裕を生む情報整理・記憶術 ――ガチで才能のある同僚たちの極意
- コードリーディングのコツは極力コードを読まないこと
- いかに脳みその負荷を減らすか
- 仕事の難易度別で考える
- 「アウトカム」至上主義が上達を阻害する
- マルチタスクは生産性が最低なのでやらない
- 一日4時間は自分だけの時間を確保する
- なぜ同僚達は「記憶力」がいいのだろう
- 「書く」すすめ
- 頭の中のみで整理する
- 理解・記憶・反復という黄金速
- COLUMN 海外のテック企業に就職するには
- 第4章 コミュニケーションの極意 ――伝え方・聞き方・ディスカッション
- 「情報量を減らす」大切さ
- 準備は利く ――伝え方のコツ
- 相手が求めている情報への感度を研ぎ澄ます
- コードを「読み物」として扱う
- ミスコミュニケーションのサイン
- クイックコールのすすめ
- クイックコールされる側もよいことがある
- 気軽に聞ける空気の大切さ
- ディスカッションで鍛えられること
- 意見が対立しても「否定しない」
- 「会話力」を育てよう
- 第5章 生産性を高めるチームビルディング ――「サーバントリーダーシップ」「自己組織型チーム」へ
- 「サーバントリーダーシップ」とは何か
- 自己組織チーム/フィーチャーチーム
- 開発者それぞれが責任を持って設計し実装する
- 開発者それぞれが責任を持って設計し実装する
- 「仕事を楽しんでいるか?」を確認する文化
- ボスの役割はサポートすること
- 納期がなく、マネージャも急かさない
- 自己組織チームをいかに導入するか
- チームの上下関係をなくす
- 失敗に寛容な職場がチャレンジ精神を生む
- 「Be Lazy」を推奨し、休暇を尊重する
- チームにパワーを持たせることの価値
- COLUMN アメリカのキャリアアップ文化
- 第6章 仕事と人生の質を高める生活習慣術 ――「タイムボックス」制から身体づくりまで
- 同僚達のワークライフバランス
- 生産性を上げたければ定時あがりが効率がよい
- 「タイムボックス」制で、学習の時間を確保する
- 「脳の酷使をやめる」三つの工夫
- 違うことをするのがリフレッシュに
- 掃除で「人生をコントロールする感覚」を取り戻す
- 整理の技術
- 物理的なエネルギー不足をどう解消するか
- テストステロンを意識的に増やす
- 第7章 AI時代をどう生き残るか? ―― 変化に即応する力と脱「批判文化」のすすめ
- AIと過去のテクノロジーの違い
- どんな職業ならAIに食われないだろう?
- ChatGPTがやってきたアメリカで起こっていたこと
- AI時代には「専門性」こそが強みになる
- 日米のエンジニアを取り巻く文化の違い
- 「批判」が文化をすべてぶち壊しにする
- コントリビュートと感謝のループ
- 日本再生への道すじ
- 自分の人生は自分でコントロールする
- あとがき
第1章 世界一流エンジニアは何が違うのだろう? ――生産性の高さの秘密
[概論]
- マイクロソフトAzule開発チームの生産性について
- トップエンジニアの問題解決手法(== 仮説駆動)について
- 理解とは何かについて
- デザインドキュメントについて
マイクロソフトのAzule開発チームの生産性
- チーム全体の標準的生産性が高い
- 日本のように「標準」ルールは存在しない
- 全員がコンピュータサイエンスの知識があることが前提なので自分で考え、自分で判断する
- [MEMO]
- 具体的な事例が知りたかったが特に記載は無かった
トップエンジニアの問題解決
- 仮説検証駆動
- いきなり手を動かさない
- 下手に試行錯誤をしない
- 事実(データ)をひとつ見つける → そこから幾つか仮説を立てる → その仮説を証明する為の行動を取る
理解とは何か
- その構造を掴んで、人に説明できること
- いつでもどこでも即座に取り出して使えること
- 知見をふまえて応用できること
デザインドキュメント
- ドキュメントを書くことで自分の頭が整理される、抜け落ちていた視点に気付ける
- 考えている時に書けば自動的に「ドキュメント」になるので、それをシェアするだけで済む
- 後でまとめて退屈なドキュメントを書かなくてもいい
- [MEMO]
- マイクロソフトもデザインドックは設計メモ程度の位置づけ
第2章 アメリカで見つけたマインドセット ――日本にいるときにはきづかなかったこと
[概論]
- Be Lazy(怠惰であれ)という考え方について
- 「優先順位」の考え方に関する日米比較
- 日本的価値観について
- アメリカにおける「リスクを受け入れる」の中身
- 日本の奇妙な慣習について
Be Lazy(怠惰であれ)
- より少ない時間で価値を最大化せよ、という考え方
Be Lazyを達成するための考え方
- 望んでいる結果を達成するために最低限の努力をする
- 不必要なものや付加価値のない仕事(過剰準備)を無くす
- 簡潔さを目指す
- 時間を費やした努力よりアウトプットと生産性に重点におく
- 長時間労働しないように推奨する
- 会議は会議の時間内で効率的かつ生産的に価値を最大化する
「優先順位」の考え方(日本)
- 日本:
- 文字通りの意味で順位を付ける
- 可能なら全部やることが前提
- 欧米:
- 優先度No1のものだけにフォーカス
- 他のものはやらない
日本的価値観
- 日本人は全てやらないといけないと考えがち
- しかし、多くの場合全体の20%の仕事が80%の価値を産んでいる(2-8の法則)
- したがって、無理矢理全部やるよりも価値のある20%に注力すれば十分な成果が生まれる
減らすごとに価値がある
- 日本人はまじめに全部やるのが好き
- 既に決まっている作業を減らすことが苦手
- 業務量が減ればそこに使っていたリソースをより優先度の高いことに使えるようになる
手順
- (1) 1つだけピックアップする
- 1番重要なもののみピックアップする
- 最終的に3つピックアップする場合でも、最初に1つだけピックアップしてから残りを決める
- (2) 時間を固定して、その中でできる事を最大化する
- 稼働時間やタスクに掛ける時間を固定して、その中で価値を最大化する方針を取る
- 全部やろうとすると時間が際限なく溶ける
- 時間に制約をを付けて、その中で最大の成果を出せるようにする
- (3) 準備や持ち帰りを止めて会議の場で解決する
- 会議の準備や持ち帰りの宿題をしない
- 極力会議だけで完結する
- (4) 物理的にやることを減らす
- 優先度の高いタスクはどんどん切り捨てていく
欧米における「リスクを受け入れる」の中身
- 間違いを厳しく批判したり、懲罰したりしない
- 失敗から学ぶ態度
- Fail Fast(早く失敗する)
- 実験が推奨される
- 全員に「現状維持」や「標準」を求めない
- 非難や恐怖感のない環境
- [MEMO]
- 日本の場合はどうなるのだろうか?
- 日本の場合は、「リスクのことは考えるな!」で完全思考停止で突き進みそうな気もする
日本の奇妙な慣習
- プロジェクトが炎上し中身も売上もボロボロなのに、納期・予算を守ったから成功! みたいなことがある
- 日本では組織で失敗すると左遷されたり詰め腹を切らされたりするなど悲惨な目に遭うので、失敗を認めず、取り繕う方向に行く
第4章 コミュニケーションの極意 ――伝え方・聞き方・ディスカッション
[概論]
- 「情報量を減らす」ということについて
- 相手が求めている情報にフォーカスすることについて
- PRでラリーが発生する背景と読みやすいコードについて
- クイックコールのすすめ
- アメリカ式ディスカッション
情報量を減らす
- 日本では情報量が多い方が喜ばれた
- アメリカ(マイクロソフト)では情報量は少なく厳選されたものが喜ばれる(必要なら別途質問するか、調べればよい)
- 情報量が多すぎると脳の負担が大きく、一度に処理しきれない
- 最初から全部説明せず、「情報量を減らす」コミュニケーションが重要
- [MEMO]
- 日本は持ち帰ってリファレンスとなるような資料が喜ばれる
- 貧乏性な国民性故か?
メモは他人に教えることを前提に書く
- T/O
コードは読み物
- 他人にとっての理解のしやすさを優先する
- [MEMO]
- 具体例が欲しかった
クイックコール
- クイックコール = 短い通話
- 通話はテキストによるチャットより情報量が段違いかつフィードバックが早い
クイックコールの注意点
- 相手が労力を要さず回答できるか? という点に配慮が必要
- 相手が回答する為に色々と調べなくてはいけない場合は事前にチャットで参考資料やPRなどのリンクを送った方がよい
- [MEMO]
- これはそう
ディスカッションについて
- 日本のディスカッションのイメージは「対象についてよく分かっている人間同士が意見を戦わせること」
- ディベート的な勝ち負けをはっきりさせるイメージ
- アメリカ(マイクロソフト)のディスカッションは「お互いが持っている意見を交換して知識や考えを深めること」
- 知識の同期というイメージ
- その場でのディスカッションは短時間で知識と理解を深めることができる
- 知識ゼロで参加して超初歩的な質問をしても問題視されない
- どちらが正しいかではなく、知識を深めることが目的
- [MEMO]
- 日本のミーティングは議論は好まれず、「このように決まりました」という決定事項の通達というイメージが強い
合意できないことに合意する
- 「どちらが正しい/間違っている」「意見に賛同する/しない」ではなく「相手のことを理解し、認めること」が重要
- 賛同しないこと自体を認める/承認するという考え方
- [MEMO]
- 日本人は「賛同しない = 敵/裏切り者」という認知になりがち
相手を否定しない
- 「相手を否定しない」「相手のアイデアを否定しない」
- [MEMO]
- 他人の意見をズバッと切り捨てるのは気持ちいいが、それはその人物の自己満足でしかない
- チームで仕事をするのには向いていないだろう
第5章 生産性を高めるチームビルディング ――「サーバントリーダーシップ」「自己組織型チーム」へ
[概論]
- サーバントリーダーシップについて
- 自己組織チームについて
- 仕事は楽しむものというカルチャー
- ボスの役割はサポート
- 日本の仕事観とアメリカの仕事観
- 自己組織チームの導入方法について
第6章 仕事と人生の質を高める生活習慣術 ――「タイムボックス」制から身体づくりまで
[概論]
- ワークライフバランスについて
- タイムボックス制について
- 脳の酷使はやめるべきということについて
- 体力は必要だということ(筋トレ、運動について)
第7章 AI時代をどう生き残るか? ―― 変化に即応する力と脱「批判文化」のすすめ
[概論]
- AIと今後の社会について
- AI時代は専門性が強みになるという考察
- 日本の批判文化に対する批判
- ポジティブフィードバックの重要性
- 日本社会に関する論考
- 自分の人生は自分でコントロールするという啓発