はじめに
昔から本を読むことは好きなのですが、
読んだ後に「面白かった」「参考になった」という感想しか残らないことが多いです。
得られたものを言語化して自分の中に定着させるため、今回は記事にしてみます。
今回読んだ本
『世界一流エンジニアの思考法』 著者:牛尾 剛
米マイクロソフトの現役ソフトウェアエンジニアの著者が、超巨大クラウドの開発の最前線で学んだ思考法について書いている本です。
前職(中学校教員)の経験が、良くも悪くも自分の考え方を作り上げているので、
良い方向へ成長するきっかけにしたいと思い、この本を読んでみました。
自分の中で良かったと思った部分を、簡単にまとめていきます。
試行錯誤は「悪」である
ログやエラー文を細かく見る癖があまり身についておらず、なんとなく考えられる方法を1つずつ試してしまいます。
- 何が起こっているのか、どこまでは正常な挙動をしているのかを把握する
- 推測して仮説を立てて検証する
上記のステップが大切だと書かれていました。
エンジニアの先輩方からすると当たり前のことなのかもしれませんが、自分はまだこの感覚が薄いです。
「追われているタスクを完遂するために、とりあえず動くようにしよう!」という気持ちになりがちなので、今後似たような不具合が出た時にも対応できるように、今起こっている状況の整理をすることを心がけます。
「理解に時間をかける」を実践する
「技術力がある人は、一瞬ですべてを理解する天才」と思ってしまいがちだけど、
1つひとつの事象に対して、基礎的な部分から徹底的に理解をしてきた積み重ねによるもの。
(著者も本で書いていたのですが)私は「ある程度どんなものかを理解すること」は得意な方だと思います。
しかし、基本的な知識や構造の理解が追いついておらず「なんとなくはわかるけど、根本的な理解はできていない」という状況に陥ることが多いです。
前職のときに、
「わかったことを人に説明できて、初めて理解したということだよ」
なんて偉そうに言っていましたが、その感覚が抜け落ちていたことに反省です。
まずエキスパートに頼る
よく言われる「15分考えてわからなかったら質問する」といった内容です。
(この本では、2時間を区切りとして書かれていました)
自分が一番直さなければいけない部分です。
「聞くのが申し訳ない」「人の時間を奪ってしまう」という感覚が抜けていません。
また、自分の性格上、途中から意地になっている部分あります。
よって、「試せるものはすべて試す。どうにもならなくなって聞く」という方法を取りがちです。
実装済みの部分が複雑であればあるほど、無駄に時間をかけてしまう場合が多いです。
自分の中である程度試したら、見切りをつけて詳しい人に尋ねることを習慣化していきます。
仕事の難易度別で考える
「調べなくても解決できること」を増やすことが大切という考え方。
難しいことができるようになることよりも、自分が簡単にできることを増やす。
L4 自分では無理
L3 スパイクソリューションがあれば何とかなる
L2 調べたら解決できる
L1 何も調べなくても即実装できる
「難しいことをクリアしようと思った時に、簡単にできることの積み重ねが役に立つよね」
という趣旨だと受け取りました。
早く先輩達のように難しいことができるようにならなきゃ、と焦りもありましたが、
まずは自分ができることを地道に増やしていくことが一番の近道だと思って頑張ろうと思います。
マルチタスクは生産性が最低なのでやらない
わかってはいるのですが、日々やりがちです…。
Slackを見たり、ふと思いついたことを調べたり、別タスクのことが気になったり。
最近は意識をして、ある程度まとまった時間は作業に集中して取り組むようにしています。
しかし、1時間(正確に言うと50分)で作業を区切ることに体が慣れてしまっているので、
90分は集中できるように改善していきたいと思います。
大前研一氏は、何かを変えたいときは、「住むところ」「付き合う人」「時間配分」のいずれかを変えるべきで、それ以外は意味がいないという考察をしていた。
昨年、移住して住むところを変えた(必然的に関わる人も変わった)ので、時間に対する意識も変えていきたいです。
「書く」すすめ
「記憶力」についてフォーカスして書かれている部分がありました。
昔から記憶力には自信がないので、改善したいポイントの1つです。
(人の顔と名前を一致しない、道を覚えられない、2択の問題の正答にいつも迷う、など)
学んだ技術について、書いて、情報を整理して、人に説明できる段階までもっていく。
それによって技術を身につけていく。
このプロセスを繰り返していくことが大切ということですね。
今年はアウトプットに力を入れることを目標にしているので、
技術を本当の意味で身につけるためにも、記事投稿を続けていきたいと思います。
まとめ
『世界一流エンジニアの思考法』を読んで、意識していきたい部分についてまとめました。
取り上げた部分以外にも、考え方の参考になる内容がたくさんありました。
興味をもった方はぜひ読んでみてください。
「本を読んで学んだことをまとめる」
という作業を初めてやってみましたが、想像以上に難しい作業でした。
考えたこと、感じたことについて、言語化する作業も継続して練習していきます。