「ラバーダッキング」と人に教えることの意義

主にプログラマの間で使われる言葉だと思うが、「ラバーダッキング」という問題解決手法がある。ゴム製のアヒルのおもちゃに話しかけることで、頭の中で問題が整理されて解決を導く手法である。当然、ゴム製のアヒルのおもちゃである必要はなく、話しかける対象は何でもいい。ここで重要なのは、問題を口に出すことで頭が整理さて、新しいアイデアが生まれてくる、ということだ。当然おもちゃではなく、人と話すことでも同様の効果が期待できる。

当社にも新卒のフロントエンドエンジニアが入社した。最近は彼に実装の説明をしていることが多い。しかし説明をしながら、教えている当人であるはずの自分自身の頭がクリアになったり、新しいアイデアがを思いついたりすることがある。これもまたラバーダッキングだ。

自分が考えた実装方法をブレイクダウンし、一つ一つを細かく説明し、その背景にはどういった考えがあり、どのような流れで一つのプログラムとして組み立て行ったのか。その説明をしているだけで、頭の中が明確に整理されていく。おもちゃと違って人の場合は質問が飛んでくるのだが、それに回答することがまた、さらなる自身の学習に繋がっている。

「教える」というのは、先輩が後輩に一方的に情報を提供する行為のように思えるかもしれない。世の中には、この「教える」という行為を面倒に思い、省略したり、仕事を丸投げしてしまうことも多いようだ。

しかし、「教える」ことを面倒くさく思ってしまう人は、こういたラバーダッキング効果を知らないか、あるいは軽視しているのだろう。もちろん与えられた時間と優先順位の問題はあるが、「教える」ということは、予想以上に自分の学習に繋がるものである。教える立場にある人は、教えることで自分の時間を失っていると考えるのではなく、「教えることで実は学ばせてもらっている」という気持ちを持たなくてはならないだろう。