fukuoka.goのソースコードリーディング会を企画した話。

外化するのは大事なことだ。外化とは、頭の中にあることを、外に出すことだ。よく、「考えている」と行って、外化しない人がいるが、それは、「考えてない」事に等しい。なので、積極的にブログなどで、「外化」することが大事だ。

なので、今回もまた、「外化」をしたい。なにかといえば、fukuoka.goのソースコードリーディングをやった話を、ブログに書くというだけである。事実を述べるのでは無く考えたことを記述していきたい。

fukuoka.goのソースコードリーディング会を企画した話。

目的

そもそも、人は何かの目標を持って行動するものだという前提が僕にはある。行動をするのは目的があるからだ。たぶん「動機」と言うのだろう。一見目的が無いように見えても、無意識や無自覚であるだけである。

さて、では今回fukuoka.goのソースコードリーディングをやった目的なのだが。いろいろあるとは思うが、主に一つに、

参加者がある程度主体性を持てるような、勉強会を開きたい

ということである。そしてそれは、

一緒に勉強するメンバーを増やしたい。

という本質的な欲求があるように思う。

勉強会の発端

さて、勉強会を振り変えると、発端は僕がなんとなくgoの勉強をしたいと思ったということなのかなと思う。そして、つぶやき、twitter

勝手に「勉強会」というキーワードを手が入力してしまった。そんで、fukuoka.goの主催を検索して、

とまぁ、という感じで、勉強会が企画スタートしますた。

リーディング会になったわけ

そんで、まぁ企画を考えていたのですが、普通の登壇者と聴衆という形でのセミナー形式は、ありきたりすぎて飽きたのと結局勉強しているのが、登壇者で、登壇者とか主催の負担がデカいので、むしろ「参加者が積極性を持って、学習できる」というのをテーマにして考えいた。

そして、「もくもく会」や「ハッカソン」をやっても良いのかなと思ってたのだが、「もくもく会」は基本的に個人プレーになりがちで、また、「ハッカソン」となると、みんなの負担がでかくなる。なので、「個人じゃなくて、チームで」、「負担を減らす」というのもキーワードにして考えた。

そんなこんな考えていたら、プログラマーって個人の作業が多いなと思っりして、ふと思えば、ソースコード書く時は、みんな黙ってやるなー。そんで、考えてみれば、チームで作業するのって、たとえば、レビューみたいなことだよねとか。

そんで、まぁ、「レビュー会」みたいなのをしたら良いのでは?と思いった。誰かが書いて、別の誰かがレビューする。しかし、それでは、書き手の負担がでかいし、そもそも、それをやるにの勉強会時間が短かすぎる。

そして、だったら、「既に書かれているものをレビューしたら良いじゃん」となり、そして、じゃあそれは、レビューというより「ソースコードリーディングじゃん」となって「ソースコードリーディング」を企画した。

勉強会でやったこと

さて、実際になにをやったのかといえば、「3~4名のチームでのソースコードリーディング会」ですね。そして、今回は読む題材を提供し、読んでもらって、分かったこと、分からなかったことを聞き出す。

「さあ、読め」と言うだけじゃ、何をすれば良いか分からなので、読むべきポイントを整理したりとか、そいういうことをスライドにまとめたりした。そして、それを説明して、各チームでソースコードリーディングをしてもらった。

そして、最後に、各チームで、全体で発表をさせた。

そこいらは、fukuoka.goの主催のブログ

blog.monochromegane.com

とかが詳しく書いてあると思う。

勉強会のふりかえり

さて、ふりかえりとして、まず良い点を上げるとすれば、

読むプロダクトのサイズが丁度良かった。

ということである。これは、当初、僕はもう少し大きいプロダクトにしようかと思ったり、また、各チームで自由に決めてもらおうとか考えていたのだが、時間的に考えてみれば、読む時間は35分で読めるものを、と考えると、サイズが少し小さい方が良いだろうということを直前となって決めた。これが案外良かったように思える。

ソースコードサイズがでかすぎると、把握できないし、小さすぎると、みんなが飽きてしまうと思う。実際に、各チーム、ある程度読めた感じであった。

さて、懸念事項を上げるとすれば、

チームを越えた総括的な、全体協議ができなかった

これは、僕が上手くそういう方向性に持って行けなかったとは思う。なので、次回からはここらへんをもうすこし活発にしたいとは思った。具体的には、各チームで意見が異なるような施策を考えるべきではあると思う。

最後に

さて、これから、どうするかって言えば、もうすこし、リーディング会を重ねて、いろいろ試したいとは思っている。また、fukuoka.goだけでなく、福岡Emacsを企画したり、Erlang勉強会や、関数型勉強会を復活させたいとは思っている。

また、プログラミングだけでなく、UXの会の方もやっていくので、みなさんよろしくおねがいします。