世界一流のエンジニア思考から学ぶ!本当に理解に時間をかけるべきか?
Hello! しっしーです🦁
あなたは、世界一流のエンジニア思考という本を知っていますか?
世界一流のエンジニア思考という本があります。
この本は、著者自身が米マイクロソフトのエンジニアさんで、
彼が、自分ってエンジニアとしてすごいんだぜ!!!
めちゃくちゃ努力しているぜ!!!
俺ってかっこいいだろ!!!
というわけではなく…w w w w
著者が、世界一流であるところの
米マイクロソフトの優秀なエンジニアの人とは?
どういう人なのか?
どんな行動をしていて、
どんな思考で、どんな風にコードを書いているのか?
どういう考え方で、エンジニアとしての仕事をしているのか?
という内容となっています。
本の紹介をしたいわけではないw w w
と…まぁー
せっかくおすすめ本を紹介したので、
この本の中身を紹介するのか?
と思いきや…w w w (数ヶ月前に読んだので、
だいぶ内容を忘れているようなきも…w w w)
なので、この本は、後ほど見返すとして笑
本日僕がお伝えしたいのは、
この世界一流のエンジニアのとある一つの思考法が、
今の自分に必要な思考法なのではないか???
と思い、その一例をもとに、
その思考法の解説と、
みなさんの今の状況に当てはめたとしたら、
本当に必要なのか?
について言及していこうと思います。
また、いろいろな考え方が出てきますので、
是非気になる方は、本を読んで確認してみてください。
僕が、本日お伝えしたいのは下記の一点になります。
それは、『理解に時間をかけることを恐れない!』という思考法です。
理解に時間をかけることを恐れない。
これは、エンジニア初学者にとって、難しい問題だと思っています。
というのも、その時の状況や条件によって、
理解に時間をかけるべきか?
それとも進捗を優先すべきかは変わってくるからです。
僕は、エンジニア学習をしている人であり、
エンジニア初学者を教えるプロではないので、
具体的にどんな状況の人にどのくらいの
理解度が必要なのかはわかりません笑
しかし個人的には、
『徐々に少しづつでも理解に時間を使うことを
習慣化していく必要性を感じます。』
理解に時間を使うとは?
では、具体的に理解に時間を使うとはどういう状態なのか?
本の中で説明されていた内容としては…
(うろ覚えなので、正確でない可能性があります。ご了承ください。)
一流のエンジニアの思考法。
著者自身は、
とにかくスピード!ガンガン!いけいけー!
って感じでスピードを上げてたくさん
コードを書いているのでは??? と思っていたそうです。
しかし、本物のつよつよエンジニアは、
とにかくコンテキスト(文脈や背景)や
前提知識を探ることに時間をかける。
と…記載してありました。
それは、普通に考えれば、
当たり前なのかもしれません。
書いてある内容がわからなければ、
エラーの内容も理解できないし、
コードの内容もわからないし、関連性もわからない。
なので、
・全体的に何をしているのか?
・どのような作りとなっているのか?
・何をしたいのか?
☝️これを深く理解することに時間を使うとおっしゃっていました。
では、これを我々の課題に置き換えて考えてみるとします。
例えば:
・Rails基礎でいうところの、
『実装概要を自分で作成出来る状態』
・Rubyのメソッドやコードが自分である程度書ける状態
・実装に必要な物を自分で検索して模索できる状態(Gemや追加した実装内容など)
・公式やガイドを自分で読んで理解し、実装に落とし込める状態
☝️この辺が出来る状態。
そして、ここに時間を使う状態。
これが、理解に時間をかける状態であると言えると思います。
なんとなくで実装していないか?
これは、自分自身とても反省の多い部分なのですが、
なんとなくで実装してしまっていることが多々ある気がします。
とりあえずこんな感じかな?
という雰囲気が掴めたらエイヤーーー!!!!!
とやってみて…
できないので、またエイヤーーーーー!!!!
と修正して、できたー!!!
☝️みたいな?笑
これだと、どこがダメでどこを直したからよくなった、
また悪くなった。
が、明確でない気がします。
なので、せめてちゃんと実装の概要をまとめ、
理解し、エラー文や訂正内容を
まとめて記載しておく必要があると改めて思います。
本当に理解に時間をかけるべきか???
では…
本当に理解に時間をかけるべきなのか?
というと…
☝️これは、人によって違う気がします。
といいますと…
進捗が遅い…
始めたばかりで右も左もわからない…
どうすればいいのかわからない…
☝️みたいな状況の時には、
『理解』をしろといっている場合ではない…
また、とにかく理解はいいから早く進めろ!
進めれば、自ずと理解も出来てくる!!!
みたいな部分もあると思うからです。
なので、『自分は理解出来ていないから大丈夫だろうか…』
と不安にならずに、
その時の自分の状況に応じて
理解を優先すべきか、スピードを優先すべきかを選択する。
その選択をする選択肢を常に
自分の中に持っておくというのが 大切なのではないでしょうか?
まとめ:
結論。理解もスピードも進捗も全て大事!ドドンッ!!!!
という…
元子もないお話なのですが…
自分の中で、その時やその状況に応じて、
自分で選択をできるように
選択肢を心の中に留めておくことは
大切だなと思うので、
本日は自戒も込めて このお話をさせて頂きました。
バランスって意識していないと、
すぐに崩れてしまう。
定期的に偏った考え方や偏った行動になっていないか、
自分自身で調整し、見極められる目を養っていきたいなと深く思います。
感謝
本日も記事を読んで頂きありがとうございます。 あなたのスタンプやコメントが日々の心の支えとなっています。 いつも素敵なスタンプやコメント本当にありがとうございます🦁
at by しっしー🦁