こんにちは!BASEのProduct Divisionでエンジニアをやっております川島(@nazonohito51)と申します。
この記事はBASE Advent Calendar 2019の3日目の記事です。
前の日は id:ngsw のEC2における単位時間あたりの名前解決制限の対応と id:chiiichellのエンジニア2年生がリーダブルコードを読んで今年自分が書いたコードを振り返るでした。
今回は普段は見ることのない大型技術カンファレンス運営の裏側について書かせていただこうと思います。
こちらは文字通り裏側でクロージングの準備をしている実行委員長の背中です。
PHPカンファレンスとは
PHPカンファレンスとは2000年から続いている、PHPカンファレンス実行委員会によって開催しているカンファレンスです。最近は参加人数も1500人を超え、日本の他のプログラミング言語のカンファレンスと比較しても非常に人数が多く、おそらく日本でも最大級のソフトウェアエンジニアのカンファレンスなんじゃないかと思います。(ただし他のカンファレンスは複数日開催だったり、資本が大きかったりと、1日のみ参加費無料のPHPカンファレンスと単純に参加人数でイベント規模を比較することは難しいと考えています)
第20回目の開催となる今年は beyond .*
というテーマを掲げて、PHPのさらなる飛躍を目指したカンファレンスでした。公式サイトのロゴは飛躍するための飛行機の滑走路をイメージしたデザインとなっています。
PHPカンファレンス実行委員会とは
PHPカンファレンス実行委員会とは謎の秘密結社です。夜な夜な暗いところに集まり、フード深くかぶりながら緑色の液体を飲んで祈祷を捧げる怪しい集団です。
というのは冗談で、正体は日本PHPユーザ会のメンバーです。特に参加資格があるというわけではないのですが、基本的に1回は当日スタッフを経験された方がもっと深くイベントに関わりたいと思ったときになっていただいています。いわゆるコアスタッフと呼ばれる実行委員会のメンバーの他、当日と前日のみ手伝ってくださる当日スタッフや、会場のネットワーク周りを用意してくださるNOCメンバーなどがいらっしゃり、私も全貌を把握しているわけではありませんが、スタッフアサイン表を見る限りは今年は112名もの人数でPHPカンファレンスは運営されていました。
実行委員会は裏で何をやっているのか?
前日までの準備
今年の実行委員会が使っていたタイムスケジュールは以下のようになります。
これだけを見るとスポンサー・スピーカー・プログラム関連のスケジュールが目立ちますが、実際のところそれ以外の作業がたくさんあります。
- Webサイト
- 広報
- デザイン(Tシャツ、パーカー、ネームカードetc)
- ゲストスピーカー招致
- スタンプラリー
- 音響・映像配信
- 書籍販売、サイン会企画
- 懇親会
- 会場設計
- etc...
それぞれに担当を初回のキックオフMTGで決め、毎月1回のMTGを積み重ねながら準備を進めます。また今年はelePHPantや懇親会参加チケットの販売のためにネットショップ販売などもありました。(弊社のサービスを利用していただきました)
タイムスケジュール上は今年の6月辺りから開始していますが、ある意味本当の開始点は去年の10~11月辺りだったりします。というのも、イベントというのはまず先に場所の確保から始まります。企画だけ進行しても実際に開催できる場所がなければ何も実現できないためです。そしてイベント会場の確保というのは大変で、大体の場合1年以上前から動き始めないと予約できません。実はPHPカンファレンス2019の会場予約作業をしたのは私なのですが、参加者・スタッフの負荷を考えてイベント翌日は休日である日を確保したかったところ、そういった日はすぐ取られてしまっていたので、泣く泣く日曜日で確保した経緯があります。
前日と当日
前日にあたる11/30(土)はいよいよそれまで準備されてきたものを実現します。会場に全ての必要な物品が集まるので、それらを元にひたすら肉体労働、肉体労働、肉体労働です。
本当にたくさんの椅子を並べるのももちろんですし、他にもスポンサーブースの設営もします。
特に大変なのが実は電源で、PiOの電源は床下に収まっているのですがこのカバーがめちゃくちゃ重たいです。2,30キログラムあると聞いています。またとても持ちづらく、指を挟んだりして怪我をしやすいです。ブースへの配線次第では何十個もこのカバー開け締めしなくてはならないので、指を挟まなくてもカバー持ち上げ作業の積み重ねで腰がやられます。
そして前日作業の最たるものがこの業界では蟹工船と表現されるトートバッグのチラシ詰め作業です。丸く配置したテーブルにスポンサー様のチラシをずらりと並べ、ひたすら1枚ずつ取っていきます。本当に何時間もこの作業を続けるので、何度もぐるぐる回りながらやがて全員がバターになっていきます。
こうすることによって当日、ようやくイベントが開催することが出来ます。
そしてイベントが終われば当然のように後片付けがあります。PiOに会場をきれいな状態をお返ししなければならないので掃除を含めてまた同じような作業をしていきます。
実行委員会での私の役割
私は会場設計という役割で携わさせていただいていました。主な作業内容は文字通り会場の設計をすることで、各担当からの依頼に合わせて備品の配置を行います。また会場である大田区産業プラザPiOとやり取りすることも必要になります。
備品を配置するだけといえば簡単そうに聞こえるのですが、実際のところMTGを重ねるごとに各担当からの依頼や状況が変わり続け、そのたびに何度も書き直しました。特に大きかったのは途中のスポンサー枠の増加です。元々の計画でも過去最高の数のスポンサーブースを用意しなければならなかったのですが、途中から更に増えるとなって少し頭を抱えたことがあります。上記の図は最終決定の設計なのですが、ここまでに一体何回の書き直しをしてきたのか分からないくらい書き直しました。
私はこの役割を2年間携わってきたのですが、会場とはイベントにおけるあらゆる利害関係が最終的に収束する場所なのだという気づきがありました。それ故にあらゆる利害関係者の要求の変化に対応し続けることがこの役割のキモなんだと考えています。
会場設計とシステム設計は似ている
もう一つの気付きとして会場設計とシステム設計って似ている、というものがありました。
会場設計はあらゆる要求に対応し続ける必要があります。しかしそこには会場の物理的な制約や、あるいは要求と要求との間で発生するコンフリクトなどから全ての要求に応えきるのは実は難しかったりします。例えばスポンサーブースを増やしたくても会場の物理的な大きさ以上に配置することは出来ません。また各ブースに電源を供給しようにも会場の電源が置かれている場所は限られているため、ブースが配置できる位置はある程度限定されます。さらにはセッション会場と音が出やすいブースを近づけることは出来ないため、サイン会を行う書籍販売所やスポンサーブースをセッション会場に近い位置に置くことは出来ません。
このように会場設計は要求と要求とのバランシングや、物理的制約とのバランシングなどを行っていきます。大量の変数があるなかで、それぞれの目的をきちんと捉え、イベント進行上ある程度満足できる質に落とし込んでいく作業であるとも言えます。
これって常に技術的な制約や、現在の実装上の制限の中から、その時々のステークホルダーからの要求に応え続けるシステム設計そのものだなと感じました。なので、というわけではないですが、システム設計に興味のある方は一度会場設計を経験してみることをおすすめします。
イベント運営の醍醐味
最後に何故自分がイベント運営をやっているのか、その醍醐味は何なのかというお話をさせていただくと、今考えてみても正直良く分かりませんでした。少なくともイベントが上手くいったとき、イベントで喜んでくれる方がいらっしゃるのはとてもやりがいを感じますが、何かしら実利的な見返りがあるかと言われるとそんなに無いなと思っています。将来の転職活動のときになにかしら効果があるかと言われれば、それもあまりないだろうなと思います。(やってないよりは遥かに良い印象なのですが、純粋に転職効果を狙うなら他にもっと良い方法があると思います)
しかしイベント運営をやっていると本業における立ち回りに還元されるもの少なからずあると思っています。会社規模にもよると思いますが、会社が大きくなると自分のやっている作業が巨大なものの一部となっていきます。そのため自分で事業を直接的にハンドリングしている感覚が薄くなったりするのですが、イベント運営はそんなことはありません。ほとんど直接的にハンドリングする必要があります。
感覚的な話になってしまい申し訳ないのですが、イベント運営をやることによって普段の業務において血の通った決断を行えるようになってきた感触があります。私もご多分にもれず、言われるままに作業をしていたり、目的感があいまいなままやってきたりしている部分は多々あったのですが、どこか目的を見据えた思考や判断ができるようになってきた気がします。どういった因果関係でそうなったのか今でもはっきりと言語化出来ないのですが、先述の通りイベント運営をすることで少なからず本業に還元されるものはあると感じています。
明日はBASE BANKの id:khigashigashi さんとProduct Dev Divisionの id:smdksk です!お楽しみに!