$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

ペアプロの成功体験と失敗体験

 ペアプロって難しい。今のところ、基本的にうまくいかないことが多い。
 その中でもたまに成功体験みたいなのがあったので、それを書いてみる。今回の話はあくまでも主観で感じたことである。断定的な書き方をしているのは単に書きやすいからであって、他意はない。あと失敗体験も書いておく。

 今回の話に初心者と上級者という言葉が出てくる。これはペアプロ対象に対する初心者・上級者というものとする。なので初心者は「ペアプロ対象に対してあまり知識を持っていない」人であり、上級者は「ペアプロ対象に対して知識をある程度持っている」人とする。
 ペアプロ対象の定義は難しくて、Perlで書かれたものであれば、Perlの知識は必要だけど、Perlで作られたある機能の知識や、もしかしたらMySQLの知識みたいなものも対象になりうるかもしれない。そのようなものを漠然とまとめて、ペアプロ対象と言っておく。

成功体験

ペアプロ対象に対して上級者x上級者でペアプロ

 この時、上級者同士でペアプロをして、いろいろ話をしながらやるのはある程度成功したことが多かった。自分一人では気づかなかったことを相手が指摘し、自分自身もこうやったら良いのではみたいな感じで手を動かすみたいなことが、スムーズに出来るためだと思う。
 もちろんこの状況でもやり方次第ではまるでうまくいかない気がする。全く話をせずにやってるとうまくいかなかったりするし、微妙に意思の疎通が取れない状況だと誤解したまま進むこともある。

上級者が書いているのを初心者が見た後、初心者が書いて上級者が見る

 これは教育的な面で非常に効果が上がることがあったという話。初心者は正直何をやればいいか検討がつかないのだが、上級者のコードの書き方などを見ることによって、ある程度指針を見つけることが出来る。さらにその後すぐに初心者が書いて、上級者が指摘することによって、その指針からの実際の手の動かし方を学ぶことが出来る。
 僕自身ははてなにアルバイトとして入った時に、一番最初にこれでコードの書き方を学んでいった。ほとんどPerl、JSを触ったことのない状況だったのだけれど、とりあえず書けるくらいまでに2週間くらいでいけたのは、このペアプロの効果が大きいと思っている。

失敗体験

初心者が書いて上級者が見るだけ

 上に書いたことと似ているのだが、とりあえず初心者が書いて上級者が見るという行為だけをすると、失敗することが多かった。
 初心者は最初、対象の実装をするための指針がよくわからない状況ではじめてしまい、さらにどうやって書けばいいかもよくわからないため、とにかく何をしたら良いかわからなくなる。さらに、後ろから見られているために、簡単なことでも検索するという行為が恥ずかしく思ってしまう。そして上級者に聞いたはいいものの、上級者も完全に知っているわけではないので、二人してググるみたいな行為が始まってしまい、グダグダになることが多かった。

まとめ

とりあえず、最近のペアプロで思ったことを書いてみた。ペアプロの効能というのもいろいろあるので、一概にはいえないと思う。例えば開発環境の向上というものが実際に起こったりもした。今後もいろいろ試してみて、どうしたらよいか考えて行きたい。