見出し画像

エンジニアの思考法って?

4月から社会人になり、エンジニアとして働く予定ですがエンジニアとして働くうえで何を意識したらいいのか、漠然と不安を感じています。

前回、「相手に伝える」という記事を書いて社会人になるモチベーションが馬鹿みたいに上がったのはいいものの、冷静に考えると

俺ってちゃんと働けんのか?
足引っ張らないかな?

と考えてもしょうがないとは思いつつも不安を感じてしまいます。


では、社会人1年目の土台をしっかり築くときから意識しておいた方がいいことってなんだろうか?

「世界一流エンジニアの思考法(著:牛尾剛)」では、米マイクロソフトのソフトウェアエンジニアの思考法が詳しく書かれています。
その中で、私が特に大事なんじゃないかと思ったことは

・理解に時間をかける
・誰かに説明できるようにする

この2点です。

著者は、頭がいい人(米マイクロソフトのソフトウェアエンジニア)が理解が異様に早いように見えるのは、時間をかけて基礎を積み重ねているからで、既に理解していることに関して頭のメモリにコンテキストが載っているからだと述べています。

私の友達にも東大や京大に行った人が何人かおり、どうやってこんな難しい問題を解いているのか、という質問をしたことがあります。
すると決まって返答は、この部分はあの問題(基礎的な内容)と同じことをしているだけだと。

そう言われれば確かにそうだ。さらに話を聞くと、難しい問題を解き始めたのは高3の夏頃からで、それまでは基礎的なことをずっとやっていたと。

うん。まるっきりこの本に書かれていることと同じだ。

頭のいい人は、
基礎的なことをただの問題として解ける状態にしているのではなく、
なぜそのような解き方をするのか、
抽象的な内容に落とし込んで、その中の具体例として理解している、
だから、応用になっても似た具体例から引っ張ってくる、もしくはそこに紐づけているから理解が早いのだなと。

私も、この話を聞いて勉強法を変えたことによって一年浪人はしましたが、成績を上げていい大学に入れたので効果は実感しています。

ただ、大学に入って意識が薄れていた部分だったので、社会人になるに当たり再度意識し直そうと思いました。


理解に時間をかけることにも繋がるが、
誰かに説明できるようにコーディングしたり、人の話を聞くことで集中力、理解力が上がる。

これについては正直、私は中学生のときからしようしようと意識していましたがどうしても授業は退屈だったので途中でぼーっとしてしまい、理解できずに家に持ち帰るみたいなのが多かったのです。

ただこれができれば、効率が上がるのは間違いないため
「昔出来なかったから向いていないのだ」というマインドをやめて
再度挑戦してみようと思います。

幸いにも、現在スタートアップの会社で働かせていただいており、打ち合わせ、会議に参加する機会を頂けているので早速実践しています。
まあすぐできるわけもなく、全然ダメダメですが笑


私は、個人的に趣味としてプログラミングにはずっと触れていましたが
チームとして働くことは未経験だったので漠然と不安を感じていました。

私のように、エンジニアとして働くことに不安を感じている人やさらに成長したいと思っている人は、一度この本を読んでみてください。

今回、まとめたのは今現在の私が大事だと思ったことであり、これができれば次のステップとして実践したいことがまだまだあります!
(内容盛りだくさんでためになることが多く書かれていました)

ぜひ一緒に実践して、世界一流エンジニアになりましょう!


(メンタルモデルってイマイチ分からなかった
 けど、自分の核となる考え方やイメージなのかなという認識なので
 それを見つけたい!)


この記事が気に入ったらサポートをしてみませんか?