はじめに
こんにちは!アイレット株式会社DX事業部の小澤です。
アイレットで新卒入社してから1年が経ちますので、この1年間で受けたコードレビューや指摘事項などについて、特に大事だと感じたものの振り返りをしました。
これから1年目エンジニアとして働くという方に是非参考にしていただきたいです。
ビジネススキル面
・質問や報告が抽象的
何を聞きたいのか、何を伝えたいのかが具体的でなくてわかりづらい報連相をしてしまったことがありました。
特に質問の際は何が聞きたいのかわからないと回答する側も困ってしまうため意図や具体例を含めるなどして聞きたいことをはっきりとさせましょう。
進捗報告の際、わざわざ報告する内容が少ないという時はいまだに抽象的なことを言ってしまうことがあるので、所感でもいいので進捗率などを含めるようにして状況がわかるように気をつけたいところです……
・報告のみでその後どうするか、して欲しいかがわからない
詰まってしまっている時に定時が迫り、焦ってその部分の状況報告をしたのですがその後どうするつもりかを提示できていませんでした。
そのとき私としては引き続き原因を調査するつもりでしたが、詰まっていますという状況報告だけされると助け舟が欲しいのかとも感じられます。
もう少し調査を続けるのか、助けて欲しいのかがわからないと報告を受けた側も何をすればいいのかわからないため、詰まっているときは状況報告にプラスしてその後のアクションを提示しましょう。
コードレビュー
・既存のコードで共通化されている機能を利用すること
私は普段、Claude Codeを活用してコーディングをしているのですが、AI利用の工夫が足りていないこと、AIに頼りすぎていることを実感させられたご指摘でした。
Claude Codeに設計書を渡してコードを書いてもらい、それを私が確認し修正するような形でコーディングをしていたのですが、既存のコードで使われている関数やデコレータを無視してしまっているという問題点がありました。
AIはコード全体をしっかりと読み込ませてかつ既存のものを利用するように言い含めておかないと、単独の機能としてのコードを出力してしまいます。
私の方もシステム全体への理解度が足りず、既存の関数やデコレータの存在を知らなかったため、出力されたコードを確認する際の観点として含められていませんでした。
指摘後は、AIにはシステムの全体を読み込ませた上で既存のコードの機能や書き方を使えるように工夫をし、私も確認時に共通化されたものについて意識すること、システム全体の理解度を高められるようキャッチアップをすることでこの観点をクリアできるように気をつけました。
・似たような処理をする場合は共通化する
上のものともつながりますが、自分でコードを書く際にも共通化を意識できるといいというご指摘を受けました。
私はその時、機能ごとにコードを書く意識が強く、似たような処理を共通化する視点が欠けていました。
似た処理を行うことが決まっているもの、今後似た処理の実装がありそうなものは共通化し、実装も改修も楽にできるように意識していけるといいと思います。
・エラーハンドリングは適切に行う
エラーハンドリングは適切に行い、どこで、なんのエラーが出たのかをログで追えるようしていきましょう。
レビューをしていただいたコードではほとんど同じ部分で重複したエラーログを出力しており、冗長的でわかりづらくなってしまっていました。
特に階層的にエラーを拾っていく場合はエラーの際にどこに飛んでいくか、どう出力されるかを把握して書くことがが大事だと思います。
・処理速度を意識したコードを書く
大量のデータにアクセスする際のクエリについてご指摘を受けました。
専門学校でコードを書いていた時には小規模のシステムを作ったことしかなく、処理の速いコードに対する意識と知識が不足していました。
処理速度を早くする方法はさまざまなものがあるため、大量のデータを扱うときは処理の速い方法を調べつつ知識をつけていくようにしましょう。
最後に
いかがでしたでしょうか。
これから新卒でエンジニアとなる方は是非参考にしていただけたらなと思います。
もちろん、ここで書いた以外にもいろいろ気をつけることがありますし、別の観点から指摘を受けることもあると思います。そういったときはあまり落ち込みすぎず、次に繋げられるように切り替えられればといいと思います。
指摘を受けることで、今まで気づけなかったことも次からは意識していくことができます。自分の成長に繋がるので、言ってもらえることに感謝しながらポジティブに受け止めていきましょう!