こんにちは。
プロダクト開発部2年目の上坂です。
みなさんはレビューに対してどのような印象を持っていますか?
SEの方なら、プロジェクトで書いた自分のコードをレビュー依頼すると思いますが、依頼するときにどんなことを意識していますか。
僕はいま熟練SEになるために、設計からテストまで、プロジェクトや外部の方のレビュワーとしてたくさんのコードをレビューさせてもらっています。(もちろんSE作業もしています!)
なんで熟練SEにつながるの?って思う方もいるかもしれません。
今回は、レビュワー視点からみたレビューの意義についてお話ししたいと思います。
はじめに
レビューとは
「作成された仕様書やコードなどの成果物を開発者とは別の人が詳細に調べ、仕様や要求を満たす内容になっているか、誤りや不具合が無いか、資源の浪費や不必要な冗長さ、極端な低性能などの問題が無いかなどについて開発者にフィードバックする工程※」を指します
※引用: レビュー(IT用語辞典)
要するに!
要するに、他の人が作ったものを客観的にチェックするので、このチェックの質が成果物の質にも直結する結構重要な役割ということですね!
自分で作ったものを自分で評価するとどうしても主観的要素がまじってしまうため、レビューがいかに重要かがわかりますよね、、、
普通はこのような印象を持つと思います(違う印象持っていたらすみません)。でもこれはあくまで成果物とかプロジェクトに対しての話だと思っています。
つまり見る視点が違えばその意義も変わるということです。
レビュワーとして動けるようになったことで僕は違う意義を実感することになりました。
レビューの意義~レビュワー視点~
レビュー、それは熟練SEになるために必要なことを学べる、成長の場になることです。
①自分の成果物の質が上がる
➁知識の蓄えや整理ができる
①自分の成果物の質が上がる
ここでの”成果物”は自分が書いたコードや設計書、試験項目書などを指します。 簡潔に言うと自分が製造するとき、レビュー依頼する直前に漏れがないかなど、自分の製造物を客観的に見る意識が高まることです。
似た経験
これに似た経験をしています。バイトとイラストです。
- バイト
接客業をやっていましたが、バイトをする前は狭い視野の考えでした。接客業をしたことで、「コミュニケーション」「相手の立場になって考えること」「共同作業(チームワーク)で必要なこと」を学びんだことで、レジの会計時とか外食で「ありがとうございます」とか「ごちそうさまでした」など自然と感謝の念が出るようになりました。
- イラスト
イラストもそうでした。
「絵うまいね!」と友達に褒めてもらうことが多かったのですが、中学までは学校内、市内ぐらいしか交流の場がなかったので「画力が高い」とうぬぼれてました。
でも実際にそのあとSNSを始めたことで、世の中にはもっとうまい人がいること、世間で見たときに普通よりちょっとできるぐらいだったことを見せつけられ、そこで自分の画力、塗りにまだまだ未熟な部分があったことを痛感しました。恥ずかしかったですね。
そのおかげで「何が足りないか」を客観的に知ることができたので画力と塗りを成長させることができました。
要するに
実際に同じ立場に立つことで「大変さ」を実感したり、広いコミュニティーで「自分に足りなかったもの」を客観的に見れたことが理由ですが、これってレビューイ⇇⇉レビュワーも同じことが言えると思います。
レビュワーの立場に立てたからこそ、自分がレビューを出すときにチェック漏れがないかとか、穴(バグ)がないかなど、「客観的に何を見るべきか」細かいところへの気配りの意識が行き届くようになりました。
➁知識の蓄えや整理ができる
要約すると以下の通りです。
- 学んだことをすぐにアウトプットできる
- 違う考え方をインプットできる
たしなみ時間や言語の勉強をしたときに得た知識を整理し、それをレビューで活用できるので、定着が早くなりました。 定着すると、「どこに書くべきか」「この書き方の方がいい」根拠もさっと出し、それを提供できるようになりました。あと冗長なコードの書き方もほとんどなくなりました。
また、自分が思いつかなかった考えや、同じ処理を実現する別の方法を知ることもできるので、インプットの場としても活用できます。
さいごに
いかがだったでしょうか。
1日でも早く熟練SEになれるように、今後もレビュワーの精度をしっかり上げ、プロジェクトを丸々請け負えるように頑張ります。
僕の場合は成長するための手段をレビューで見出すことができましたが、どの方法があうかは実際には人それぞれになります。
皆さんも何かを成長させたいと思ったときは、「どの方法がよいか」「自分にピッタリな方法はどれか」をまずは明確にしてみてください。
お知らせ
ecbeingでは新しい技術要素に触れていきたいエンジニアを募集しています!! careers.ecbeing.tech