ペアプログラミングはチームの技術底上げに効果あり?

社内改善

どうも、こんにちわ

ITエンジニアの皆さん、ペアプログラミングってやったことありますか?

ペアプログラミングとは、複数のエンジニアで同じモニターを眺めながらプログラミングしていく作業のことです

一つのバグをみんなで解決していく、と言ってもいいかもしれません

白状しますが、僕は今まで1度もやったことがありません

でも振り返ってみると「やっておけばよかったな」と、今になって思うことがあります

そんな僕が考える、正しいペアプログラミングのやり方とその意味を説明してみます

いろんなペアプログラミング

正しいペアプロ

間違ったペアプロ

羨ましいペアプロ

早すぎるペアプロ

和気あいあいペアプロ

ペアプロの目的

さて、ペアプログラミングがどんなものなのかをご理解頂けたところで、ペアプロの本当の目的

それは、技術共有にあると僕は考えています

例えば、ある一つのシステムのバグがあったとします

これを解決するやり方やバグに対するアプローチの仕方はエンジニアによって様々です

同じバグであっても5分で直してしまうエンジニアがいる一方で、2時間かかるエンジニアもいます

その両者の違いはなんでしょうか?

それは多くの場合、経験やスキルの違いによるものだと考えられます

でもエンジニアは基本的に自分一人で作業をしますから、極端な話、その両者のその差はずっと縮まらないかもしれません

そこでその両者がペアプログラミングをしたとします

そうすると、2時間かかるエンジニアはどうやって5分で終わらせることができるのかを学ぶチャンスな訳です

特に仕事の早いエンジニアや技術レベルの高い人の作業は、見る価値があります

でも、ただ眺めていたのでは仕事をサボっていると思われるかもしれないので出来ません

そこでペアプロの登場ってわけです

やりたがるエンジニアが少ない理由

「見せて〜」「やだ〜」

でも実際、会社のエンジニアでペアプロをやりたい人ってあまりいません

見たい側の人はいっぱいいるかもしれませんが、自分が主体となって見せたいと考える人は少数でしょう

なんとなく心情的に嫌ですよね

過程を見られるってだけで緊張するのに、何かいろんなところにツッコミを受けそうな気もしてしまいます

だから、そのチーム内でもっとも技術レベルの高いとされる人が、その様子をチーム内のメンバーに見せる形で共有するのがいいんじゃないかと僕は考えています

見たかったエンジニアたち

以前の記事で、スーパーエンジニアの存在を紹介しました

僕は今だに、彼らの仕事風景を見ることができなかったのを後悔しています

なにせリーダーが3日間と見積もったタスクを2時間そこらで終わらせるわけですから、並みのやり方じゃないのは確かです

そんな彼らとペアプロする機会があれば、今の僕もちょっとは凄腕エンジニアになれたのではないか、と考えると夜も眠れないわけです(寝てるけど)

だから、もっとフランクにペアプロができる制度が社内にあると、チームメンバー間の技術レベルを底上げできるのになー、っと今になって思う次第です