Part2:情報整理
要点
- コードリーディングのコツはコードを読まないこと
- マルチタスクは生産性が低い(それはそう)
- 説明可能な状態にするにはブログを書くことが有効
概要
1. コードリーディングのコツはコードを読まないこと
自分も人が書いたコードを読むことが多々あるが、コードを一目見るだけで頭が痛くなるぐらいコードリーディングは苦手である。
なので、この本の「極力コードは読まないようにして、インターフェイスと構造を理解出来るようにする」という考え方は目からウロコだった。コードリーディングだからコードを読まなければならないと勝手に思っていたが、よくよく考えてみると1からすべてを見ていくのは、確かに疲れるし効率が悪い。
なので、コードを読む際はどういう目的でこのコードは構成されているのか、そして最終的にどの辺りを見ないといけないのかを吟味しながらコードリーディングをしていくことを心がけていく。
2.マルチタスクは生産性が低い
これは割と分かりきっていることというか、正直マルチタスクをしたくてしている人はあまりいないと思う。
仕事上マルチタスクをしなければならないことがあるが、その場合は一旦片方の作業を中断してもう片方の作業を終えてから再び作業を再開するのが良いだろう。ただ、その時にさっきまでやっていた作業のことを忘れてしまうことがあると思うので、あらかじめ取り決めを決めておくべきだろう。
・・・と、ここまで書いてきて何だが、自分はマルチタスクをしなければならない状況になったことがない。どちらかというと、自分でマルチタスクの状況を作っているというかあれもこれも手を出して、結果的にマルチタスクになってしまうことが多い。
もちろん生産性は低いので、自分なりにあらかじめ取り決めを決めて実行し、マルチタスクをしないように心がけていく。
3.説明可能な状態にするにはブログを書くことが有効
この内容は他の書籍か動画などの媒体で同じ意見を聞いたことがある。
確かにこの意見は割と正当性があると考えており、自分は今JavaScriptの配列を使用して色々している。
その際に配列を操作する関数が数多くあるのだが、公式のページっぽい「MDN Web Docs」というサイトを見ても良くわからないことが多い。それとmapやforEachという非常に似ている処理があるのだが、色々なWebサイトを見ても漠然としか理解ができない。
そこで、分からないことやもっと詳しく知りたい概念はどこかにメモをとっておき、休日にブログを書いて整理してアウトプットすることがより効率的に技術を身につけられる手法だと考えた。
なので、自分が考えた全体の流れは次のとおりである。
Part3:心構え(マインドセット)
要点
- リスクや間違いは快く受け入れる(失敗に寛容になる)
- 定時を過ぎてもダラダラ働かない
- 意見が対立しても否定しない(否定されて嬉しい人間はいない)
1. リスクや間違いは快く受け入れる(失敗に寛容になる)
人間は失敗する生き物である。そして、その失敗から何かしらの教訓や改善点を得て改善し、今まで発展をしてきたんだろうと考えている。
『世界一流エンジニアの思考法』では、開発者系のデカいイベントで著者が大分致命的な失敗をして同僚や上司から『そんなに気にするなよ』と言われたという話が印象に残った。
日本ではまずない対応だろう。同じような言葉をかけることはあると思うが、「尻拭いをしないといけないな・・・」等と思ったりして、その内面は決して穏やかではないだろう。
だからといって日本の企業が全体的に悪いという話ではないが、どちらかというと失敗に寛容な職場の方が働くのが楽しいし、成果を出そうとする意欲も上がるだろう。
特にエンジニア系の仕事はよくわからないことのオンパレードかつ、非常に技術の変遷が早いので、失敗に寛容ではない職場だと気が滅入ることになるだろう。
2. 定時を過ぎてもダラダラ働かない
巷でよく言われていると思うが、日本人は基本的に働き過ぎだと思う。
自分も少し前に身をもって知ったが、人間は8時間も働くとすごく疲れてしまう。
この本の著者もアメリカに行ってから2年ほど猛烈に働いていたみたいだが、限界が来て途中で仕事を定時上がりにする手法に切り替えたらしい。定時で切り上げたあとに生産性を上げるための学習を行うことで、エンジニアとしてより成長できたみたいだ。
自分も仕事は定時を過ぎたらなるべく早めに切り上げて、JavaScriptや他の技術についての学習に時間をかけている。
ただ、今のところ効果はそんなにないため、改善が必要である。
3. 意見が対立しても否定しない
基本的に自分の意見が否定されることは気分が悪いだろう。
でも、人の意見を受け取って改善できないと製品を生み出すことはできない。
そうなると、どうすれば良いのか?その答えと言える考えは、
である。
この鉄則を遵守すれば、お互いの意見を尊重することができ、円滑なコミュニケーションが取れるようになるだろう。
この考え方は、個人的に凄く腑に落ちた内容で、自分の周りにも自分の意見だけを押し付けて人の話を聞かない人が存在する。なので、そういう人達は反面教師として取り扱って自分は自分の道を進むことを心がけようと思う。
おわりに
『世界一流エンジニアの思考法』は自分が今まで読んできた思考法の中で特にお気に入りの本であり、自分とは違う世界的なエンジニアがどういう風に働いているのかも知ることができた。エンジニア・プログラマー関連の職に就く人達には特におすすめできる本である。
また、サーバントリーダーについての内容など、まだ読み解けていない箇所があり、もうちょっと成長してから改めて読んでも新たな学びを得られるだろうと考えている。
これからもより生産性の高いエンジニアに成ることを目指して、書籍や動画を参考して検証と改善を行っていく。