未経験スタート、駆け出しエンジニアが最速で経験値を積むためには?

未経験から転職したばかりのエンジニアが、最も早く効率的に経験値を積むにはどうすればいいでしょう?

  • プログラミングの本を読む?
  • 平日の夜や土日でアプリケーションを自作する?

どちらも技術を伸ばす上で重要な事ですが、エンジニアとしての転職を成功させた後であれば、もっと手っ取り早い方法があります。

それが、

開発現場でコードを書いて他のエンジニアからレビューを受ける
→フィードバックをもとにコードを書き直す
→またレビューをしてもらう..

という「レビューサイクル」をできるだけ早く回すということです。

僕がプログラミング未経験から約半年間の現場経験で受託案件のお声がかかるようになったのも、 このサイクルを強く意識していたから、というのが大きいと思っています。

その重要性と、「レビューサイクル」を早く回していくためのポイントについて解説していきます。

レビューサイクルが重要な理由と実践のポイント

理由1. 分からない部分を自分で調べるよりも、指摘してもらった方が圧倒的に速い

エンジニアになりたての人がよくやってしまう過ちの一つが、「分からない部分をひたすら自力で解決しようとすること」です。

もちろん、自分で検索するなどして不明点をクリアしていく能力も重要なのですが、最初の頃はどういうワードで検索すれば良いかすらわからないので、人に聞けば3分で解決する問題に平気で数時間悩んだりするんですよね。

挙げ句の果てに、「あ〜もう終わりだ。やっぱり俺、プログラミングの才能ないわ。」とか言って自己否定に走ります。(僕のNGパターンです笑)

このパターンにはまらないよう、

・15分考えてわからなければレビューを求める

というルールを作り、こまめに自分のコードを確認してもらうようにしたところ、不明点をググりまくってブラウザのタブを100個くらい開くという悲惨な事態は回避できるようになりました。

そして何より、詰まって悩む時間が少なくなったので、一つのタスクを完了するまでの時間が目に見えて短縮されたのです。

理由2. コーディングが早く終わるので、より多くのタスクをこなせる

レビューの頻度を上げて開発タスクをより短い時間で完了させることができると、プラスアルファで別のタスクに取り組むことができます。

RPG的に表現すれば、経験値の取得効率が高まるという事。

そうやって場数を踏めば踏むほど 1つのタスクにかかる所要時間が減り、また別のタスクをこなせるようになって、、という好循環を作っていけます。

目の前のタスクを10分早く終わらせることは、後々の成長曲線に大きな影響を与えます。

そのための有効な手段が「レビューサイクルを高速で回すこと」なんですね。

理由3. レビューされると、記憶にも残りやすい

自分でググって調べたことよりも、誰かに「ここはこうするんだよ」と指摘されたことの方が記憶に残りやすいです。

人から指摘をされると、「ハッ!そういうことか!」っていう感覚になるじゃないですか。

そういう心の動きに紐付いた記憶というのは、 脳の構造上残りやすい&取り出しやすいのです。

(情動記憶というやつ)

なので、レビューを受けるときはこの感覚を大事にしましょう。

その数だけあなたの脳には良質な(実践で使えるレベルの)知識やスキルが溜まっていきます。

また、受けたレビューの中で「これは使える!」と感じたコードや便利なメソッドなどをその場ですぐメモっておくと、後で見返せるのでオススメです。

聞くは一時の恥、聞かぬは一生の恥

初心者が持っている、スズメの涙のような経験だけで解決できる問題は限られています。

コーディングで詰まった時は、素直にわからない部分を可視化して、現場のエンジニアからレビューを受けることが重要です。

でも、自分では納得のいっていないコードを誰かに見てもらうのって、結構勇気のいることなんですよね。

その気持ちはすごくわかります。

「こんなレベルのコードを見せたら怒られるんじゃないか…」

「もっと自分で調べて考えてからレビュー依頼しよう…」

とか思っちゃいますよね。

しかし、レビューをする上司の側から見ると、実情は全く逆です。

彼らは「できるだけ早い段階でコード見せて欲しい」と思っています。

そうした方が、最終的にタスクが早く終わることを上司も分かっているからです。

なので、「これは相手のためでもあるんだ!」という気持ちでどんどんコードレビューを依頼していけばいいと思います。

そこに遠慮は必要ありません。

もし、レビューの度にイヤミを言ってくるような上司しかいない現場であれば、さっさと環境を変える事をオススメします。

ということで今回は以上です!ありがとうございました。