リブセンス17新卒の山下です。未経験エンジニアとして入社して早8ヶ月、毎日ひーひー言いながら修行しています。
本日はLivesenseAdventCalendarの10日目、テーマは「学」ということで、僕が入社してから気づいた「学び」を書いていこうと思います。
自分は普段、Livesenseの中でも転職会議というサービスで開発を行っています。
僕達のチームでは、裁量労働制を取っており、リモートワークも推奨しているので直接の会話よりもチャットやプルリクでのやり取りが多いです。
その為、プルリクでは(僕が新卒というのもあり)丁寧に皆さんコードレビューをしてくださいます。
今日は、そんな僕がプルリクエストで100ものコメントを貰って気づいたことを書いていこうと思います。
新米エンジニアで「プルリク通らないなー」と悩んでいる方や、後輩の指導で悩んでいるベテランエンジニアの方など、読んでコメントいただけるとうれしいです。
普段の開発フロー
僕達のチームでは、コードを書いたらgithubのプルリクエストを利用してコードレビューをしてもらいます。レビュワーは、チーム内のベテランエンジニアや、関連タスクを行っている人に入ってもらい、承認をもらってからマージするというフローをとっています。
経験の浅い自分は、技術的なコメントや設計思想の話、更には英語の文法まで、幅広くコメントを貰います。
比較的コメントをたくさんもらう僕は「経験が浅いから、これだけコメントがつくのは当然。たくさん経験を積んで知識をつけるしかない!」と思っていました。
がむしゃらに知識をつけようと、社内の勉強会には積極的に参加したり、様々なチュートリアルを触ったりをひたすら繰り返していました。
俺めっちゃ成長できてる!...よね???
入社してしばらくが経ち、自分でもできることが増えてきたなと思い始めてきた矢先、ふとプルリクのコメント数を見てみると、なんと昔と変わらない、それどころか増えてるではないかということに気づきました。
実装にも自信がついてきて、プルリクも「すごくきれいに書けた!」と思いながら出しているにもかかわらず、依然コメント数は変わらない、、。
入社して結構コード書いてきたのに、僕はこんなにも成長していないのかと、落ち込むこともありました。
そんな中、落ち込んでいる自分を察してか、チームの先輩が飲みに誘ってくれるようになりました。
「コメント数減らないね。何で減らないんだろうね?」との問いかけに、うまく答えられない僕を見て「自分のプルリクもう一回見直してみな」とのアドバイスをいただきました。
見返してびっくり「何言ってんだこいつ??」
僕は大変素直なので、アドバイス通り今までの僕のプルリクを見返してみることにしました。
見返しながら「入社当初よりは絶対実装力付いたぞႭ(๑ ⁼̴̀ݖ⁼̴́๑)Ⴓグッ」と自分を慰めつつ、なんでこのプルリク出したんだっけ??とプルリクの冒頭のコメントを遡ってみると、書いた本人もびっくりするほどの難解な日本語が並んでいました。
おそらく、プルリクを出した当時は、「自分が受けた説明はみんな知っているだろう」と、レビューイとしての説明の責務を放棄し、理解するのをすべてレビュワーの皆さんに負担してもらっていたんだなと気づきました。
まともな説明ができていない状態でのコードレビューはやり辛いことこの上ないはず。その上で、僕がしっかり論理だてて説明ができるよう誘導するように「なぜこの変更を加えたのですか?」「他の方法は考えましたか?」「この実装に至るまでの説明が抜けていませんか?」と、コメントをしてくださっていました。
僕のプルリクのコメントが減らないの原因は、単に技術力や経験が少ないからではなく、ロジカルシンキング(ライティング)ができていなことにありました。
新卒一年目で最も学ぶべきスキルは?
技術力もエンジニアとしてすごく大事だし、磨くべきスキルであることに変わりはないです。ただ、これらは日々コードを書いて、プロダクトに触れて、先輩方と話していれば嫌でも身につくような気がしています。
それに対して、ロジカルシンキングは、自分から学ぼうとしないと身につきません。
しかもこれらは一朝一夕で身につけられるようなものでもなく、勉強し始めてから身につくまで、かなりの時間がかかります。
また、ロジカルシンキングさえしっかりできていれば、プルリクだけでなく設計や要件定理、バグ修正も効率良く行えることができます。
そうなればエンジニアとしての技術力も、確実に上がるはずです。
なので、僕がこの記事で一番伝えたいことは、新卒エンジニアは技術力よりもロジカルシンキングを意識して学ぶべきだ!といいうことでした。
ということで、来年は「新卒が1年間ロジカルシンキングを学んで変わったこと」 or 「新卒がプルリクで200コメント貰って学んだこと」のどちらかを書いていこうと思います。
長くなりましたが、最後まで読んでくださった方、ありがとうございました!