僕が考えるペアプログラミングのメリット - Pair Programming
みなさんペアプログラミングしたことありますか?
僕はありません。
でも先日のライブコーディングを見てからというもの、ちょっとペアプログラミングにも興味を持ち始めました。
ペアプログラミングって?
困ったときはwikipedia。
ペアプログラミング(英: pair programming)は、2人のプログラマが1台のワークステーションを使って共同でソフトウェア開発を行う手法である。一方が単体テストを打ち込んでいるときに、もう一方がそのテストを通るクラスについて考えるといったように、相補的な作業をする。
参考:wikipedia
簡潔に言えば、二人でチーム組んで交互に書いていくわけですね。じゃあなんでペアプログラミングをやってみたいのか?
他人の作業内容を見ることができる
普段コーディングをしていると、完全に自分の作業です。
アウトプットはプルリク出すのでコードレビューして、他人の意見を取り入れることができますが、作業内容はそうじゃないですよね。
例えばエラーを潰すときだって、ある人はログをtailしているかもしれないし、ある人はエラーメッセージをじっと見ているかもしれないし、ある人はログを仕込んでいるかもしれません。あるいはリモートデバッグも考えられます。
つまり、「自分がやっていないような作業内容」を知るいい機会になります。
相手の手法が優れていれば自分の手法に取り入れればいいし、自分の方が優れていたら、相手にも取り入れて貰える。win-winです。
知ってるか知らないかの差はデカイ
エンジニアはある一定レベルまでは、ハッキリ言って経験値だと思っています。
今までどれくらいコードを書いたか、どれくらい手法を知っているか、どれくらいデザインパターンを持っているか。
もちろんある一定レベル以上のエンジニアはいかにエレガントなアルゴリズムを書けるかとかそういう話なんでしょうけど、そのラインに行くまでって、基本的には経験値。
んで、ペアプログラミングをすることで、その経験値を少しでも盗み盗まれすればいいんじゃないかと思う。お互い刺激になるしね。
おわりに
ということで、ペアプログラミングの相方を探してみよう。来週あたりライブコーディングやるとか言ってたから、ライブペアプロコーディングってのも面白いかもしれませんな。
そいぎんた!
