はじめに
先月、初めて「ペアプロ」なるものを先輩エンジニアに行ってもらいました。その際にとても学びになったので、その学びをメモしておこうと思います。
先輩とペアプロをする予定の新人エンジニアの方には「ペアプロからこういうことが学べるよ」ということ、ペアプロで新人を育成する予定のベテランエンジニアの方には「新人はペアプロでこんなことを感じるよ」ということが伝わると嬉しいです。
ただ学びと言っても、既にこの記事にまとめられていることが全てだったかなと思います。
こちらの記事はベテラン×新人のペアプロで、ベテラン側から書かれた記事であったため、ここでは新人側の目線から「具体的にどういう点が学びになったのか」ということについて書ければと思います(タイトルもパクってます)。
因みに「そもそもペアプロとは何ぞや?」という方には、こちらの記事がおすすめです。
新人プログラマの成長を加速する3つの習慣
先述の通り、「ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習」に書かれていることが全てだったかなと思うのですが、こちらの記事に書いてある「良い習慣」の中で、私が特に実感したものが3つあります。
よくコードを読み、理解することに時間をかける
まずはこれです。以前は全然コードを読んでいなかったなと実感しました。新人から見ると、ベテランエンジニアの方はさらっとコードを書いているように見えるので、まさかそんなにコードを読むことに時間を掛けているとは思いません。
「コードを理解するために時間が掛かる」という当たり前のことが分かっていないので、大して理解していないのにどんどんコードを読み進めてしまい、途中から全く分からなくなってしまうということがあります。
ペアプロをすることで、良い意味で「ベテランエンジニアもスーパーマンな訳ではない」という当たり前のことが分かり、以前よりコードを読む時間を長く取るようになりました。
常に目の前の問題を単純化することに知恵を使う
以前は、エラーが出てきた時は大して考えずに「とりあえず自分の書いたコードをもう一回眺めてみる」「エラーコードをググってみる」ぐらいのことしかやっていませんでした。「どこまでちゃんと動いていて、どの部分がエラーを吐いていて、その原因は何なのかを考える」という当たり前のことをしていませんでした。
これもベテランエンジニアの方が、新人から見るとエラーが出た瞬間に一瞬で原因を特定しているように見えるため、エラーの原因を突き止めるために段階を踏んでいるということが分かっていないからだと思います。
ベテランエンジニアに方にとっては「当たり前」に思っているエラーの原因の特定の方法も、一から説明してもらうと新人にとっては目から鱗でした。
道具の改善および自動化をおこなう
ベテランエンジニアの方は、とにかくコードを書くのが早いと新人から見ると感じます。これはスキルの差ももちろんありますが、「道具を自分の使いやすいようにカスタマイズしているかどうか」もこのスピードの差を生んでいることがペアプロをしていて気付きました。エディタの機能やショートカットキーを使いこなすだけでスピードが全然違います。
これらは使わなくてもコードを打つことができてしまうので、打ち方の「お手本」みたいなものがないと、新人にとっては「自分は効率の悪いことをしている」ということに気付くことすらできません。気付くことができないので、当然自分で改善もできません。
ペアプロで先輩がコードを打っているのを後ろで見ているだけでも、自分の問題を認識することができるので、あとは頑張れば自分で改善することができます。私もペアプロをすることで、今まで知らなかったエディタの機能を知り、開発スピードをあげることができました。
終わりに
ペアプロをしてもらった後で、自分のコードの質もコードを書くスピードも飛躍的に上がったと感じています。私の場合は、先輩の方から「ペアプロやるぞ」と声を掛けてもらって学べただけなので偉そうなことは言えませんが、新人エンジニアの方は先輩エンジニアにペアプロをお願いしてみるととても学びがあると思います。ベテランエンジニアの方は、新人とのペアプロに付き合うことで、その新人が成長してコードレビューが少し楽になるかなと思うので、是非やってみてもらえると嬉しいです。