IVRyがRubyKaigi 2024にRubyスポンサーとして初参加した話
こんにちは、IVRyのエンジニアの成田(@mirakui)です。Rubyでコードを書くことが好きで、RubyKaigiは2009から2024まですべて参加しています。IVRyはRubyKaigiのスポンサーは未経験だったのですが、今回のRubyKaigi 2024に"Rubyスポンサー"(最上位のスポンサーシップ)として参加してきたので、個人的な体験や思いも交えつつ振り返っていきます。
なぜ初めてなのにRubyスポンサー?
RubyKaigiは数ある技術系カンファレンスの中でも特別なものです。その理由は、
コミュニティ主導の技術系カンファレンスとしては国内最大規模であること(近年は1000人以上)
Ruby は日本生まれのプログラミング言語であり、その処理系を開発するコミッターの多くが世界中から日本に集まり、その最前線の議論を持ち寄る場所であること
2016以降は、首都圏ではなく国内のいろんな場所を転々として開催していること(京都→広島→仙台→福岡→津→松本→那覇)
大手企業が主催するイベントとは毛色が違い、オーガナイザーでありRubyコミッターの松田明(@a_matsuda)さんを中心に、Rubyコミュニティの人達が集まって作り上げているイベントなので熱量が高く、また長年の運営ノウハウもあって参加者体験は洗練されています。
IVRyのコードの多くはRubyで書かれていて、社内にRubyistは多くいますが、RubyKaigi自体参加したことがないエンジニアがほとんどでした。また、IVRyという名前はRubyコミュニティにはまだまだ知られていない、と僕は感じていました。IVRyのエンジニア達がRubyコミュニティに入って横の繋がりを作ったり、これから技術広報をしていったりするためのとっかかりとしてはRubyKaigi 2024は素晴らしいタイミングと判断しました。たまたま僕は前職で、過去のRubyKaigiでのRubyスポンサー経験があったため、様子見で中途半端にやるよりも今全力投球した方がいいだろうという感覚があり、Rubyスポンサーを選びました。IVRyはスタートアップなので、いま広報するのと来年広報するのとでは全く意味が異なってくるからです。
RubyスポンサーはRubyKaigiのスポンサーシップの中で最上位のプランであり、なかなかのお値段でありつつも競争率が高いと言われています。個人的には、そのひとつ下のPlatinumスポンサーに比べて以下の点を魅力に感じていました。
スポンサーPRトーク(3分)の時間がもらえる
僕は本編のスピーカーを出すのが一番のPRになると考えていますが今回それは叶わなかったため、1000人以上のRubyistの前に立ってIVRyのことを話せる機会がもらえるのは大きな魅力でした
ブースがでかい
ブースを希望し当選した場合に、大きめのブースが割り当ててもらえます。ブースはでかいほど良いということが知られています
スポンサーブースの当選確率が上がる…といいな(期待)
これも明記されているわけではないのでただの期待ですが、2023では会場スペースの都合もありPlatinumでもブース落選した企業があったようなので確率を上げたかった。どうしてもブースをやりたかったため
準備編
僕が考えていたRubyKaigiへの参加戦略は以下のようなものでした。
コーポレートカラーの緑を参加者の視界に入れる頻度を最大化する
IVRyのプロダクトである、電話のAI自動応答を多くの人に体験してもらう
各種懇親会にIVRyのエンジニア達を送り込み、知り合いを増やしてもらう
準備に際し、社内にRubyKaigi経験者がほとんどおらず手分けが難しかったので、上記に集中することにして以下はやらない判断をしました。
RubyKaigi事前/事後の勉強会の企画
会期中のドリンクアップの企画
ブースで配布するためのパンフレット制作
今回でRubyKaigi参加経験者を増やせたので来年以降はもっと取り組めることが増えると思います。
ブース&グッズ編
ブースは物理的な高さが重要です。人混みの中で、遠くからIVRyを視認できるようにし、視覚的な印象を残すためです。エンジニア向けイベントのスポンサーは初めてだったので、バックパネル、テーブルクロス、ロールアップバナーを新しく制作しました。
ビーチサンダル
ブースでは、IVRyを使ってRubyKaigi 2024専用の電話番号を発行しておき、AI自動応答を使って架空のレストランを予約する、というデモを展示しました。ログによるとおよそ300人が体験してくださったようで、IVRyのプロダクトを触ったことがあるRubyistを300人増やせて嬉しいです。デモを体験してくださった方には、先着でIVRyオリジナルのビーチサンダルをプレゼントしていました。
ビーチサンダルは良いアイデアと思ったのですが、みんな考えることは同じで、他社と被っていたし、なんならRubyKaigi 2024公式ノベルティがビーチサンダルでした。ただデザインの可愛さは弊社が一番だったと思っています!! 想定より多くの方にデモを触っていただけたのでビーチサンダルの数が足りず、もっと作っておけばよかったと反省です。それほど興味を持って我々のブースで話を聞いて下さる方が想定よりも多かったので、とても嬉しかったです。RubyKaigiはあったかいね…。
アロハシャツ
配布物ではないのですが、IVRyオリジナルのアロハシャツを制作しました。RubyKaigi 2024に参加したIVRyのスタッフは全員このアロハを着用していました。これめちゃくちゃ可愛くないですか??
酒豪伝説
酒豪伝説(正式名称: 琉球 酒豪伝説)というのは、ウコンを中心とする漢方やハーブから作られた、沖縄産のサプリメントです。これをブースで配ったり、IVRyのエンジニア達に持たせて懇親会等で配っていました。RubyKaigiは公式・非公式問わず飲み会や食事の機会が多いので、肝臓への負担がかかりがちです。酒豪伝説の配布は一部の(?)方々に喜ばれ、IVRyのおかげで二日酔いにならずにセッションに朝から参加できた方がいるとかいないとか(効果には個人差があります)
番外編: 黒電話のかぶり物
最近、頭に被れる黒電話のぬいぐるみを会社で特注したらしく(何で?)、これRubyKaigiに持って行きなよと代表に言われたので、よく分からないまま持っていきました。受話器が取れます。これはマジで何?
黒電話、結構高かったらしいですけど、Matzも被ってくださったので元は取れたんじゃないでしょうか。
セッション編
僕自身は自社ブースでの対応や他社ブースへの挨拶回り、スポンサーPRトークの発表練習に追われていたのであまり多くのセッションに参加できていませんが、僕が聴講した中で印象に残ったものをいくつかピックアップします。
Writing Wierd Code (@tompng)
TRICK (超絶技巧Ruby意味不明コンテスト in RubyKaigi) の長年のファンなので、前回の TRICK 2022 優勝者であるtompngさんの発表は始まる前からめちゃくちゃ楽しみでしたし、後半の Self TRICK には大興奮しました。ただのファンボーイです。最初からグラフィカルな(なんて言うんだろう?)コードを書くのではなく、エンコーダーを実装して普通のコードをグラフィカルに変換しているというテクニックが紹介され、それはそうなんだけど、ためになったというか、ぺんさんも人間なんだなよかったという気持ちになれました。
The depths of profiling Ruby (@osyoyu)
CレベルとRubyレベルを一気通貫で見られるプロファイラPf2の開発の話。SmartHRさんの事前勉強会 で頭出しだけ聞いていたけど、本セッションではプロファイリングのオーバーヘッドを減らしたり、サンプリングを19msというキリの悪い周期にすることで周期的にしか現れない負荷を見逃さないようにしたりなど、実装の工夫をいろいろ聞けました。
個人的にはRubyレベル(stackprof)やCレベルのプロファイラをそれぞれ使ってRubyプログラム(RailsやSinatraのアプリケーション)のプロファイリングをしていたことがあるけど、どちらかだけでは情報が不十分で難易度が高いな〜と思っていたので、Pf2は応援していきたい気持ちです。
osyoyuの発表を聞いたらポークたまごおにぎりが食べたくなって現地のコンビニで買いました。おいしかったです。
Ruby Committers and the World
RubyKaigi恒例の、Rubyコミッター達を壇上に上げてその場で議論してもらう企画。
インライン型アノテーションの記法の妥協点(Matzの"黙認できるライン"という表現が面白かった)や、Frozen string literal(お気持ちのぶつかり合いが良かった)、GVLの是非、CRubyのビルドシステムのレガシー化、要望が多いらしいasync/awaitの是非などの議論がありました。 @lchin の司会がなめらかで心地よかった。
特にGVLの議論で、@kosaki55teaさんが「GVLを外すと速くなると言う人がいるが、Linux kernelでの経験でいうとそれは違う。GVLを無くすとロックが無数に増える。GVLを無くすだけでは遅くなる」という旨をおっしゃっていたのが印象に残りました。なるほどな〜。
MatzはRubyの「優しい独裁者」と呼ばれることがあります。実装要望の多い機能や、Rubyコミッターの視点から実装上の都合で入れたい/無くしたい機能についても、それらを民主的に取り入れるのではなく、Matzが独裁者としてコントロールすることで、RubyがRubyらしさを維持できているんだと改めて感じました。
番外編: Ruby "enbugging" quiz
セッションではなく他社スポンサーブースの企画ですが、毎年恒例になりつつあるmameさんのコードクイズ企画が今年はSTORESさんのブースで行われていました。ruby.wasmで実装されていて、スマホのブラウザでポチポチ解けるので僕を含めIVRyのエンジニア達も、ブースそっちのけでみな夢中になっていました。
今年のクイズは、提示されたコードを書き換えて、指定されたエラーメッセージを出す(enbugging)というものでした。書き換えた文字数が少ないほど良いスコアで、どの問題も最小1文字の変更で解けるようになっていました。最近のRubyバージョンからエラーメッセージが変わったものや、パターンマッチなど新しめの機能から出る例外など、見慣れないエラーメッセージがいくつも扱われていたので新鮮な気持ちで楽しめました。Rubyのリファレンスマニュアルとにらめっこしながら挑んだことで、馴染みのない仕様の勉強にもなりました。
スポンサーPR編
セッション最終日の最後のセッション、Matzキーノートの冒頭3分をいただき、IVRyのPRをさせていただきました。IVRyが音声対話×LLMのスタートアップであること、Rubyistを積極採用していることをアピールしました。RubyKaigi 2024の締めといえる、Matzキーノート前という視聴率の高そうな枠を頂けたのは運が良かったです。
僕のトークを同僚が録画してくれましたので動画で置いておきます。
写真で振り返る懇親会
RubyKaigiは今回も公式・非公式の懇親会が無数にあり、僕が参加したものだけにフォーカスして写真でざっくり振り返ります。
Day0: ESM Night Cruise
Day1: Official Party
Day2: ボルダリングジム
車で豊崎のDボルダリングまで行ってボルダリングしてきました。こんなこともあろうかとシューズ持ってきて良かった!
Day3: After Party by mov
のれん街という横丁ビルを貸し切っての大規模懇親会。ハブ酒を初めて飲んだけど癖があまりなくて予想外に飲みやすかった! でも自分の写真を撮ってなかった…。
Day3: RubyMusicMixin by pixiv
近年のRubyKaigiの定番になっている、現地のクラブを貸し切ってのイベント。ブース撤収も終えた全日程の最後なので、今年も酒とでかい音であいまいになれました。
IVRyアロハが爆沸きしてるこのOSLOという曲はIVRyの社歌(社歌ではない)で、バロさんに絶対にOSLOかけて欲しいってみんなでお願いしてたので最後強引にかけてくれてよかった。
おわりに
IVRyはスタートアップなので毎日が勝負です。そんななか代表の奥西はRubyスポンサーとしてお金を出すこと、そしてIVRyの全エンジニア17人のうち13人も沖縄に行くことを快く了承してくれました。
IVRyのビジョンである "Work is fun" では、デスクに向かっている時だけではなく、仕事やその周辺の心から楽しむことを重要なものと考えています。
また、IVRyのバリューのひとつに "Keep on Groovin'" というものがあります。今回のRubyKaigiスポンサーブースの裏側では、IVRyのエンジニアやデザイナーが特に指示を出したりしなくても主体的にタスクを拾ってくれて、ボールがこぼれることなく当日まで迎えることができました。人事やDevRelは来てないんですか? と何人かに聞かれましたが、エンジニアとデザイナーだけで準備からブース当番まですべて分担して担当しました。手前味噌ですが、IVRyのメンバーにはこういう自然な主体性が浸透しているのが魅力的だと常々思います。RubyKaigiでIVRyエンジニアのグルーヴを感じて下さった方、音声対話 x LLM の事業に可能性を感じて下さった方、ぜひお話しましょう。
最近コーポレートサイトをリニューアルしました。Values も最新版にアップデートされています!