教育について

実は今年から、会社で新人教育を担当する事になって、新入社員にプログラミングをなるものを教える事になった。といっても、やったのは6月くらいだから、もう終わったけどね。



一応ものを教えるので「先生」という事になるわけだけど、大学では教職もとってなかったので、教育実習とかしてないし、塾講とかのバイトもしなかったので、何かを誰かに教えるという事をしたことがない。



で、いったい何を教えればいいんだろうと小一時間くらい悩んだ訳だけど、これはやっぱりプログラミングって面白いね。という事を教えるしかないという単純な結論に達した。



会社の集合研修は、学校の授業と違って、時間が限られる上に、その限られた時間にめいっぱいの情報量をたたき込むというものだが、実際の所、それで新入社員達のスキルが飛躍的に向上するという事は、ない。一時的に詰め込んで暗記は出来るが、そんなもんは研修が終われば消えてしまう。あたりまえだ。



プログラミングとは、そもそもがクリエイティブなのもので、一朝一夕に身につける事が出来るようなもんじゃないし、ゴールはない。沢山のコードを読み書きしたり、本を読んだりしながら、少しずつ良いコードが書けるようになっていくもんで、例外は知らない。



もちろん、知識の詰め込みも大切であるんだけど(それで開けるものもあるし)、プログラミングって面白いと思わせないと、やぱっり後が続かない。



随分前だけど、TVで地震の仕組みかなんかを説明してる学者先生がいて(多分どっかの大学教授だろう)、その先生は「マントル」と口にする度楽しそうにしゃべっていた。「マントル」という響きからは、好きで好きでしょうがないという感じが出ていた。



また、最近読んだこんなエントリが面白かった。

廃人オナニート日記 - 坂間勇



僕は駿台生ではないので、この坂間先生の事は知らないが、きっと本当に物理が好きで学ぶ事が楽しくて仕方がなかったのだろう。そして、予備校講師であるからには、やっぱりそのおもしろさを、一人でも多くの学生に伝えたかったのだろう。



常々思っているのだけど、人に何かの面白さを伝えるには、自分が楽しんでいる後ろ姿を見せるしかないだろうと思っている。それを見て、『へぇ〜』で終わる人もいるけど、『ほぉ〜』と興味を持って、自分で突き進んでいく人もいる。で、多分後者みたいになる人を作るのが教育ではないかなぁと思う。



人に何かを教えるなんておこがましい事は、本来はできなくて、何かのきっかけを与えるのが精一杯だろうと思う。それには、まず自分が面白いと思う気持ちを伝えなければならない。自分がつまらないと思っているものを、聞いている人間が面白いと思ってくれる訳はないからだ。



だから、プログラミングの研修では、プログラミングのど素人の新入社員(もちろんそうじゃないのもいるけど)に、制御の構造化とか、関数型プログラミングとか、再帰構造とか、バイナリサーチとか、クロージャ等々、プログラマーとして多少はやってきた自分でもちょっと面白いなコレと思うものを大量に詰め込んでテキストを作って与えてしまった。。。たった10日間の講座でやるには、相当無茶な内容にした。はっきり言って難しかったのではないかと思う。自分でもテキスト作るために、結構勉強もした。



本当に面白い事というのは、大抵の場合難しい。というか、絶対に難しい。というか、難しいから面白いのだ。簡単で面白い事なんて、少なくとも僕は知らない。だから、あえて基礎を手短に説明したら、一気に難しい所に突っ込んだ。はっきり言って、この際、新入社員達が理解するしないは二の次だ!という開き直りスタンスだ。



でも、結構な数の新入社員達が『プログラミングって結構面白いですね。』と講座中や講座が終わった後に言ってくれた。お世辞かもしれないけど、これはちょっと嬉しかった。少なくとも、みんな、『XXXXさんてプログラミング好きなんですね』とは、思っていたようだ。だから、大した後ろ姿ではないけど、何かは見せることは出来たのかもしれない。彼らのうちの何人でも構わないから、素晴らしいエンジニアを目指して突き進んでくれるといいなぁ、と思う。



思えば、自分も会社に入ってから、プログラミングを始めたど素人なので(今も素人に毛が生えた程度だけど)、最初は全然プログラミングなんて興味無かった。でも、デザパタの意味とか分かり初めてからは、いろいろと面白くなって、今では結構コード書くのは楽しい。最近はやっぱ関数型言語が面白い。もちろん仕事だからそうじゃない時もあるけど、たまには時間を忘れてコード書いている時はある。



というわけで、初めての教育だったがいろいろ思うところあり、なかなかこちらも勉強させてもらった。たぶん、教育で一番成長するのは、教わる側じゃなくて、教える側ですね。