新人にとってプルリクを出すことは怖い
「怖いなあ。何言われるんだろう」
まだ僕がエンジニアとして働き始めた頃。上司にコードレビューを頼む瞬間は本当に本当に恐怖でした。
せっかく開発が終わっても「先輩に何言われるんだろう…」と思ってしまい、エンジニアリングが全然楽しくなかったのです。
それから一年半ちょっと、僕は今まで4社でエンジニアインターンを経験して、色々な人にコードレビューをしてもらいました。
結果、今では「開発終わった!早く先輩に見て欲しいな!」とワクワクしながらプルリクを見てもらっています。
でも、僕の周りの新人エンジニアたちも多くは上司のレビューが怖いと言っています。
本来楽しいはずのエンジニアリングなのに、怖いと思ってしまうのは勿体無い。
この記事では「新人エンジニアがプルリクをワクワクに変えるためどうすればいいか」を僕の個人的意見を踏まえてお話ししていこうと思います。
この記事の対象
- レビューされるの嫌だな、となんとなくでも思ってる新人エンジニア
- レビュワー向けの「正しいレビューのやり方」系の記事ではありません。
そもそもなぜ、プルリクが「怖い」と思ってしまうのか
一気に色々コメントされて怖い
一個のプルリクに対してコメントが何十個とか付いてたら、新人エンジニアとしては「うわこんなに直さなきゃいけないのか…」と思ってしまいます。
それを直してまた見てもらって、またそれに何個もコメントが付いて…というループになってしまうケース。
単純に口調が怖い
「ここはこうじゃないよ。前も言ったよね?」
「これじゃ動かないじゃん。ちゃんと確認した?」
みたいなコメントをもらうと、普通に怖い。先輩がイライラしてるのが伝わってくるし、文字だとさらに冷たく感じてしまう。
レビューする側だってストレスでしょ!
こういう現象を防ぐために、「レビュワーが気をつけるべきこと」のような記事はたくさんあります。
でも、僕はこういう現象はレビュワーだけじゃなくて、僕たち新人エンジニアも減らす努力をしなくちゃいけないと思っていて。
先輩たちだって自分の仕事がある中で時間を割いて新人のためにレビューしてくれてるわけだし、さあレビューしようと思ってプルリクを見たら「え?全然違うことやってるんだけど…」って思ったらイライラしてしまうのも仕方ない気がします。だって人間だもの。
新人エンジニアがすべき努力
プルリクを出す前の段階で、積極的にコミュニケーションを取る!
これに尽きるのではないかと思います。
早めにコミュニケーションをとれば、プルリクの段階では上司も新人エンジニアも共通認識が取れてるはず。
こうなると、プルリクに何十個もコメントされることはないし(あるとしても細かい修正だけ)、上司もある程度想定されたアウトプットが出てくるのでイライラしなくて済みます。
何より、新人エンジニアからすると「せっかく頑張ったのにレビューで全然方向性違うことがわかってガン萎え」みたいな状況がなくなるので、レビューが楽しみになります。
具体的なコミュニケーションの方法
僕が今の会社でやってることをまとめます。
もちろん自分と上司の関係性とか職場の雰囲気次第な部分はあるので、参考程度にしてくだされば幸いです。
STEP1 「この認識で合ってますか?」
「多分これで実装すれば正しいだろうな」って思ったとしても、なるべく実装に入る前に一言Slackでもいいから先輩に確認する。
「これって〇〇の処理を〇〇に書けばいいんですよね?」程度のノリで十分だと思います。
結構な頻度で「いやその処理はもう〇〇にあるからそれ使えばいいよ!」みたいにアドバイスをもらえるし、仮に「うん!それで大丈夫!」と言われても確信を持って実装に入れます。
やっぱり実装してから全然違った、は時間も勿体無いしモチベも下がるので、一言でも確認するようにしましょう。
STEP2 「参考になる場所ありますか?」
STEP1のように自分でやり方がわからなかった時。
「〇〇の処理がわからないので一から教えてください!」と言うハードルは高いし、上司の時間も奪わない為にも似てるところだけ示してもらうのはアリな気がします。
意外と言われればそこを参考にしてどうにかなることが多いですし、コードを読んで理解する力もつくと思います。
STEP3 「ペアプロしてください!!」
最終手段です。
「もう自分がどこがわからないかもわからない」みたいな状況の時って、そもそもどうやって質問していいかもわからない。
そういう時は素直に「どこがわからないかもわからないので一緒にやってくれませんか?」と聞いてしまいましょう。
ペアプロの素晴らしいところはただ正解がわかるだけじゃなくて、先輩の「その正解に到るまでの考え方」を目の前で見られることだと思います。
「ここがわからなかったらまずこれを考えればいいんだな」っていう上流の考え方って意外と学べるタイミングがないんですよね。
それでも質問のハードルが高い人へ。
「今質問したら迷惑がられないかな」と思って、自分で一人で悩み続けてしまう人へ。
僕も昔質問するの怖くてどうにか自分でできないかなって時間をとかして、結局変なアウトプットを出してしまうことはよくありました。
でも、僕も友達のコードレビューをした時初めて実感したのですが、ちょろっと質問されるよりも、訳のわかんないプルリク出される方がよっぽど迷惑!!
なので「結局はお互いのためになる!」と割り切って、勇気を持って質問しに行きましょう。
それでもペアプロとかすると一時間とか平気で先輩の時間を奪ってしまうことになります。
その時も、「迷惑かけたな、申し訳ないな…」ってネガティブな気持ちになるのではなく、「一時間も投資してくれた!ちゃんと成長して会社に恩返しできるようになろう!」とポジティブな気持ちで先輩に感謝できるようになりたいですね。
最後に
学校の試験と違って、仕事ならいくらでも事前にフィードバックをもらえるので、積極的にコミュニケーションをとっていきましょう!
一人でも「仕事つまんないなあ」と思う新人エンジニアが減るのを願って。