コラム記事
できるエンジニアの条件とは何でしょうか。自分が思うできるエンジニアの要素を簡潔に書けば、この3つになりました。
- 詳しいところまで知っている
- 多くのことを知っている
- プログラミングが早い
詳しいところまで知るには
始めからすべてのことを知っている人はいません。始めは誰しも素人からスタートするものです。現時点では知らなくても悲観することはありません。今からスタートを切ればいいだけの話です。
スタート時点から、詳しいところまで知ろうとするとハードルは高くなります。始めての場合は、先ずは概要だけ知って終わりにしましょう。そして2回目からは、少しだけ掘り下げて理解してみましょう。3回目になれば、2回目よりも更にもう少し深く掘り下げてみましょう。このように、回数を重ねながら、少しづつ深堀りをしていくことで、深く理解できるようになっていくものです。
慣れることも大事です。始めて目にすることは、どうしても、難しく映ってしまうものです。同じ情報に何度も触れることで、脳が次第に慣れていき、難しく感じなくなっていく効果があるように思います。これには時間の経過が必要になりますが致し方ありません。
小学1年生の算数を知ると小学2年生の算数が理解できるようになる。小学2年生の算数を知ると小学3年生の算数が理解できるようになる。・・・これの連続直線上に、高校3年生の数学が理解できるようになるがあります。「難しい」、「分からない」となるのは、一足飛びに難しいことを理解しようとするからだと思います。どこかのギフテッドでもない限り、基礎から少しづつ積み上げて理解していくしかありません。
多くのことを知るには
「こんな細かいことまで知らなくていいんじゃないか。」このような考えが成長にブレーキを掛けることになると思います。知識が豊富な人の話を聞くと「よく、こんなことまで知っているもんだな」と驚くことがあります。特定の分野だけに限定させずに、色々なことを幅広く知ることは大事です。
思考停止にさせる考え方の例です。
- 自分は理系なので、歴史のことは知らなくていい
- 自分は文系なので、物理のことは知らなくていい
- 自分は男性なので、料理のことは知らなくていい
- 自分はエンジニアなので、技術以外のことは知らなくていい ・・・
無理してまで興味を持てとまではいいませんが、食わず嫌いは、実は、もの凄く損をしているのかも分かりません。一見、興味のない分野においても、首を突っ込んでみると、その面白さを発見することがあるものです。
プログラミングが早いとは
なぜ、プログラミングが早くできるのか。その答えはコピーをしているからです。コードを書いていて、この処理、昔どこかでやったことがあるなと思ったら、昔のコードからコピーしてくればいいのです。すべてを一から作らないといけないといったことはありません。
たくさんの経験を積んで、自分の中にストックをたくさん持っておくことです。必要になったら、ストックの中から引っ張り出してきて引用する。これをすることで、コードを書く速さはアップします。ストックをたくさん作るには、たくさんのものを一から作り上げる地道な日々が必要になってきます。
既存のアルゴリズムをゼロから空でゴリゴリ書けるようになっておかなくてはいけないといったことはありません。既存のアルゴリズムであれば、ネットでググればたくさん出てきます。それをコピペして少し体裁を整えてあげればいいだけです。最近ではchatGPTを使えば一瞬でコードを出してくれます。資格勉強でたくさんのアルゴリズムを覚えたとしても、使わなければいずれ忘れるものです。いつでも空でゴリゴリ書くなんてそのそも無理ですし、その必要性もありません。