ペアプログラミングをやってみて感じたこと | Dev Driven 開発・デザインチーム ペアプログラミングをやってみて感じたこと | 働くひとと組織の健康を創る iCARE

BLOG

ペアプログラミングをやってみて感じたこと

こんにちは、サーバサイドエンジニアの高橋です。
2021年12月にiCAREに入社して2ヶ月が経ちました。

そんな私が、ベテランエンジニア(igaigaさん)とペアプログラミングをやってどう感じたか書いていきます。

はじめに

ペアプログラミングとは

ペアプログラミング: pair programming)はソフトウェア開発の手法の一つで、2人のプログラマが1台のマシンを操作してプログラミングを行う手法。
当初は、2人が1台のワークステーションに向かって作業するものだったが、現在では一人で複数台を同時に使ったり、一台に複数台のディスプレイを使うことも多くなり、具体的なやり方は変わっている。
実際にキーボードを操作してコードを書く人を「ドライバ」、もう1人を「ナビゲータ」と呼ぶ。30分ごとか、単体テストを1つ完成させる度に役割を交替するのがよいとされる。また、1日に一度の頻度でパートナーを変えるのがよいともされている。
引用: ペアプログラミング - Wikipedia

今回はドライバ、ナビゲータ固定で、1時間ペアプログラミングを実施しました。

やったこと

・時間:1時間
・ドライバ:私(Ruby, Rails歴:1ヶ月半)
・ナビゲータ:igaigaさん(Ruby, Rails歴:10年くらい)
・お題:業務のプロダクトのissue対応

やってみて感じたこと

下記に箇条書きで書いていきます。
・ナビゲータに実装する要件やドメイン知識を伝えることで、自分の中でやりたいことやドメイン知識を整理ができる。
・ナビゲーターの指示でコードをリアルタイムで書いくため、わからないところや疑問に思ったこと、人に聞きづらい初歩的なことでも、率直にぶつけられる。
・自分でこう動くだろと思っているコードに対し確認することで、間違っていれば学びに、あっていれば自信に繋がる。
・自分で実装すると、考える時間や試行錯誤する時間が膨大にかかるため、ペアプログラミングだと作業効率が良い。
・自分がやっていた、コーディングやデバック方法に対してより効率的な手段を知ることができる。
・処理を適切なクラスに定義できるので、綺麗なコードが書ける。

さいごに

ペアプログラミングをする前は「指示された通りできるか」、「書いているコードを理解できるか」、「難しいお題じゃなくて大丈夫か」などずっと悩んでおり、Ruby・Railsの理解が浅い私にとってはとても怖いものでした。

ですが、実際やってみると自分の中でこう動くだろうと思っているコードに対し確認することで現状どれくらいRuby・Railsを理解しているのか分かりますし、
コードを書いていく上でどう動くか理解していないとペアプログラミンをやっていても意味が無いので初歩的なことでも構わず質問できました。

お題に関して難しいものでなくても、「自分ならこう実装する」と思っている書き方以外を学べるのでとても勉強になりました。

今回ペアプログラミングを通して1ヶ月半の成長を実感できました。

ペアプログラミングは「同じレベルのエンジニア同士でしか意味がない」とよく耳にしますが、教育的側面においては初心者にとってとてつもないスピードで成長できる貴重な手段だと思います。
是非私と同じように初心者の方でペアプログラミングが怖い方は臆せず、挑戦してみると良いと思います!

ペアプロはいいぞ