こんにちは。
エンジニアのくるくるです。
最近独学でエンジニアになる人や、未経験からエンジニアになる人が増えてきました。
(ここでいう未経験というのは、エンジニアになる前に、インターンなどでエンジニア業務をしたことがない人や大学時代CSを学んでいない人のことを指します。)
エンジニアになることのハードルは以前に比べれば間違いなく下がってきているのが現状です。
実際、私の周りにも多くの”未経験エンジニア”が誕生しています。
確かにエンジニアになるハードルは年々下がってきており、ネット上で「未経験からエンジニアになりました!」というような記事も多く目につくようになってきました。
エンジニア業界、IT業界は人手不足であり、このように多くの人がエンジニアを目指しているのは非常に嬉しい状態です。
ですが、エンジニアという職業は、エンジニアになってからが勝負です。
エンジニアになるハードルは下がっていますが、エンジニアとなったのちに活躍できるか否かのハードルの位置は全く変わっていません。
すなわち、エンジニアになるのは昔に比べて簡単になりましたが、エンジニアとして活躍する難しさは以前変わっていません。
ですので、未経験エンジニアの多くが、エンジニアになった後に苦しんでいるのが現状と言えます。
(もちろん未経験からエンジニアになったのちにも正しい努力を続けて活躍している人も多くいます。)
エンジニアという職業は、日々の勉強が欠かせません。
技術はどんどん進歩し、そして移り変わっていきます。
常にキャッチアップしていくことが必要です。
ですが、初心者エンジニアがまずやらないといけないのは新しい技術にキャッチアップすることではありません。
もちろん、仕事で必要であればそれはやる必要があります。
しかし、初心者エンジニアから中級者エンジニアになるためにはもっと大事なことがあります。
それが、「他人の書いたコードを読む」ことです。
世の中には色々な勉強方法がありますが、「コードを読む」に勝る勉強方法はありません。
今世の中で活躍している多くの現役エンジニアは、どこかのタイミングで大量にコードを読むということをしてきています。
エンジニアとして中級者、上級者を目指すには、「コードを読む」のは必要不可欠です。
ではなぜ初心者から中級者になるために「他人のコードを大量に読む」必要があるのでしょうか。
その理由は、他人のコードを読むことで、初心者エンジニアに足りていない能力を身に付けることができるからです。
初心者エンジニアは、どうにか動くコードが書ける状態です。
しかし、中級者になるには、コードを書く際にもどのようにクラスを分けるのか、またより効率の良い処理の書き方はどのようにするべきなのかなどを考える必要があります。
初心者エンジニアに足りていない能力はまさにここの部分です。
他の人のコードをじっくり読むことで、なぜここはクラスを別にしたのだろうか、なぜこのような処理の仕方にしているのだろうか、と様々な疑問が浮かんできます。
それを考えながらコードを読むうちに、だんだんその「なぜ」に対する答えが分かってきます。
これは本を読んで勉強したりするだけでは身につかない部分です。
また、他人のコードを読むことで、自分の知らない書き方というのも学ぶことができます。
メソッド1つとっても、自分が普段使わないメソッドが使われているコードを読めば、それを検索することになると思います。
そして、それを今後自分でも使えるようになります。
自分のプログラミングの幅を広げてくれるという意味でも、他人のコードを読む効果はあります。
ただ、だからと言って闇雲に他人のコードを読んでいても意味がありません。
他人のコードを読む際に大事なことは3つあります。
まず1つ目は、できるだけ上質なコードを読むことです。
ここでいう上質なコードというのは、多くの人に使われているようなライブラリなどのコードのことをさします。
もしくは、あなたの尊敬する職場のエンジニアのコードを色々読むというのもOKです。
こちらであればそのコードの意図するところを直接聞くことができるので、むしろ良いかもしれません。
コードを読む際に大事なことの2つ目は、読みながら考えることです。
ただなんとなくコードを読んでいてもそこまで効果はないですが、なぜそう書くのかということを考えながらコードを読むことで、その効果は大きく変わってきます。
自分の知らないことも、ちゃんと調べながら読み解いていくことで、あなたのプログラミング力の血肉となります。
コードを読む際には、考えながら、そして調べながら読んでいくことを心がけるべきです。
コードを読む際に大事なことの3つ目は、大量に読むことです。
最近では機械学習がもてはやされていますが、機械学習よりも「人間の脳」の方が優秀です。
人間の脳は、ものすごい勢いで「学習」することができます。
コードを大量に読めば、あなたの「脳」が「いい具合に」学習をしてくれます。
もちろん、前提としては上質なコードを、しっかり考えながら読む必要があります。
その前提の上で、大量にコードを読むと、びっくりするぐらいあなたのプログラミング力やエンジニアとしての能力が急激に上がります。
最初はなかなかその効果を実感できないかもしれませんが、続けていくととある点で全てが結びつきます。
その点に達したら、急激に伸びを感じられると思います。
その点に達するためには、とにかく「コードを読みまくる」ことが本当に大切になってきます。
初心者からすると「他人のコードを読む」というのは簡単なことではありません。
ですが、「他人のコードを読む」というのは本当に効果があります。
もしあなたが初心者エンジニアを脱して中級者エンジニアを目指すのであれば、ぜひ他人のコードを大量に読んでみてください。