こんにちは、withサーバーエンジニアチームです。
withは 2026年10月16日(金)、17日(土)に開催された Kaigi on Rails 2026 にスポンサーとして参加し、ブースを出展しました!
今回は、ブース出展で得られたことや、参加したセッションで印象に残ったことを紹介します。
withはイベント冒頭のスポンサーLTにも登壇しました。
withの出展内容
withではどんな出展をしたのか、簡単に紹介させてください。
今回、withを知ってもらうきっかけとして、おみくじを引いて景品がもらえる企画を用意しました。
おみくじは好評で、景品の中ではダンボールカッターが人気でした。
小吉の景品はキーキャップ。
可愛いです。
QRコードを読み込むと受けられるエンジニアタイプ診断も実施しました!
👇はタイプ別の結果です
ブース出展で得られたこと
ユーザーの生の声を聞けた
ブースでは、マッチングアプリについてのアンケートに加えて、技術への向き合い方についてもお話を伺いました。
印象に残ったのは、withを通じてお付き合いされた方や、結婚された方にもお会いできたことです。
自分たちが開発しているサービスについて、喜ばしい報告を直接聞けて嬉しかったです。
また、今回のブースでの交流をきっかけに、カジュアル面談につながった方もいました。
出展する側になると、他のブースの見方も変わる
私は今年 withに入社したのですが、エンジニア向けイベントにスポンサーとして参加していることも、withに魅力を感じた理由の一つでした。
そんな思いもあり、今回は自分もブースを運営する側として、「どうしたらもっとブースを盛り上げられるか」「withの開発組織に興味を持ってもらうにはどうしたらよいか」を考えるのが楽しかったです。
自分たちで出展してみると、他のブースの企画やグッズにも、これまでとは違った視点で目が向くようになりました。
参加者として楽しみながら、「次に withが出展するときは、こんな工夫をしてみたい」と考えるのも、出展する側ならではの面白さでした。
参加したセッションのレポート
参加した中から、印象に残ったセッションをいくつか紹介します!
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
発表資料:Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
電話番号の契約履歴を毎月取り込んだ事例の発表でした。
毎月の契約状況をすべて保存すると600億件になるところを、まず必要な書き込み速度を見積もり、既存のDB構成では時間内に処理できないことを定量的に確認していました。
そのうえで要件を見直し、契約状況が変化した時点の履歴を電話番号ごとにまとめて保存することで件数を減らし、運用可能な構成を実現していました。
スライドでも非常に丁寧に説明されているのですが、600億件という規模だけで実現が難しいと判断せず、数値をもとに実現可能性を確かめ、要件や構成を見直していく過程がとても参考になりました。
そのほか、データストアの選定や運用中の問題への対応も同様で、判断の根拠が具体的に示されていて、設計の進め方として学びの大きい発表でした。
RailsはAIという責務をどう受け入れるのか
記事をAIでレビューする機能の開発を通じて、AIの処理をRailsのどこに置くかを考えた話でした。
当初はプロンプトの組み立てやAPI通信などをモデル層に置いていましたが、用途や利用するAIサービスが増えるにつれて、AI関連のコードも増えていったようです。
サービスクラスへの切り出しなども検討したものの、プロンプトやレスポンス形式をどう整理するかは、自分たちで決める必要がありました。
そこでActive Agentというgemを採用し、レビュー対象を受け取ってAIを呼び出す処理はエージェントに、プロンプトの文章と返してほしいJSONの形式はビューに分けています。
利用するAIサービスやモデルの設定もまとめ、普段のRailsに近い構成で扱えるようにしていました。
印象に残ったのはRailsらしい書き方にこだわっていた点です。
普段のRailsと同じ書き味で新しい責務を自然に扱えるようにするという考え方は、AIに限らず意識していきたいと思いました。
How to Design Configuration for Rails Applications
発表資料:How to Design Configuration for Rails Applications
設定値の保管先には、環境変数やcredentials、YAML、DBなどがあり、追加するたびに置き場所がばらつきがちです。そこで、値の保管先とコードからの参照方法を分けて考える、という話でした。
保管方法は「本番環境の秘密情報」「開発環境の秘密情報」「秘密ではない情報」に分け、それぞれに合った方法を選びます。秘密情報とそれ以外では管理方法が異なるため、すべてを1か所にまとめるのは現実的ではないからです。
一方、コードから設定値を参照する方法は統一します。小規模なアプリケーションならconfig.x、大規模なら設定用のRubyクラスを使う方法が紹介されていました。アプリケーションの各所でENV.fetchやcredentialsを直接参照すると、設定値を使うたびに、その保管先を意識する必要があるためです。
また、必須の値がなければENV.fetchで起動時にエラーにし、不正な値はバリデーションで検出する方法も紹介されていました。
他にもスライドに詳しく記載がありますが、秘密の値をどう扱うかなど、設定値についてとことん言語化されていました。特に設定値の管理について保管先と参照方法を分けて考えるという整理が分かりやすく、今後設定を追加するときに意識したいと思いました。
おわりに
カンファレンスは、セッションを聞いて勉強になるのはもちろん、その後に社内で感想を話すのも楽しみの一つだと思います。
withでも、サーバーエンジニアの社内勉強会で今回のカンファレンスの学びを共有しました。
同じセッションでも、聞く人によって印象に残るところや着眼点が違うのも面白かったです。
ブースで交流し、次回に活かす。
セッションを聞き、持ち帰った学びを社内で共有する。
次に参加するときも、そんなふうにカンファレンスを楽しみつつ成長していきたいです。
最後に、運営の皆さん、登壇者の皆さん、会場でお話ししてくださった皆さん、ありがとうございました!
with(株式会社エニトグループ)では随時新しい仲間を募集中です!
🏢 エニトグループ全体の採用ページ
https://hrmos.co/pages/enito/jobs
✍️ テックブログ(開発の裏側やイベントレポート)
https://qiita.com/organizations/with_corp
🐦 Xアカウント(イベント情報や日常の様子はこちらから)
https://x.com/enito_recruit




