2012年から開始されたPerl入学式ですが、最初の数年間の模索期間を経て、ここ1〜2年は運営フローもだいぶスムーズになりました。今回は「普段どんな感じで運営作業をしているの?」というお話です。
ツールのご紹介
今はだいたい以下のツールに落ち着いています。
- チャット:Slack
- タスク管理:GitHub Issue
- 資料作成:GitHub Repository + Markdown
- ウェブサイト運用:GitHub Page
- その他:Google Drive
最近のIT業界やITコミュニティでもよく見るラインナップです。
以前使っていたツール
ここに至るまで変遷があったツールもあります。
- チャット:Lingr → Idobata → Slack(イマココ)
- タスク管理:Cybozu Live → GitHub Issue(イマココ)
私は2003年からIT業界にいて、10年ほど「ITエンジニアのチャットと言えばIRC」という時代を過ごしてきたので、Perl入学式と歩調を合わせはじめた2013年から数年間のチャットツールの激動っぷりにクラクラしてしまいます。
この Lingr → Idobata といった流れはギーク的ブームにも見ることができますが、その他カジュアルユーザの MSN Messenger → … → LINE といった流れや、ビジネスユーザの Skype → ChatWork といった流れなど、チャットツールは常に激動の時代だという気がします。そして「電子メール潰す」と言い放ったチャットツールが電子メールより先に没していったという…。Slack も最近は重量級ソフトウェアになってしまい、今後も安泰だろうかと一抹の不安を覚える私です。
タスク管理については Cyboze Live 時代もありましたが、やはりオープン系ITエンジニアに馴染んでいる GitHub Issue での管理とすることにしました。個人的にはこの変更がPerl入学式運営の弾力化に大いに貢献したと感じています。
日程決定から開催まで
特定の回のPerl入学式を開催するまでのフローは、いままで大阪・東京で使っていたものをベースに、各拠点が自由な裁量を持って行っています。
今回は私が主に運営に携わっている東京での流れをご紹介します。
どこの拠点も、まず Issue 作成から行います。
タスクリストをベースとした文面を最初の投稿として Issue を作成します。
回によって細かい変更はあれど、だいたい同じタスクリストを毎回使いまわせます。
この後の文面は、サポーターの予定調整、どこの会場を押さえるか、リマインドメールの投稿など、当日までの様々な作業が流れていきます。
以前はこの各回 GitHub Issue で当日来れそうなサポーターを募るやり取りを行っていたのですが、予定の可否をやりとりが煩雑だったり、都合の良い日を聴いて回るだけで大変でした。そんな中、Slack が絵文字を利用した Reaction 機能をリリースして、これは使えそうだと昨年度くらいからもっぱら Reaction 機能を使ったアンケートを行っています。かなり手軽に「投票」してもらえます。
Slack の Pin 機能は全てのユーザに対して重要なメッセージを掲示する「掲示板」のような役割を果たすので、このような「投票」をお願いする投稿を Pin 留めすることが効果的です。あまり Pin が多すぎると目立たせたい Pin が埋もれるので、用が済んだ Pin は削除したりといった工夫もしています。
(ちなみに、ユーザが個人的に投稿をブックマークしたい場合に使う機能が Star です)
会場を借りる
ボランティアベースで運営しているPerl入学式ですので、会場も無料もしくはなるべく安価に借りられるところで行っています。
東京はIT企業が多いこともあり、無料で会場を貸してくれるIT企業に恵まれています(ありがとうございます!)。沖縄は琉球大学工学部の学生の皆さんが頑張ってくれるおかげで、琉球大学構内を無料でお借りすることができています(ありがとうございます!)。
とはいえ、東京以外の都市だと、ある程度の広さの会場となりうる部屋を所有していて土曜日も対応可能といった企業は意外に少なく、その場合は安価な会場を有償で借りることになります。この場合、会場費はJPAから支援してもらっています。
Perl入学式のサポーターはボランティアで来てもらっているという話をすると驚かれたりもするのですが、会場といった物理的リソースに関しては「Perlを通して多くの人にプログラミングを知ってもらいたい!」という志だけでは確保することは難しくもあり、JPAの支援に助けられています。
当日の運営
最近のPerl入学式は土曜日の13時開始が標準的です。東京では、だいたい20分前くらいにはサポーターが会場入りして、テーブルや椅子などをセッティングしたりといった会場設営作業を行います。また講師はスライド資料の準備をしたりします。
13時過ぎに開始をしたら、あとは講義時間となります。一度でも参加してくださった受講生の皆さんにはおなじみですね。
講師はスライド資料の解説、その他サポーターは演習問題などで苦戦している受講生のサポートを行います。
その他
- ビル開場作業 (土曜日に自由に出入りできないビルの場合)
- 会場の写真撮影(JPAへの活動報告資料作成用など)
- 受講生の出席記録(同上)
- ピザ0次会をやる場合、参加者数を聞いて注文をしたり、飲み物購買など
- 懇親会(居酒屋など)に行く場合は参加希望者を募って、場合によっては予約を入れる
といったタスクもあります。
17時過ぎに講義が終了したら、ピザ0次会があればそれを挟んだあと、会場の原状復帰をした後に会場を後にします。希望者はこの後懇親会へ行きます。
後日
次の日以降、GitHub Issue 上で当日の運営の振り返りを行います。ここ1〜2年はフローが確立したこともあり、軽く振り返りをして終わりになります。
講義中に講義資料の不備などを見つけた場合、各回運営 Issue で報告されたりします。簡単なものであれば即座に誰かサポーターによって修正が入りますが、内容が込み入ったもの、一つの修正が複数の修正を生んでしまったりと整合性的な意味でボリュームが多くなるものなどについては独立した Issue が立てられて修正方針を議論したりすることがあります。もっとも、数年間そういう活動をしてきたことによって、最近は講義資料の大きな不備というものはだいぶ上がらなくなってきました。
講義資料の修正は GitHub の Pull Request の仕組みを使って行います。Pull Request ベースでの開発フローに馴染んでいる方にはお馴染みな方法ではありますが、その詳細はまた別の機会にご紹介しようかなと思います。
各回運営以外のタスク
上記でご紹介したのは各拠点での各回の運営ですが、それ以外のタスクもあります。これも GitHub Issue で管理しています。直近のものだと
- 新しい(無料もしくは安価な)会場を借りられるか模索
- 資料の大規模な修正についての議論
- 資料のライセンスについての議論
- 出席や活動記録の取り方を2017年度から変更する議論
- ウェブサイトの大規模な更新についての議論
- 企業出張版Perl入学式の進捗や仕組み整備について
- キッカソンの運営について
- アカウント棚卸し
- 各種ツールの移行(上記のツール変遷を参照)
- 新拠点開拓
- 直近だと、沖縄(2016〜)、札幌(2017〜)、そして2018年度も?
といったものがありました。ほぼ GitHub Issue ベースのオンラインでとはいえ、色々議論していますね。
年度が終わると、それまでの受講生の方でPerl入学式に興味を持ち続けてくれたりPerlの勉強を独学で続けている方に、次はサポーターでもどうですかとお願いをすることがあります。
サポーターになることで、受講生に教えることによって独学では得られない知見が得られたり、Perlプログラマとして第一線で活躍しているサポーターの方々と一緒に活動することで刺激を受けたりといった効用があります。さらに、上記のようなモダンなツール群でのコミュニティ運営が学べるといった効用は、Perl入学式のサポーター活動で得られるPerlプログラミング習熟以外の貴重な体験なのかもしれません。