はじめに
私がエンジニアのアルバイトを退職する際に、先輩から『世界一流エンジニアの思考法』という本をいただきました。
そこから約1年半放置していて、最近いただいたことを思い出したので読んでみました。
読み進めるとエンジニアとして働くうえで重要な考え方を学ぶことができました。
そこで、自分がこの習慣を実践する戒めのつもりで、記事にまとめようと思います。
『世界一流エンジニアの思考法』の概要
『世界一流エンジニアの思考法』 牛尾剛著
著者である牛尾剛氏は、米マイクロソフトの現役エンジニアです。
世界一流エンジニアとは、米マイクロソフトで著者と一緒に働く仲間たちのことです。
世界一流エンジニアが、生産性高く仕事できる思考法や仕事の取り組み方について知ることができる内容となっています。
実践してみたい項目
さて、私が『世界一流エンジニアの思考法』を読んでみて、実践してみたいと感じた世界一流エンジニアの習慣や思考法についてまとめます。
3つのセクションに分けてまとめていきます。
1. 世界一流エンジニアの仕事の取り組み方
エラーの解決やデバッグなどはむやみに手を動かすのではなく、仮説を立てて検証しろ
開発をしていく中でエラーが起こることは避けられません。
エラーが起こった際に私は、とりあえずエラーの内容を調べたあとにすぐに手を動かして修正しようとしてしまいがちでした。
ですが、エラーが起きたら内容を把握し、仮説を立てて検証するほうが効率が良いようです。
また、むやみに手を動かしてエラーが修正されたとしても、根本原因がわかっていないので、学びになりません。
エラー内容を整理し仮説を立てて検証することで、より深い理解に繋がります。
理解は時間がかかるものととらえ、徹底的に理解する習慣をつける
目先の時間だけにとらわれず、理解するまでは時間をかけることで、プロダクトやプログラミング自体の理解ができ、長期的に見て生産性を向上します。
基礎を習得すると、コピペエンジニアや検索エンジニアを卒業できる
基礎を習得することは時間がかかりますが、根本の理解が深まることで応用がきくようになります。
著者もエンジニアとして多くの経験を積んでいましたが、再度一から基礎を学び直し、開発効率が上がることを実感したようです。
記憶力が良いのはしっかり理解をしているから
私は自分が実装した箇所のコードを1ヶ月後ぐらいに確認するとどのような内容だったのか忘れてしまうことが多いです。
ですが、忘れてしまうのは、理解して実装していないからのようです。
自分が行ったことをクリアに説明できるよう時間をかけて言語化することで、時間が経っても、すぐに思い出すことができます。
実装が完了して終わりではなく、「説明できるか」というセルフチェックを入れて理解を高めていくのが良いです。
人に説明するという訓練の手段として、最良の手段はブログや技術記事を書くことです。
最終的には、頭の中で整理できるようになれば、記憶力がさらに良くなります。
自分だけが理解できるようなメモを取るのはNG
第三者が理解できるようにメモを取る癖をつけると人にわかりやすく説明する訓練にもなります。
さらに、人に質問された際にそのままメモを渡すことができるので仕事の効率化にも繋がります。
2. 世界一流エンジニアのマインドセット
より少ない時間で価値を最大化する
いわゆるパレートの法則のような考え方のことです。
(パレートの法則とは、重要な2割の仕事が終われば、全体の8割が完了しているという法則です。)
いかにやることを減らし、重要なことだけをやるかを見極めることが重要です。
これを実行するためには、普段から最も重要なものを1つだけピックアップする癖をつけると良いです。
リスクや間違いを快く受け入れる
検討ばかりするのではなく、検証してミスしたほうが効率的です。
やってみないとわからないことが多いので、検証をすぐに行うと良いです。
そして、早く失敗して方向修正を行うことで効率的に結果を出すことができます。
3. 世界一流エンジニアの生活習慣術
定時上がりが効率が良い
生産性を上げるためには定時上がりが良いようです。
生産性を上げるためには学習が必要であり、仕事を定時で切り上げた後に自分の興味のあるトピックを勉強することで、仕事の効率化にも繋がります。
切りのいいところまでやるのではなく、時間で節目を迎える「タイムボックス制」を採用すると良いです。
毎日30分は運動する
物理的なエネルギー不足にならないように、運動を習慣づけると良いです。
まとめ
実践したいことで記載したものは、あくまで個人的に実践したいと思ったものです。
まずは実践してみて、良さそうであれば続けて、合わなければやめようと思います。
また、この本を読むまでは、仕事の方法が煮詰まってしまった効率的に働きたいシニアエンジニア向けの本なのかと思っていました。
(本をくれた先輩も熟練のエンジニアだったのもあるかもしれません。)
ですが、新人エンジニアでもどのように働けば効率的になるかを早い段階から学ぶことできるので、ぜひ自分のような新人エンジニアに読んで欲しい本だと思います。
最後に、他にも様々な思考法や取り組み方が載っていましたので、気になる方はぜひ読んでみてください。
マイクロソフトのエンジニアの働き方には日本との違いが多く、新たな発見や価値観を得ることができると思います。