Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

EightのエンジニアでRubyKaigi 2025に参加してきました!

名刺アプリ「Eight」でエンジニアをしている菅間(@sugamaan)です。

愛媛で行われたRubyKaigi 2025に、Eightのエンジニアメンバーで参加してきました!

今回は、それぞれの視点からRubyKaigiの感想や印象に残ったセッションについてまとめた記事をお送りします。

目次

井上

RubyKaigiへの思い

昨年の沖縄に続き、2年連続の参加となりました。 今回は、昨年のセッションで特に気になったNamespaceの続報と、現在チームでも導入を進めている型定義のセッションを中心に聞いてきました。 また、Drink Upでさまざまなエンジニアと交流できるのも楽しみの1つでした。

気になったセッション

State of Namespace

Namespaceの開発状況についての発表で、今回1番聞きたかったセッションです。 実装はほぼ完了しており、現在はエッジケースのデバッグフェーズにあるとのことでした。

実験的な機能として次のRubyに取り込まれる予定で、実用化されればRailsでのモジュラモノリスの設計が大きく変わりそうなので今からとても楽しみです。 Day3後のDrink Upで登壇者の方と直接お話しする機会があり、さまざまな裏話を聞くことができました。

(もともとは個人プロジェクトでNamespaceを欲しくなったのが開発のきっかけで、当初はもっと小規模な機能として想定していたそうです。Matzと話していく中でどんどん機能が膨らんでいったのだとか) 実際のユースケースはRailsエンジンの代替になると言われており、自分の期待通りの機能になりそうで本当に楽しみです。

Road to Go gem

2人の娘を持つエンジニアとして個人的にとても親近感のあるスピーカーだったことと、ちょうどチーム内でも他言語を使ってみようという話が出ていたこともあり、興味を持って聞いてきました。 このセッションでは、Goでgemを開発する際に面倒なビルドまわりを支援してくれるライブラリについて紹介されていました。

これまでハードルが高いと思っていた native extension が、自分でも作れそうだと感じられる内容でした。(Rust用のライブラリもあるそうです) 一方で他のセッションでは native extension はメンテナンスが大変という話もあり、業務での使い所は見極めが必要になりそうです。

とはいえ、適材適所で言語を使い分けることでエンジニアリングの幅も広がるので、まずは個人開発で試してみたいと思いました。

全体の感想

今年も熱のこもったセッションが多く、ブースや参加者の数も増えており、Rubyの未来は明るいと感じられるRubyKaigiでした。 Drink Upでは、他社の開発プロセスや採用事情などについて有意義な情報交換ができ、多くの学びがありました。 次は北海道で開催とのことなので、今から来年のRubyKaigiが楽しみです!

平石

RubyKaigiへの思い

RubyKaigiは2022年の三重開催以来の参加です。当時はプロダクト開発のみに携わっていましたが、現在はEightの技術的な課題へ向き合う立場にあり、JITや型システムに関する発表をプロダクトに活かせる貴重な機会だと思っていました。また、普段はあまり業務で出張できないのと外部エンジニアとの交流もとても楽しみにしていました。

気になったセッション

ZJIT: Building a Next Generation Ruby JIT

次世代JITコンパイラのZJITについての発表でした。現在のYJITは主にShopifyのJITチーム限定で開発・運用しているようですが、これを改善するためにSSA(Static Single Assignment)という中間表現を導入するそうです。これはLLVMやGCCでも使われているクラシックな設計で、これによって新しいコアメンバーが参加しやすくなり、より拡張性と運用性の高いシステムになることを期待しているようです。実際、いくつかのマイクロベンチマークではYJITよりも良い性能が出ているとのこと。今年の冬にリリースされる新しいRubyバージョンでは、--zjitオプションで試せるようになります。まだYJITも実用レベルになるまで時間がかかったので、リリース直後にRailsアプリケーションで使うのは早いかもしれませんが、これからの発展が楽しみなプロジェクトです!

Matz Keynote

「programming language for AI age」というタイトルで、AI時代におけるプログラミング言語の話でした。現在日進月歩の勢いでAIが進化しており、DevinやCursorといったプログラミングのためのAIエージェントも数多く開発・研究されています。そんなAI時代の中でMatzも「牽強付会」と前置きしていましたが、Rubyはそんな時代にベストな言語なんじゃないかと発表されていました。また今年がRubyの最初のリリースから30周年ということで、今年のクリスマスにリリースされるRubyのバージョンは「4.0」にしたいという話もありました。主な追加機能としては上であったnamespaceとZJITが実験的ではありますが入るとのことなので楽しみです。

全体の感想

久しぶりに参加をして改めてRubyコミュニティの熱に心打たれたイベントでした。参加・発表されている方々、全員がRubyを好きでいろんなところで議論されているのを見て、より自分もRubyという言語を好きになりました。また企業ブースやKaigi後の飲み会で色んな企業のエンジニアとざっくばらんにそれぞれの技術スタックや課題などを意見交換できたので改めて交流する場は重要だなと感じたRubyKaigiでした!

鳥山(@pvcresin

RubyKaigiへの思い

今回のRubyKaigiへの参加は、前回の沖縄に続き2回目です。Rubyの今後の方向性や最新トレンドを多角的に学びたいと思い、参加しました。特に私はEightの開発において、Rubyへの型導入を主導しているため、型に関連するセッションを中心に聞いてきました。

気になったセッション

Inline RBS comments for seamless type checking with Sorbet

型チェッカーのSorbetで新たにRBS形式のインラインコメントを使った型記述が可能になったという発表でした。従来のSorbetでは型定義をRBI形式で記述する必要がありましたが、Ruby公式の型定義形式がRBSであるため、この差異がSorbet導入時の論点になっていました。現時点では限定的な機能のみサポートされていますが、今後さらにRBSコメントが広く利用可能になる予定とのことで、大いに期待しています。また、既存の型定義をRBS形式のインラインコメントに変換するツールも紹介されており、Shopifyのサポートの手厚さを感じました。

Automatically generating types by running tests

コードを実際に実行することでRBS形式の型定義を自動生成する、RBS::Traceというツールが紹介されました。既存アプリケーションに型定義を追加する作業は非常に手間がかかるため、ユニットテストを活用して型を自動生成できる点が魅力的です。さらに、このツールが生成した型定義はRBS形式のインラインコメントとして出力可能なため、先述のSorbetのRBS対応と組み合わせて利用できそうです。一定規模のRailsアプリケーションでエッジケースの対応まで検証済みとのことで、実用性の高さが伺えました。Sorbet関連の類似ツールとしてはgelautoというgemもあるため、今後両ツールを比較検討するのも面白そうです。

全体の感想

RubyKaigiに参加して、Rubyに関する最新の動向を知ることができたのはもちろん、コミュニティの熱量も感じられる非常に充実した体験でした。個人的には2回目の参加ということもあり、前回よりも積極的に参加者やコミッターの方々との交流や議論ができ、自分自身の成長を実感しています。また企業ブースで各社の組織運営や技術改善について話を聞けたのも貴重な経験となりました。休日には松山城の観光や鯛めしを楽しむなど、充実した時間を過ごせました。

菅間(@sugamaan

RubyKaigiへの思い

RubyKaigiは今回が初参加でした。Eightに参画してRubyを使って開発するようになったので、RubyKaigiに参加して言語の動向をキャッチアップしたいと思い参加しました。また他社のエンジニアとの交流も楽しみにしていました。

気になったセッション

API for docs

Rubyの静的型チェックツールであるSteepがエディタと統合されたドキュメント機能を提供する発表でした。RBSに記述したコメントがクラスやメソッドのドキュメントとしてカーソル付近に表示され、Rubyコードの理解を助けます。従来のRDocやYARDといったドキュメントツールとは異なり、エディタが必要に応じてコメント情報をAPI経由でリアルタイムにリクエストして表示します。これにより、Rubyのコードにカーソルを合わせると関連コメントがホバー表示され、補完時にもドキュメントが表示されるようになります。型を使ったRuby開発の体験が向上していくことを感じることができた発表でした。

Ruby Committers and the World

Rubyコミッターの方々が壇上に集まり、議論を交わす時間でした。Namespace、Static Barrier、Ruby 4.0など、多様なトークテーマについて、Matzとコミッターの方々が楽しそうに議論を展開し、時間はあっという間に過ぎていきました。個人的には後方互換性を維持する難しさとdeprecateする難しさを会話から感じることができて面白かったです。このセッションでは多くのコミッターの方々に支えられてプロダクト開発ができていることを実感し、感謝を感じる時間でもありました。

全体の感想

RubyKaigiに初参加でしたが、とても良い経験ができました!セッションだけではなく、各社のブースやDrink Upイベントで他社のエンジニアと交流し、各社のプロダクトの課題や技術動向などを話すことができ、とても学びが多かったです。またRubyコミュニティの熱量の高さに驚きました。EightもRuby/Railsに支えられているサービスなので、良い形でコミュニティと関係を築いていきたいと感じました。

まとめ

来年は函館での開催です。

今年よりも少しRubyに詳しくなった状態で北海道へ参加したいと思います。

最後に、EightではRubyが好きなエンジニアを募集中です。

カジュアル面談、お待ちしております!

Sansan技術本部では中途・新卒の方向けにカジュアル面談を実施しています。Sansan技術本部での働き方、仕事の魅力について、現役エンジニアの視点からお話しします。「実際に働く人の話を直接聞きたい」「どんな人が働いているのかを事前に知っておきたい」とお考えの方は、ぜひエントリーをご検討ください。

© Sansan, Inc.