毎日やるから朝練なんだ
勉強会エバンジェリストhyoshiokです。みなさんいかがお過ごしでしょう?
開発は楽しいという@papandaの熱いメッセージが突き刺さるDevLove首謀者の基調講演で幕を開けたデブサミ(デベロッパーズサミット)も無事終了し、明日からは日常がまっている。
今週は、自分にとっての日常であるカーネル読書会も2世紀目に突入し、その記念すべき第一回を新世代にふさわしい若手ハッカーの@frsyukiにkumofsについてガツンと発表してもらう。楽しみ楽しみ。*1
昨年8月に今の会社に入社して以来、社内勉強会もいろいろやって、縦組織でも横軸プロジェクトでもない、第三の社内勢力としてのコミュニティ的価値観の醸成などをおこなってきた。最近ではいろいろなグループがいろいろな勉強会をいろいろやっていたりする。
で、先日Ruby朝練の首謀者A(以下(あ)と略す)にRuby朝練について聞いてみた。チームに新人とか入ってきてスキルもばらばらだし、初心者も多いので、スキルの底上げのつもりで始めてみたということだった。
Rubyのリファレンスマニュアルのライブラリ編を教科書にクラスのメソッドなどを一つ一つ勉強していくらしい。例えばStringクラスのメソッドについてマニュアルを読んでみんなであれやこれや議論をする。そうすると、仕事ではほとんど使ったことのないメソッドや、これって、どーゆーときに使うのだろうというようなメソッドがいろいろ発見できて、それについてみんなでわいわい議論するのが楽しいらしい。
irbで動作させて、マニュアルの記述を確認しながら理解を深めていく。
首謀者あ「Rubyって、本当にいろいろなメソッドがあるんですよね〜」 よ「そーだよね〜」 あ「これって、どーやって使うんだろうとか、よくわからないメソッドがあるんですよ」 よ「ふむふむ」 あ「実際パソコンで確認してみたりして、動作を理解するんですよ〜」 よ「なるほどね〜」 あ「あの文字の大小を判定する不等号みたいなのがあるじゃないですか」 よ「あるある」 あ「変な形の比較演算子みたいなのがあるんですよ」 よ「あるある」 あ「a<=>bって、aとbを比較して、aが小さいとマイナスで、等しいとゼロで、大きいとプラスみたいな演算子があるんですよ」 よ「あるね〜。UFOみたいなやつ」 あ「それそれ」 よ「宇宙船演算子」 あ「え、そんな名前ついているんですか?」 よ「楽しいよね〜」 あ「楽しいですよね」 よ「ぐははは」 あ「きゃきゃきゃ」
それをほぼ毎日やっているらしい。大体一時間くらい。無理やり誰かにやらされているのではなく自主トレである。楽しいからやっていて、気がつくと、今まで知らなかった知識も増えるし、直接仕事には役立たないと思っていた知識も、実は知らず知らずのうちに仕事にポジティブな影響を与えているし、ある意味、Rubyプログラマの基礎体力をつけているようなものになっている。
言語学習の方法論としてライブラリのマニュアルを端から読むというのは効率の観点からもモチベーションを維持する点から言ってもなかなかお勧めされない方法であるが、皆で朝練をすればすごい楽しいし、一人でやっていたらくじけてしまいそうなことも、皆でやることによって、息切れしたときに仲間がいるんので、ちょっと先まで走っていけたりする。
マニュアルをちゃんと読むということは時間もかかるし、わたしなんかは残念なことに短期記憶が揮発性に富んでいるので、読むそばから忘れてしまったりして極めて燃費が悪いのであるが、それでも一度はじっくり読めば、大体のところどのようなことがマニュアルに書いてあるかの俯瞰図みたいなものが頭の中に構築されるので、実際利用するときに、マニュアルで確認するという癖をつけておけば、だんだん自分の血、知となり汗となり、筋肉になっていく。
プログラマの先輩にマニュアルを読めと口を酸っぱく指導され、わたしなんかもマニュアルを読むことが好きな口なのであるが、マニュアルをちゃんと読む人が少ないというのも事実である。その意味で朝練というメソッドは、一見苦行に見えることを、「楽しんじゃうもんね〜、朝練を毎日しちゃうもんね〜」というポジティブなオーラが醸し出されていてめちゃくちゃいい。*2
多くの人はマニュアルを読まないんだよなあ、残念ながら。ハッカーはちゃんと読んでいるんだけど、素人は読まない。なんでなんだろう。誰もマニュアルの読み方を教えないからなんだろうか。閑話休題。
朝練は、毎日やるとだんだん気持ちよくなって、止められなくなる。やらないと気持ちが悪いらしい。毎日の運動がリズムを作るというような感じなのかもしれない。
でもってRuby朝練なのであるが、毎朝18時開始らしい。朝18時って、おい、それ朝じゃないから…。こまけーことはいいんだよ(AA風にお読みください)
わたしには朝練という発想はなかった。今回とってもいいことを教えてもらったような気がする。
*1:第101回カーネル読書会のお知らせ http://d.hatena.ne.jp/hyoshiok/20100217#p1
*2:未踏でhardmeterを実装したときにIntelのマニュアルを熟読したのであるが、ボロボロになった。http://itpro.nikkeibp.co.jp/members/NSW/ITARTICLE/20030619/2/