Java読書会BOFの運営について～1998年から毎月開催

# Java読書会BOFの運営について~~ちょっと~~語る

本記事は、[IT勉強会/コミュニティ運営 Advent Calendar 2017](https://qiita.com/advent-calendar/2017/community-management)の18日目のエントリです。

## Java読書会BOFの活動について

Java読書会BOFでは、1998年12月より毎月1回土曜日（10:00～17:00）に、東京近郊でプログラミング言語Javaをテーマに読書会を開催しています。そこでは、皆の興味のある専門性の高い技術書を題材に、その内容を深く理解し自分の技術としていくことを目的としています。

読書会は、Javaに関する技術書を1冊選び、数回かけて最初から最後まで読み進めます。各回では、参加者が順番に朗読していきます。前書き・著者紹介から、ソースコード、脚注まで声に出して朗読し、内容について疑問や質問があればその場で自由に発言し議論をます。参加者は、初心者から様々な分野の実務経験豊富な参加者による活発な議論が読書会の醍醐味の一つです。そこで出る斬新な意見に驚かされることがしばしばで、これは一人で書籍を漫然と読んでいるだけでは得られない体験です。
また、各回では議事録を取る書記を決め、その回で議論した項目を簡単にメモし後日Java読書会BOFのWebサイトに公開しています。

- Java読書会BOFのWebサイト
http://www.javareading.com/bof/


### 開催データ

| 項目       | 値      |
|-----------|----------|
|通算開催回数| 225回  |
|平均参加人数| 11.6人/回 |
|書籍数      | 34冊     |
|総ページ数  | 13,077ページ |
|平均ページ数| 58ページ/回 |

### これまでに読んだ本

|1998年～2004年       |2005年～2011年  |2012年～2016年   |2017年～   |
|--------------------|----------------|----------------|-----------|
|Peter CodeによるJavaオブジェクト設計|アジャイルソフトウェア開発の奥義    |JavaによるRESTfulシステム構築 |Deep Learning Javaプログラミング |
|Java仮想マシン仕様       |Java 2 Standard Edition 5.0 Tiger |Hadoop 第2版| RxJavaリアクティブプログラミング |
|Javaの格言                        |デザインパターンと共に学ぶオブジェクト指向のこころ |プログラミングAndroid |Javaで作って学ぶ暗号技術 |
|Javaスレッドプログラミング    |Java並行処理プログラミング*1   |JUnit実践入門 |
|Javaで学ぶデザインパターン入門    |Java言語仕様 第3版   |Clean Code |
|Effective Java   |Javaネットワークプログラミングの神髄 |Java 8 Lambdas*1 |
|リファクタリング  |Effective Java 第2版*1     |APIデザインの極意   |
|More Java Pitfalls*1   |Filthy Rich Clients   |Javaパフォーマンス  |
|EJBデザインパターン    |Scalaスケーラブルプログラミング   |Java EE 7徹底入門 |
|UMLモデリングの本質 |The Art of Multiprocessor Programming | Javaによる関数型プログラミング |

- *1は洋書を読みました
 
## Java読書会BOFの運営について

Java読書会BOFの運営は次の3つの柱から成ります。

1. 会場確保
2. 開催案内と募集
3. 議事録公開

### 会場の確保

Java読書会BOFでは、主に地方自治体が運営する公共の会議室を会場として利用しています。主な理由は費用の安さです。1日おおよそ数千円です。Java読書会BOFは、一時期はJavaカンファレンスやインターネット協会に属して会場費の支援を得ていたこともありましたが、ほとんどの期間は自前で費用を負担しています。そこで、参加者の割り勘で会場費を賄っていますが、負担金は300円／人を上限と定めており、平均10人の参加者では3000円を会場費の目安としています。

会場の予約は、今ではインターネットから簡単に行い、支払いも銀行口座から引き落としでできるようになったのでそれほど大きな作業負担ではありません。しかし、以前は電話で空き会議室を探して予約、事前に料金を納付しに行く必要がある等かなり作業負担が大きいものがありました。

現在は、主に川崎市の公共会議室を利用しています。川崎市は、団体登録をすることによって、インターネットから3か月前に抽選申し込みをし、当選すると会議室を利用することができます。また、3か月以内の利用については空いていれば随時予約ができます。
会議室の料金は、安いところで2000円台から高いところでは数万円になります。現在利用している川崎駅徒歩15分の教育文化会館は、午前・午後の利用で2000円台後半です。

団体登録については、Java読書会BOF代表の高橋徹が団体登録の代表者となり、代表含めて5人の構成員の名簿・身分証明書を提示しています。団体登録は3年ごとの更新が必要ですが、更新月の読書会開催日に会場の事務所に5人で訪れ、その場で更新登録を行っています。

会場確保については、毎月抽選〆切日までに4か月先の希望日を抽選申し込みし、当選となったら予約し、落選のときは空いている会議室を探して予約する作業を自宅等からインターネットでおこなっています。

### 開催案内と募集

開催案内は、Java読書会BOFのWebサイトでの告知およびWeb上のフォームで参加申し込みを受け付けています。Java読書会の会場は前述のとおり3か月先までは確定しているので、読書会開催直後にはすぐに翌月の開催案内に更新しています。ですから年間を通じてほぼ常に開催案内が掲載されている状態です。

しかし、Webサイト1か所にのみ掲載しているだけでは告知として不十分です。最近IT関係の勉強会の情報を流しているメディアは、イベント運用サイト（ATND、connpass、doorkeeperなど）から自動収集しているものが多いようです。独自ドメインでWebサーバーを運用しているJava読書会BOFは、こうした勉強会情報の対象になりにくいので、connpassにJava読書会BOFの告知を出しています。また、dotsへは都度掲載依頼を出しています。
https://javareading.connpass.com/

以前はJava関係のメーリングリストへの開催通知投稿、IT勉強会カレンダーに掲載依頼の連絡をしていました。しかし、メーリングリストは次々と閉鎖、IT勉強会カレンダーも終了となって開催案内を広く告知することが以前に比べると難しくなってきたなぁと感じています。

### 議事録公開など

読書会を開催したら、毎回書記を決めて、議論のメモを記載し後日Java読書会BOFのWebサイトに公開しています。
また、1冊の本を読書会で読み終わったら、翌月から新しい本を読み始めます。このとき、どの本を読むかをWeb投票で決めています。

Java読書会BOFのWebサイトの運営と、開催案内の掲示、参加受付の管理、次に読む本のWeb投票の管理は、Java読書会BOF世話人の高橋智宏氏が行っています。

## Java読書会の開催について

Java読書会は、毎月1回土曜日に、10:00~17:00で開催しています。
最初に、参加者の自己紹介、書記の選出を行って、その日のセッションを開始します。
参加者が順番に書籍を朗読し、議論をしていきます。1時間に1回程度休憩をはさんでいます。朗読中、随時質問や意見を話し合うので、講義形式のセミナーに比べると発声の敷居は低いようです。素朴な質問も出ています。

昼は、近所の中華料理屋（主に使用している川崎の会場では近くにあるほぼ唯一の店）に皆で揃って食べに行きます。
昼をはさむイベントでは、特に初参加の場合昼食の心配がありますが、Java読書会では基本みんなで揃って動きます（もちろん、昼食食べない方、中華が苦手という方は同行しなくてもOKです）。

夕方、17:00に撤収してから近所の居酒屋等で有志で二次会を行います。居酒屋は17:00開店が多いので、大抵は予約なくても訪れて問題なく入ることができます。費用は3000円前後が多いです（たまに4000円いくこともありますが）。

## 運営の課題

この10年程はたんたんと回しているので、課題を意識することが少ないのですが、強いて挙げるとしたら次のようなことでしょうか？

- 読み応えのある日本語の技術書籍が少ない（洋書はいっぱい出ているのに）
- 満員御礼となる事態がない
- 運営に携わる人（代表、世話人）の後継者がいない
- 参加費を無償にできない
- まんねり感がある

日本では技術専門書が売れないので、良書がなかなか出版されにくい状況と見ています。読書会は一人では挫折するような本をみんなで力を合わせて読み進めるのが醍醐味なので、少々骨のある書籍が欲しいところです。また、Javaは技術変革が進んでいるのですが日本語の書籍はそれに追いついていません。過去には洋書を読んだこともありましたが、事前に翻訳し当日訳文を配る等の準備労力が大変でした。

読書会でも話題の書籍（Hadoop、Scala、Deep Learning）を取り上げてきましたが、参加者が殺到するといった事態にはなりませんでした。読書会は「脳に汗をかく」ので、受け身で聞いて分かった気になれるセミナー形式の方がニーズが大きいのかと思います。あるいは技術書離れが進んでいるので、なかなか書籍を読む会に来ようとは思わないのかもしれません。（こればっかりは参加者に聞いても分からないので・・・）

運営は、1998年の第1回参加組である私（高橋徹）と高橋智宏氏の2人で20年近く行っています。交代してもいいのですが、なかなか運営をやりますという人がいないのが現状です。

参加費については、会場費を参加者で折半している都合上無償にはできません。なるべく安く済むよう（交通費程度）、安い会場を探して利用しています。

まんねり感については、問題とは思っていません。20年近く継続できている理由は運営負荷が軽いことが大きな要因と思っています。ただ、目新しいことがあってもいいなとは思います。過去、合宿をしたこともありますが、合宿は幹事の負担があるのでなかなか定着しません。

## 継続する運営のこつみたいなもの

運営負荷が少ないことが大きいと思います。前述の３つの柱以外にも、読書会は本さえあれば事前準備なく開催できます。講義形式では、スピーカーを決めて準備が必要で、またプロジェクターも必要です。読書会は参加者が本を持参しているので、プロジェクターも不要です。二次会も前述のとおり、その場で行きたい人が行く形で事前調整はありません。

次は、必ず毎月実施する、ということを意識して運営しています。参加者が少なくても（過去最低参加者人数は2人）、読書会を実施し議事録を書きます。いい本がないからと先延ばしせず、本を選んで読書会を実施します。やらない理由を作ってしまうと継続が途絶えてしまいます。

Javaを選んだこと。これは偶然ですが、Javaに関する書籍は、オブジェクト指向プログラミング、マルチスレッド、ネットワーク、データベース、デザインパターンや設計、ユニットテスト、リファクタリング、GUI、JavaVM上のいろいろな言語など多岐に渡る応用範囲があり、書籍の幅が広がっており、読む本が尽きなかったことがあります。

また、参加者が持ち込むノートPCも、Windowsマシン、MacOS Xマシン、Linuxマシンなどいろいろですが、それらの上でバイナリレベルで共通で動くのがJavaです。Java読書会ではたまに（時間が余ったときなど）ハンズオンを実施しますが、持ち込む機種（OS）を気にせずに実施することができます。

ということで、Java読書会BOFの運営について~~ちょこっと~~語ってみました。