世のエンジニアの皆様。日々業務の取り組みお疲れ様です。
都内で三流プログラマーとして働いているやんやんです。
世界一流エンジニアの思考法 を自分の中に落とし込む記事を書いています。
本書の紹介
一流との違い
試行錯誤は悪
分かるようになるまで自分でどうにかする もしくは 質問できるレベルになるまで自分で調べる という形で取り組んできた自分からするとかなり衝撃的だった。
本書では、その試行錯誤の時間は正解を探しているだけで何も新しい知識を学んでいないとなかなかのパンチラインを残している。
何も学んでいない = 次の問題がやってきたときに対処ができないということになるのだろう。
確かにその通りだ。
ログから手当たり次第に試すのではなく、このログがどこでどのように吐かれたのか、依存関係や背景を基に何が原因か考えることができるようになりたい。 ← 凄く難しくないか?
理解に時間をかける
これは日々痛感しているのだが、仕事のできる上司はかなり理解力が高く、コミュニケーションを取ることに対して引け目を感じていた。
本書では、どんなに能力が高い人でも理解に時間がかかることを説明していた。
僕の上司も「今までに〇〇をXXしてきたから」「これはあの時に苦しんだから」と時間なり、それ相応の苦労をしてきたと言っていた。
本書ではビッグテックの現場で出ている体験を基にしているので、世界レベルのエンジニアでも理解することに対して時間がかかるのだろう。
これまでの積み重ねで皆頑張っているんだと何故か共感できた。
- program の基礎をしっかり学ぶ
- exercism を解く
- インフラ周りの知識ちゃんと学ぶ
- ネットワークってなんでつながるの
- 僕ごときのそこら辺にいる若造なんて時間がかかって当たり前なので、気後れせずに頑張りたい所存
小さなドキュメントをコードの前に書く
これは技術レベルに関係なく、すぐ実践できることなので今日から実践していきたい。
今から何を作るのか理解するために小さなドキュメントを書いていく。
- Scope
- Background
- Problem
- Solution
確か、岡田斗司夫も同じようなことを言っていた。
マインドセット
BeLazy
BeLazy = 怠惰 という意味になるが、そのままの意味ではなく、「少ない時間で価値を最大化しなさい」という教えがあった。(プログラマの三大美徳の怠惰と同様の考え方。
これを達成するためが以下のことだと考える。
- やるべきことを絞る
- それ以外はやらない
やるべきことを達成したら、またやるべきことを絞り、、、というサイクルを回して価値を最大化していく。
ビジネスマンである限り、ここで言われていることは目指すべきではあるがそう簡単ではないというのが現実である。
それでも言っていることは正しいと思うので近づけるよう努力したい。
リスクや間違いを受け入れる
これは下記記事の時にいた上層部に届いてほしい。
この当時の会社では案件を頓挫させてしまったが最後、席を追い出される形で最終的に退職することになった。
話を戻す。
成功へ早く近づくために、失敗を受け入れるマインドを持つ必要がある。
- 早く失敗する
- 失敗から学ぶ
まずはやってみて、そこから学んで次へ進んでいくようにしたい。