この記事を書こうと思ったきっかけ
ペアプロをディスったQiitaをわざわざ書くくらいには複数人開発を嫌っていた私ですが、最近ペアプロをしている時に「あれ、なんか楽しいかも」と思ったので記事にしてみることにしました。
息抜きのお供にどうぞ。
ペアプロが嫌いだった理由
「何もわからない新人と2,3年目の先輩」という組み合わせで開発をすると、どうしても先輩が新人に教える構図が出来上がります。当たり前なんですけどね。
分からないことがあればすぐに質問でき、適切な答えが返ってくる。最高ですね。
これは逆にいえば、「分からなければすぐに質問しなければならない」ということでもあります。せっかくペアプロをしているのに、新人が一人で考え込んでいては意味がないですから。
私はこれがどうも苦手でした。なぜなら、分からないことがあればまず自分で考えて、それでも分からなければ質問する、というのが私の理想だからです。
特に新人の時はわからないことが多すぎたので、ペアプロ中の会話のほとんどが質問と回答みたいな状態でした。
Qiitaにも書きましたが、問題を解く前に解答を見るような感じがしてモヤモヤしちゃってたわけです。
なぜ嫌悪感が消えたのか?
ではなぜ「あれ、なんか楽しいかも」と思えるようになったのでしょうか。
理由はシンプル。質問の回数が減り、逆に意見を言えるようになったからです。
深掘っていきましょう。
システムの仕様に関する理解が深まった
うちの場合は既存システムへの機能追加・修正が主な業務です。
なので、そもそもそのシステムをある程度理解していないとどこをどう修正すればいいかさっぱり分かりません。やりたいことは分かっていてもロジックを組めないわけです。
ペアプロが嫌いだった頃は「どのファイルのどこをどう修正すればいいか」を全て先輩に聞いていましたが、今では「こういう方法はどうですか?」と提案ができるようになりました。
言われるがままの開発から、当事者意識を持った開発にシフトチェンジできたわけですね。
コーディング力がついた
これも大きいですね。
当時は、どうコーディングするかさえもほぼ聞いていました。「eachの後は、、do?パイプパイプ?」みたいなレベルです。
理解するだけで精一杯のロジックをプログラミング初心者がコードに起こすんですから、そりゃあ大変でした。
打って変わって今では、ロジックさえ決まればそれ通りにコーディングするのは難しくないくらいにはコーディング力がつきました。
こうしてコーディングに持っていかれる脳みその割合が減ったことで、他のことを考える余裕が生まれたわけです。
メンバーと仲良くなった
シンプルですがめちゃくちゃ大事ですよね。
関係が浅いうちは、お互いにどこか遠慮してしまいがち。
意見があっても、「間違っていたら嫌だな」とか「先輩は私には見えていない何かを見据えてこうしているに違いない」とか考えてしまい、全く積極的になれていませんでした。
しかし時間と共に仲良し度がアップしたことで、些細なことでも意見や疑問をバンバン言えるようになり、より有意義にペアプロに取り組めるようになりました。
見えてきたペアプロの良さ
ミスや手戻りを防げる
一人で開発する時よりも単純に目が多くなるので、些細なミスを防げるようになります。
また考える頭も増えるので、一人の時よりも多くの選択肢の中から最善策を選ぶことができます。これは大きな手戻りを防ぐことにつながりますね。
さらに、意見をぶつけ合っているうちに、全く別の解決策が思いつくこともあります。そう、シナジーまで生めちゃうんです。
シンプルに勉強になる
私の場合、ペアプロをするときの相手は基本的に先輩です。
なので、先輩が書いているのを見るだけで「そんな書き方もできるんだ」と勉強になるし、自分のコードを指摘された時は「そういう観点でコードを読むんだな」「そんなことまで考える必要があるんだな」というように、開発をする上での心構えみたいなものを知ることができます。
最後に
まあ、一番好きなのは個人開発なんですけどね。
(ペアプロをディスったQiitaはこちら)