Algoage Tech Blog

Algoageの開発チームによる Tech Blog です

「OSS開発に取り組む人たちを目にして、モチベーションが大きく上がった」RubyKaigi運営者・参加者対談

2006年からほぼ毎年、日本で開催されているオブジェクト指向スクリプト言語Rubyに関するイベント「RubyKaigi」。今年は長野県松本市にある「まつもと市民芸術館」で5月11日〜13日に開催され、参加者1,200人を超える盛況のイベントとなりました。株式会社Algoageのエンジニアである石塚大策と纐纈優樹は「RubyKaigi」に参加し、多くの学びがあったといいます。

今回は石塚と纐纈に加え、Algoageでスクラムマスターを務め2017年〜2019年のオーガナイザーでもあった日高尚美、第1回の「RubyKaigi 2006」から運営に携わる角谷信太郎さん*、「RubyKaigi 2015」からチーフオーガナイザーを務める松田明さんにインタビュー。「RubyKaigi 2023」の感想や参加する意義などを語り合いました。

*…角谷さんは、株式会社Algoageでプロダクトチームのアジリティ向上のためのアドバイザーとしてもご助力いただいています。

Rubyに携わる者にとって“お祭り”のようなカンファレンス

――まずは、Algoageのメンバーに簡単な自己紹介と「RubyKaigi」に参加した理由をお聞きします。

石塚:私は前職とAlgoageで合計3年ほど機械学習のエンジニアとして働いた後、直近の1年ほどはRuby on Railsを使ったサーバーサイド開発とAWSを使ったインフラ構築に携わっています。「RubyKaigi」に参加した経緯としては、Rubyについての理解が徐々に深まっていくなかで、Rubyそのものを作っている人たちに興味が湧いてきたためです。

また、社内で『メタプログラミングRuby』の読書会を開催しているんですが、この本に出てくる「プログラムを生成するプログラム」という概念は、これまで自分が機械学習に取り組んできた過程で見たことのない考え方でした。Rubyの言語仕様がすごく面白いと感じて、今回カンファレンスに参加しました。

さらに言うと、AlgoageはRubyコミッターの卜部(昌平)さんに業務委託として参画していただいており、一緒に仕事をするなかで卜部さんのレベルの高さをひしひしと感じています。それもあって、Ruby周辺のコミュニティに対して興味が湧いたので参加しました。

石塚大策

松田:ちなみに余談を話すと、Rubyコミッターの私から見ても卜部さんは次元が違うくらいRubyに詳しいです。石塚さんの意見には完全に同意ですね。

石塚:卜部さんってやはりすごい人なんですね。

纐纈:私も大策さんとほぼ同じ経歴です。もともと会社がAIに取り組んでいたため機械学習エンジニアをやっていましたが、事業を方向転換してWebアプリケーションを作ることになったので、Rubyを始めました。大策さんと同じようにサーバーサイドとインフラを担当しています。

「RubyKaigi」への参加を考えた経緯も大策さんと近いので省略しますが、それに加えて日高さんがもともと「RubyKaigi」の運営に携わっていたメンバーであることも影響しています。あるとき日高さんが「『RubyKaigi』に行ってみるといいんじゃない?」と言ってくれて、確かに面白そうだなと思って参加しました。

――日高さんからも簡単な自己紹介と、2017年〜2019年に「RubyKaigi」の運営に携わっていた理由を教えてください。

日高:私は大学で情報系を専攻していて、新卒でクックパッドにエンジニアとして入社しました。その後、紆余曲折を経てAlgoageに入り、スクラムマスターを務めています。「RubyKaigi」の運営に携わっていたのはクックパッド時代です。クックパッドOSSに力を入れている会社で、優秀なエンジニアの方々と一緒にOSSに貢献する「OSSコミットデー」という日がありました。

そのイベントの際に「クックパッドの若手のメンバーを『RubyKaigi』の運営に混ぜたい」ということで一本釣りされて、3年ほどお手伝いをしていました。「RubyKaigi」の運営に携わるのは本当に楽しかったので、大策さんや優樹さんに「『RubyKaigi』はお祭りみたいなカンファレンスだから、行ってきたら?」と送り出しました。

Matz is nice so we are nice

――他の技術カンファレンスと比べて、「RubyKaigi」はどういった特徴のあるカンファレンスだと思いますか?

日高:参加者がすごく多様だと感じます。「RubyKaigi」の黎明期からカンファレンスに携わっている人もいれば、若い方々も参加していますし、年代も国籍も人種もさまざまです。

松田:ちなみに今年は38カ国から参加者が集まりました。

――38カ国は確かに多いですね。

石塚:私は今まで機械学習系や画像処理系の学会には参加したことがあったんですが、プログラミング言語のカンファレンスに参加するのは初めてでした。最初にMatzまつもとゆきひろさん)のKeynoteを視聴し、「Matzって実在していたんだ。こんなすごい人が目の前にいるんだ」という気持ちになって、感動しましたね。

纐纈:私も技術カンファレンスには初参加だったので他との比較は難しいんですが、参加前は「わりと厳粛な雰囲気なのかな」と思っていたら、良い意味で全く違いました。

かなりカジュアルな雰囲気ですし、会場内を歩いている人がウキウキしていて。私たちのような新参者に対しても優しい雰囲気を感じました。それから、Rubyコミュニティ内の著名人が普通にその辺りを歩いていたので、すごい場だなと思って見ていましたね。

角谷:2人が言ってくれた雰囲気は、昔からですよ。私も「RubyKaigi」を最初に手伝ったとき、会場に行ったら「すごい人ばっかりだ!」と思ったんですよね。メーリングリストでしか拝見したことのなかった人が会場に山ほどいて、感動したのを覚えています。

その頃に私が受けた衝撃と、同じものを2人は感じたんでしょうね。良い意味でのカジュアルな雰囲気も昔からそうだし、スポンサー企業に対しても、お客さまというより一緒にやっていく仲間として接しています。

角谷信太郎さん

松田:私は角谷さんの後を引き継いで3代目の「RubyKaigi」のチーフオーガナイザーをやっているんですが、角谷フォロワーなので、昔からのRubyコミュニティの良さを損なわないように気をつけています。かつて、私が最初にRubyコミュニティに入ったとき角谷さんやRubyコミッターの笹田(耕一)さんなどが温かく迎え入れてくださって。その雰囲気がすごくRubyコミュニティらしいと思っています。

その原動力になっているのが、たぶんMatzなんですよね。「Matz is nice so we are nice」という言葉がありますが、本当にそのとおりだと思います。要するに、MatzはRubyという世界のピラミッドの頂点にいる人で、立場的には暴君のように振る舞ってもいいはずなんですが、本当に超いい人なんですよ。彼がNiceな存在だからこそ、それに影響を受けてみんなもNiceになるという、不思議なコミュニティですね。

OSSの開発者が、自分の書いたコードを自分の言葉で語る場

――「RubyKaigi」で印象に残っているセッションはありますか?

石塚:どれも面白かったですが、特に興味深く聞いたのが「Optimizing YJIT’s Performance, from Inception to Production」や「"Ractor" reconsidered」ですね。私たちAlgoageは「DMMチャットブーストCV」というサービスを作っているんですが、ユーザー数が徐々に増えているなかで、処理の高速化や大量にリクエストをさばくことなどに関心が強まってきました。だからこそ、これらのセッションは特に勉強になりました。

「DMMチャットブーストCV」は、新規顧客をコンバージョン(CV)に導くことに特化したチャットボット型の広告サービスです。LINE上で動作するチャットボットが顧客を自動接客し、ユーザーの購買行動を後押しします。

纐纈:私が印象に残ったセッションは3つあって、まず「The future vision of Ruby Parser」。スピーカーの金子さんの話術がすごかったです。Parserってかなり難しいことをしているはずなのに、とてもわかりやすく説明してくれたんですよ。

それから大策さんも言ってくれた「Optimizing YJIT’s Performance, from Inception to Production」。処理最適化の内容そのものも面白いんですが、それに加えてセッションで語られていることの熱量と物語性がすごいことに感動しました。

あと「Implementing "++" operator, stepping into parse.y」も良かったです。スピーチの構成がきれいに練られていて、聞いていて面白かったです。そして、聞いているうちに「もしかしたら、自分でもOSSにコントリビューションできるかもしれない」という気持ちになって、モチベーションが上がりました。

角谷:そういう刺激がカンファレンスでは大事なんですよ。「自分でもやれるかも」と思えるのは素晴らしいですね。

纐纈:新しい感覚でした。

纐纈優樹

松田:石塚さんと纐纈さんからすごくいいフィードバックをいただけてうれしいです。他のプログラミング言語のカンファレンスでは、実はこういった体験ができないと思っているんですよ。「RubyKaigi」が何を他との差別化要素にしているかというと、Rubyオンリーイベントであることだけではなく、OSSの開発者たちにスポットライトを当てていることなんです。要するに、OSSの開発者が、自分の書いたコードを自分の言葉で語るイベントって他にはあまりないんじゃないかと思います。

彼らにとってRubyは仕事に使う道具ではなくて、趣味で遊ぶおもちゃです。だからこそ「プログラミングは最高」という気持ちがあふれ出ているトークが多くて、それが参加者の方々にも伝わっているんでしょうね。

Rubyでつながる交友の輪

――会場内でさまざまな人と会うことも「RubyKaigi」の魅力ですが、そうした点で印象的な出来事はあるでしょうか?

角谷:「人と会う」という観点だと、展示ブースのスタンプラリーは日高さんの発案ですよね。

松田:おおー、そうでした! まず、スタンプラリーのことを説明すると、そもそも「RubyKaigi」は会場にいる全員がRubyコミュニティの仲間であり、スポンサー企業もそうだと思っています。だからこそスポンサーのみなさんにも、ただお金を出すだけではなくて何かしらお祭りを一緒に盛り上げていただくような関わり方をお願いするんですが、そのひとつがスタンプラリーですね。

会場の受付のところで参加者にスタンプラリーの用紙を配って、各企業のブースを巡ってもらいます。参加者とスポンサーの方々との会話のきっかけにしてもらうためです。そしてすべてのブースのスタンプを集めると、運営チームから景品がもらえます。

――その発足に日高さんが関わっていたのですね。

日高:別の技術カンファレンスでスタンプラリーをやっていて、それがすごく好評だったそうなんです。そこで、運営会議のときに「『RubyKaigi』でもやってみましょう」と提案しました。スタンプラリーを最初に実施した2018年の仙台開催のときにすごく好評だったので、恒例の取り組みになりました。

日高尚美

松田:イベント会場で出会うといえば、今年は「#rubyfriends」*が印象的でした。角谷さんはたくさん写真を撮っていましたよね。

*…技術カンファレンスの会場で会ったRubyコミュニティの方々と親睦を深め、その様子を「#rubyfriends」というハッシュタグをつけてSNSに投稿すること。

角谷:本格的に大勢の人たちが対面で会う「RubyKaigi」は久しぶりだったので、みんな #rubyfriends のことを忘れていそうだと思いました。そこで、「RubyKaigi」が始まる前の日に、emorimaさんやあちゃさんと「みんなで『#rubyfriends』をやって盛り上げましょう」と相談したんですよ。最初は私たち3人だけしかやっていなかったんですけど、だんだん他の人もやってくれてタイムラインがにぎやかになりました。

「RubyKaigi」は“旅行”の側面を持っている

――開催地での観光や食事も「RubyKaigi」の醍醐味です。

纐纈:「RubyKaigi」の会場では松本市名産のリンゴジュースやお菓子が無料で楽しめるようになっていて、それにまず感動しました。それから「RubyKaigi」の参加者には地元のお店で使えるクーポン券が配られていて、開催地域の活性化にも貢献しているんだと感じましたね。松本市はご飯がおいしくて景色もきれいで、大策さんと一緒に感動していました。

石塚:何種類か地酒を飲んだんですが、どれも最高でした。

纐纈:大策さんは地元名産のおそばを無限に食べていましたね。

石塚:いろいろなお店で、ひたすらおそばを食べていました(笑)。本当においしかったです。

松田:まさに、そういった楽しみ方をしてほしくて全国各地で開催しているのでうれしいです。

松田明さん

日高:おいしいものを食べるのって幸せじゃないですか。だから「RubyKaigi」の運営に携わっていた頃にも、食事には全力でこだわりましたね。会場にケータリングを発注する際には、業者の方に「地元名産の食材を入れてください」というお願いを毎回していました。

角谷:私が特に感動したのは水ですね。松本市は、名水とされる湧水が町中にあるんですよ。その湧水の井戸が市内に20カ所くらいあって、ほとんどの場所に足を運びました。

松田:お酒ではなく井戸水を飲み比べるのが、松本市ならではの飲み歩き体験ですね。クーポンに関して触れると、2022年に三重県の津市で開催した際に、ローカルオーガナイザーのuskeさんが商店街の人に話をつけて、地元の飲食店で「RubyKaigi」の参加者を優遇してくれる仕組みを実現したんですよね。それが、すごく評判が良くて。

三方良しの取り組みじゃないですか。1,200名以上の参加者が地元の飲食店で安く飲み食いできる。飲食店の方々はお客さんを誘致できる。「RubyKaigi」の運営側もイベントが盛り上がってありがたい。良いことずくめなので、今年も実施しました。地元の飲食店の方々に「新型コロナウイルスの影響でなかなか客足が戻らなかったけれど、『RubyKaigi』の期間中に大勢の人が来てくれて、活気が戻ったよ」と、喜んでもらえましたね。

角谷:「RubyKaigi」が終わった次の日に松本市で飲み歩いていたら、店のマスターに、「お兄さん、Rubyの人? 来年は那覇市でイベントが開催されるんだって? 頑張ってね」と言ってもらえました。町の人たちに認知してもらえたのはうれしかったですね。

毎日の生活にポジティブな影響がある

――「RubyKaigi」の参加前と後とで、価値観の変化はありましたか?

石塚:Rubyという言語への理解が深まっただけではなく、やる気が向上したのが一番大きいです。登壇者のみなさんが楽しそうに自分の書いたコードの話をしているので、自分もそうなりたいと思いました。「RubyKaigi」に参加した後は仕事以外でも毎日コードを書いて、必ず1日1コミットは積むようにしています。

纐纈:私もポジティブな影響が多かったです。まず、当たり前なんですけど、Rubyについての知識がすごく増えたこと。参加前にはRubyについての理解が浅い状態だったのに、カンファレンスで内部的な処理の流れやデータ構造なども学ぶことができたので、数日間でかなりの情報を得ることができました。

それから、モチベーションはかなり上がっていて、自分も登壇者の方々のようにレベルの高いエンジニアになりたいと思いました。OSSにコントリビューションできるように、GitHub上にあるRuby on RailsリポジトリのIssueやPull Requestを毎日見るようになりました。好きな言語でコードを書くのって楽しいじゃないですか。だから日々の仕事が楽しくなりました。

それから、個人的に大きな変化なのが、外の世界とつながりたくなったこと。コロナ禍の影響もあって、あまり外部のコミュニティには参加してこなかったんですよ。でも「RubyKaigi」に足を踏み入れてみると、Rubyを好きな人たちが、楽しそうにRubyの話をする世界がありました。それを体験して本当に面白いなと思ったんですよね。「RubyKaigi」後は、積極的にエンジニアの方々とのつながりを作るようになりました。

――Rubyを用いたプロダクト開発に携わる人が「RubyKaigi」に参加することの意義はどのような点だと思われますか?

日高:Rubyの裏側にRubyを作っている人たちがいると知ることで、気持ちが芽生えます。それから、会社のなかだけではなくて広いコミュニティとつながることができます。私の場合は「RubyKaigi 2017」の際に、すごく印象的なことがありました。

当時の私は、イベント最終日の翌日にクックパッドの同僚と開催地の広島を観光して帰ろうと思っていたんです。すると、Rubyコミッターの西嶋悠貴さんが急きょ参加してくれて、一緒に観光できました。この例のように、Rubyを好きな方々とのつながりができる、良い場だと思います。

石塚:特定技術の裏側の仕組みを理解することは、より良いサービスを作ることにもつながります。普段なかなか目にすることのない高度な技術に触れられる機会として、「RubyKaigi」は有意義な場です。

角谷:ぜひ次回も来てもらいたいですし、「RubyKaigi」以外にもRubyコミュニティがたくさんあるので、顔を出して知り合いを増やしたり、登壇したりしてもらえるといいなと思います。

松田:Asakusa.rb*にもぜひ来てくださいよ。大歓迎です。

*…毎週火曜日の夜に、東京下町周辺のRuby技術者たちが集まって何かをハックする地域Rubyistコミュニティ。

次回の「RubyKaigi」に向けて

――最後にみなさんから、来年に沖縄の那覇市で開催される「RubyKaigi 2024」に向けての意気込みをお願いします。

「RubyKaigi 2024」は、沖縄の那覇市にある「那覇文化芸術劇場 なはーと」で実施されます。沖縄の海底を模したデザインの、美しい色合いの会場です。

纐纈:次回も絶対に参加します。今回はちょっと真面目過ぎるスタンスで参加してしまったので、遊び足りなかったという後悔があります。次回は肩の力を抜いて、がっつり遊びに行く気持ちで参加したいです。

石塚:私も沖縄がとても楽しみですし、ぜひ参加したいと思っています。

日高:「RubyKaigi」はどんな方もウェルカムなイベントなので、この記事を読んでいる方もぜひ来てください。

石塚:来年は日高さんも行きますか?

日高:行きたい。優樹さんや大策さんは、イベント運営にも関わったらいいのに。

角谷:参加する以外にも、セッションのプロポーザルを出すという関わり方もあります。そういったことにも、ぜひチャレンジしてほしいです。今回のインタビューでみなさんが話してくれたように、「RubyKaigi」に参加したことで仕事やプログラミングが楽しくなったと言ってもらえると、やはりイベント運営をやっていてよかったと思います。

松田:そうですね。「RubyKaigi」は参加していただくだけでもとても楽しいとは思いますが、他にもいろいろな関わり方があって、それぞれ違った楽しみが味わえます。やっぱりみんなの前で登壇していただくのが一番の花形なのでそこはぜひ目指してほしいですし、運営に携わってくれるメンバーも絶賛募集中なので、興味を持たれた方はご連絡ください。今後とも「RubyKaigi」をよろしくお願いします。来年は那覇でお会いしましょう!