週刊READING LIFE vol.52

新人さんは先輩に学び、先輩も新人さんに学ぶ《 週刊READING LIFE Vol.52「生産性アップ大作戦!」》


記事:しゅん(READING LIFE編集部ライターズ倶楽部)
 
 

ソフトウェア開発に20年以上携わってきました。
 
通常は一人でプログラミングすることが多いのですが、二人でプログラミングするペアプログラミングというやり方もありますので紹介させて頂きます。
 
二人でプログラミングをするといっても、ピアノの連弾のように二人でキーボードを一緒に操作するわけではありません。どちらか一方がキーボードを操作して、もう一方は隣に座って助言したり、疑問を投げかけたり、チェックしたりする役割です。
 
教育目的で実施する場合には、経験の浅い新人さんがキーボードを操作し、経験のある先輩がが隣に座ることが多いです。他にも品質を高めることを目的に、同じレベルの人同士でペアを組むこともあります。
 
教育目的の場合、具体的には、新人さんがキーボードを操作してプログラムを書き、それを先輩が隣から「なんでそう書いたの?」と理由を尋ねたり、「こうなった場合にはどうする?」「さっき書いたのと整合性取れてる?」と気づきを促したり、「こうした方が良くない?」と提案したり、議論したりします。新人さんからしたら、やってる横でヤイヤイ言われたら鬱陶しい! と思うかもしれません。
 
ただ、これが効くんです。どういうポイントに気をつけるべきなのか、何が重要で何が重要じゃないかといった力加減や、実際にどういう手順で進めると効率が良いのか、そういった先輩が経験してきたあれこれが、新人さんに直接インストールされていくんです。
 
自分が知らないこと、気がついていないことは、改善することも学びを深めることもできないですが、先輩の経験がインストールされることで、一気に視野が広がっていくんです。
 
ちなみに、対話を通して新人さんと先輩の交流を深めるという効果もあります。
 
余談ですが、昔は、プログラマの男女の出会いの場として、ペアプログラミング合コン、なるイベントがあったようです。男女で「きゃっきゃっ、うふふ」とプログラミングしつつ交流を深める、なんて羨ましいイベントだ! と思った記憶があります。

 

 

 

最近、私にも新人さんとペアプログラミングをする機会がありました。新人さんはまだ慣れていないので、一つ一つの動作に時間がかかります。例えるなら、免許取り立ての人が「シートの位置を調整して」「シートベルトを締めて」えっと、次何するんだっけ?「バックミラーの位置を調整して」「エンジンを掛けて」と一つ一つの動作を意識しながら進めている感じでしょうか。これが慣れてくると、意識しなくてもできるし、複数の動作を並行でやったり流れるようにできるようになってきます。こればっかりは、ある程度経験を積むしかありません。
 
そんな新人さんに、「じゃあ次はこうしてみようか」「こんなコマンド打ってみて」とやり取りをしていたら、自分が新人だった頃を思い出しました。そういえば、私も先輩にペアプログラミングしてもらってました。
 
最初は大変でした。そもそも先輩が何を言ってるかわからず、先輩の思考のスピードに全くついていけず、「ああしてみて、こうしてみて」と言われるがままにキーボードを叩いていました。後から調べてはメモする毎日でした。
 
また、逆バージョンのペアプログラミングをしてもらったこともあります。先輩がキーボードを操作して、私が隣から見るのです。こちらはこちらで、先輩が何をしているのか全くわかりませんでした。先輩の手がキーボードの上を少し動くだけで魔法のように次々と画面が切り替わり、先輩の手が呪文のような謎の言葉を打ち込むと、よくわからない結果が画面上に次々と表示されていきました。
 
テレビでハッカーや天才プログラマーが活躍するドラマや映画を見たことありますか? 私がぱっと思い付くのは、サンドラ・ブロック主演の「ザ・インターネット」か、三浦春馬君が主演の「ブラッディ・マンデイ」です。春馬くんが、パソコンのキーボードを無駄にカチャカチャさせると、ディスプレイ上に次々と謎の文字が出力されて、最後に春馬くんがキーボードの「Enter」キーをターンと叩いて「よしっ!」と呟く。
 
先輩はまさにそんな感じでした。今思えば、春馬くんのようでした。
 
今の私があの頃の先輩に追いつけたのかどうかはわかりませんが、少なくとも今ペアプログラミングをしている新人さんからしたら、私のことが春馬くんに見えているのかもしれません。顔と体型と年齢を除けば、ですが。
 
自分が新人の頃には、ここまでペアプログラミングの効果や役割について考えられませんでしたが、今回自分が先輩側として実施したことで改めて気がつくことができました。
 
そして、これはプログラミングだけの話じゃないのでしょう。
 
どんなことでも初めは新人で右も左もわからない。そんな時にその業界で経験のある人、うまく行ってる人に教えてもらうってことが、その後の生産性を高めるのにもっとも大事なことなんでしょう。最近は本やインターネットでも色々な知識は学べますが、空気感や圧倒的な力量に触れることで自分の視野を広げるには、直接その業界の先輩に教えてもらうのが一番なんだと思います。
 
そういう意味では、私は今ライティングを極めるために天狼院ライターズ倶楽部に参加しています。自分が言っていることを、ちゃんと実践できていました! 自分を褒めてやりたい気分です。

 

 

 

あと、もう一点だけ。実は、先輩も新人さんに学ぶべきだと考えています。

「生産性を上げる」って、例えるなら、最短距離を模索し、最短距離と思える道を見つけたならば、後は脇目も振らず進むことだと思います。
 
ある程度経験を積んだプログラマーは、プログラムは一度書いただけでは、自分が思った通りには動かないことを知っています。単純な記載ミスのこともあれば、考え方が間違っていることもあれば、想定していなかったことが起きていることもあります。何にせよ、それは当たり前のことなので、淡々と取り組み、解決し、次にやるべきことに移っていく。
 
しかし、ある時、新人さんに教えられました。
 
その新人さんは、自分に割り当てられた担当部分がどうしても動かなくて、何日間も向き合った挙げ句に、やっとプログラムが動いたんでしょう。その瞬間、大きな声で叫んでいました。
 
「やったー! 動いた!」
 
よっぽど嬉しかったんでしょうね。すぐそばで仕事をしていた一人が、隣に居た私にぼそっと呟きました。
 
「そう言えば、僕らにもあんな時代がありましたね」
 
ああ、確かにありました。私にもそんな時代が。動かなくて動かなくて、悩んで悩んで、そして、プログラムが動いた、その時の達成感! 「やったーー!」と叫び、万歳をすると、周りに居た人たちが「おーー、やったね! おめでとう」と拍手をしてくれた時代がありました。
 
そんな新鮮な感動をいつ失くしちゃったんだろう……
 
生産性アップも大事だけど、生産性アップの名の元に、仕事を始めた時の喜びや感動を忘れていませんか? 実はそれが、その仕事をするための自分の原動力なのかもしれませんよ。それを思い出すことでモチベーションが上がり、生産性も上がるかもしれませんよ。
 
新人さんは先輩に学び、先輩も新人さんに学ぶ。それが組織として生産性を上げるコツなのかもしれない、今はそう考えています。

 
 
 
 

◻︎ライタープロフィール
しゅん(READING LIFE編集部ライターズ倶楽部)

ソフト開発のお仕事をする会社員
2018年10月から天狼院ライティング・ゼミの受講を経て、
現在ライターズ倶楽部に在籍中
心理学と創作に興味があります。
「勇気、不安、喜び」溢れた物語を書いていきます。
日本メンタルヘルス協会 公認心理カウンセラー

 
 
 
 
http://tenro-in.com/zemi/97290

 


2019-10-07 | Posted in 週刊READING LIFE vol.52

関連記事