Opt Technologies Magazine

オプトテクノロジーズ 公式Webマガジン

第二回関数型プログラミング(仮)の会の舞台裏

alt

2022年 01月 21日 (金)に開催した『第二回関数型プログラミング(仮)の会』の司会者側から見たレポートです。

関数型プログラミング(仮)の会とは

 一言でいえば、関数型プログラミングについて仲良くわいわい盛り上がろうという趣旨のイベントです。なぜ(仮)がつくのかというと、関数型プログラミングの定義を巡っては人によってかなり異なる見解があり、相互に定義を巡って争うことも珍しくないため、不毛な定義争いは避けたいという意図が込められています。

 関数型プログラミングは一般的になってきたわりに、言語を超えて関数型プログラミングについて語り合うイベントがあまりなかったため、筆者の思いつきで開催したというのが実態に近いです。アカデミックに近い界隈では時折そういう集まりもあるのですが、このイベントでは参加するためのハードルをできるだけ低く抑えたいと考えています。

 第一回はオンライン(Zoom)で開催され、事前登録者500名超、本番中の参加者数300名超と大盛り上がりとなりました。Gatherで懇親会を行った結果、100名近くの方が参加してくださり、活発な意見交換が行われました。

 第一回が想定以上の盛り上がりだったため、第二回を開催しても十分に人が集まるだろうと考え、開催するに至りました。

準備

 第二回を開催しようと考えたのは2021年12月初旬頃です。あまり間が空いても熱が冷めてしまうだろうという身も蓋もない判断です。第一回ではなんでもOKという形で発表を募集しましたが、第二回では実用事例を集積するのも面白いのではないかということで「現場での関数型プログラミング」をサブテーマにして発表を募集することにしました。

 基本的には第一回のフォーマットを踏襲するつもりでいたので、準備からconnpassでの参加募集までは数日程度でした。

発表者が集まらない!

 参加募集開始から10日経たないうちに参加者は100名超え。それ自体は大変喜ばしいことだったのですが一つ問題がありました。発表者がなかなか集まらないという問題です。

 第一回の時は発表者枠も比較的すぐに埋まったのですが、「現場での関数型プログラミング」というテーマゆえに発表するためのハードルが上がっていたのかもしれません。

 結局、イベントが一週間後に迫ってから、伝手を頼って発表ネタを持っていそうな方にお願いしていくことになりましたが、急なお願いにも関わらず快く応じてくださった発表者の皆様のおかげで無事にイベント開催にこぎつけることができました。この場を借りてお礼を申し上げます。

当日準備

 イベントの準備というのは地味なものです。発表者が集まったら随時connpassのページを書き換えてアナウンスして、と淡々とやるべきことをしていきます。新型コロナ禍に入ってからオンライン技術イベントは何度となく企画してきたため、この辺りの作業についてはだいぶ慣れてきた気がします。

 ただ、何度もイベントを開催するなかでもう少し改善しなければと気づいた点があります。connpassでは発表者や参加者に向けてアナウンスを流すことができるのですが、connpassのメール通知を見逃す人が多いせいか、連絡に対する反応が全体的に鈍い傾向があるという問題です。通知メールが埋もれてしまうことが多いというのは参加者の何名かから以前に聞いた話ですが、イベントの主催者として悩みの種です。特に弊社の場合、当日にならなければZoomウェビナーのURLが発行できないため、当日になってからURLを連絡する必要があるのですが、これに気づくのが全体的に遅れ気味になるようです。

 参加者への連絡については別のサービスを使うべきなのかもしれませんが、connpassの機能を使った方が全体連絡をするにはやりやすいことも確かであり、悩ましいところです。これについては未だにいい解が見つかっていないというのが正直なところです。

本番直前

 会社から借り受けていたZoomウェビナーは17:00~利用可能になっていたため、早めに入室して準備をしていました。具体的には、入室された参加者の中で発表者をパネリストに昇格したり(Zoomウェビナーではパネリストに昇格しなければ画面共有やマイクでの発声ができません)、パネリスト権限でのマイクテストや画面共有テストをしてもらっていました。初めてオンラインイベントを主催した時にはこの辺りの作業にはいくらか手こずったものの、今はだいぶ慣れたものです。

 なお、イベント開始は18:30からだったのですが、オンラインイベントをやるとどうもそこから5~10分遅れてから参加者が一通り集まる傾向があるようです。できるだけ滞りなく始めるためには、本来の開始時間より10分前に開始時間を設定するのはどうだろうかと詮無きことを考えたりしました。たとえば、今回の場合、名目上開始時間を18:20にしておくという手は使えたかもしれません。

 ただ、参加者にそのアイデアを披露してみたところ「それでは参加者がデフォルトで遅れてくることになるんじゃないでしょうか」という指摘を受け、ウームと唸ってしまったものでした。イベント運営は難しいです。

イベント開始後

 イベントが始まった後のお仕事は大きく分けて以下の5つです。私の企画イベントは一人(時折、同僚の方が助っ人に加わってくれることもあります)なので、以下の作業を全て一人で行います。そのため、発表についてきちんとしたレポートを書く程発表を集中して聞けるわけではないため、省略します。

オープニング

 オープニングでは弊社の宣伝や本イベントの趣旨、今日のタイムスケジュールなどを伝えました。既に問題なくこなせるといえばこなせるようにはなったのですが、この時にもっと盛り上げる演出などができればというのが最近考えることです。オンラインイベントでは「雰囲気」を作るのが難しいというのが本質的な弱点があるものの、画面共有を使った演出などまだまだ可能性はあるのではないかとも感じています。

発表のタイムキープ

 タイムキープについては別の人にしてもらうことも可能かもしれませんが、発表が盛り上がっているときにきっちりと時間で「切って」しまうのは、「お祭り」としてのイベントを考えると判断が難しいところもあり、この辺りも主催者である私が一人でやっています。5分を超えたら問答無用で終了という慣習があるライトニングトークはともかく、そうでない発表での時間調整は毎回悩むものです。

質疑応答の取り持ち

 発表中、あるいは発表後の質疑応答の取り持ちも重要なお仕事です。発表中はTwitterやZoomウェビナーのチャットを通じて感想や質問が書き込まれます。そして、Zoomウェビナーでは明示的に権限を与えなければ参加者が口頭で質問できないという制限があるため、Q&A機能を使ってもらったり、チャットのコメントを拾って発表者に伝えたりと結構大忙しです。この辺りの作業はリアルタイムにやらなければいけないという制限があるため、主催者である私は結構発表自体を集中して聞く時間はなかったりします。一方で、私自身が面白いと感じた発表は私自身に熱が入って主催者としてのお仕事を忘れかけてしまう必要があり、せめて二人体制でやった方がいいのかもしれません。

休憩などのアナウンス

 イベント前に当日の休憩時間はあらかじめ決めてありますが、その通りに進行すればといかないのが難しいところです。前述の、開始時間が遅れる問題や厳密なタイムキープをしないという方針の都合上、必ず予定していた休憩時間とずれが出ます。とはいえ、この作業は10分くらいと決めてエイヤっと言えばいいので、そこまで重い負担ではありません。

クロージング

 発表とライトニングトークが終わればいよいよクロージングです。こちらは比較的定型的というか、そこまで予定外が起こることはありません。次に書く懇親会の方が大きい問題といえそうです。

オンライン懇親会

 前回開催時は、Gatherを使ったオンライン懇親会を行いました。Gatherはドラクエ風2Dマップ上で参加者がアバターを操作して近づいたら会話開始というシステムです。私がこれまで試したオンライン懇親会システムの中では一番うまく機能していると実感していますが、お値段が悩みの種です。人数に対して課金されることもあり、今回はGatherの採用を見送りZoomウェビナーを使ったオンライン懇親会ということにしました。しかし、数十名以上のイベントでウェビナー懇親会は正直なところ無理があり過ぎました。この辺りはGatherとまではいかなくても、もう少しオンライン懇親会用のシステムを事前に準備しておくべきだったと痛感しています。  

まとめ

 というわけで、関数型プログラミング(仮)の会第二回について司会側からみたレポート記事でした。

Opt Technologies ではエンジニアを募集中です。カジュアル面談も可能ですので、下記リンク先よりお気軽にご応募ください。