見出し画像

RubyKaigi 2023で圧倒的に知的好奇心を刺激されてきました

RubyKaigi 2023 お疲れ様でした。
初参加となりましたがとても有意義な時間を過ごせました。
今回はその感想を述べてゆきます。

自己紹介

  • freee株式会社 / freeeサイン株式会社 のWebアプリケーションエンジニア

  • freeeサインの認証/サブスクリプション基盤開発、他サービスとの連携開発を担当。Web API、OAuth2.0、OpenId Connect、SAMLあたりが主に触る技術ドメインです

  • Ruby / Rails 歴は3年くらい。好きなgemはomniauth

参加の背景

RubyKaigi は今回の2023が初参加です。きっかけは同じ会社のチームメイトから「一緒に参加してみない?」とお誘いいただいたことです。ウチのチームはフルリモートのメンバーが何人かいます。オフラインで全員が揃うという経験が出来てなかったので、良い機会だと思ってチケットを買いました。テックカンファレンス自体には何度か参加経験があるので少しワクワクしていました。

Day0の5/10の夜に松本に到着し、cookpadさんの記事で紹介されたtabi-shiroにチェックインしました。1階の個室に3泊4日。信州割SPECIALが適用され、宿泊費が22500円 => 18000円になり、オンラインクーポンを6000円いただきました。RubyKaigiのランチバウチャーを3000円いただけたので、旅の食事代とお土産代はほぼ賄えました。感謝です。

freeeのメンバーの方たちが0次会をやっていたので混ざろうと思いましたが都合が合わず断念しました。参加できなかった喪失感からか、宿から近い松本城のライトアップを見に行き、そこで遭遇した野良猫と戯れてDay0は終わりました。

松本城とねこ

Day1はMatzさんのキーノートからスタート。30年の経験と学びを知りました。個人的に共感したのは、「最初はソフトウェアを作るのが楽しい人たちがRubyをつくっていって、Railsの広がりと共にビジネス価値を生み出すことができるようになった」という部分です。楽しいことを続けていけばいつかビジネス価値を生み出すことができるというMatzさんの実体験は希望を感じさせてくれました。

ref↓

私が株式会社を経営していたころ、いくつかのサービス立ち上げを経験しましたが、keynoteを聞いた後に振り返ってみると利益先行だったように思いました。ピボットの判断が早すぎたかもしれません。ビジネスとして損切りを早くする意識は大事かもしれませんが、一方で、事業を継続しないと安定した利益を確保できないことも事実です。けっきょく事業を継続できないまま廃業しましたが、経営していた時期に何か一つでも自分が楽しいと思えることを継続できてたら良かったと感慨に耽りました。

keynoteに話を戻します。Rubyの過去のふりかえりをする一方で、Rubyのこれからをもっと具体的に示して欲しかったという気持ちも感じました。型宣言をしなくてもAIが発達すれば静的な型推論がもっと発達するのはその通りだと思います。ではその推論をRubyでどう実現する構想があるのか?について言及があったらもっとワクワクできたかもしれません。

Day1の ko1さんのセッションで初めてRactorを知りました。並列プログラミングについては知識が浅く、FiberですらRuby Goldを受験するときに初めて知ったくらいで、英語のリスニングが浅学なのも合わさってちんぷんかんぷんでしたが、「なんかすごそうで面白そうだな」というのが伝わってきました。Day2のsekiさんの発表も聞いてみて、雰囲気が分かったので↓の記事などを読んで掘り下げてみます。


もう一つ、興味深かったセッションとして、Rubyの基底クラスであるStringについての話がありました。 

セッション前にShopify Engineeringのツイートが投稿されていて、リンク先のブログを読んで面白いと感じました。

「Ruby の文字列はエンコーディングを認識しており、Ruby にはあらゆる文字列に適用できる 100 以上のエンコーディングが付属しています」と書かれていて、かつ、コンテキストに応じて最適な文字エンコーディングを内部的に選択するそうです。こうしたアプローチにより、言語を多くのレガシー アプリケーションや難解なプラットフォームに適応させることができます。しかしこの柔軟性の代償として、ほぼすべての文字列操作でエンコードを考慮するために必要な実行時のオーバーヘッドがかかるそうです。

以上のブログ記事を読んでからセッションを聞くと、なんとなくRubyのStringが内部実装をどのように考慮されていて、かつ、抱える課題について具体的にどうアプローチしているのか、その一端が知れて面白いと思いました。今回のRubyKaigiではパーサーの話やYJITの話に主な関心があったように見えましたが、私自身はこのStringの話が一番印象に残りました。

しかしながら3日間を通して、90%以上はセッションの内容を理解できませんでした。英語のセッションに関しては何を喋ってるのかすら分からないといった状況でしたので、若干の心苦しさとフラストレーションを感じたのも事実です。ただ、スピーカーの皆さんがとても楽しそうに喋っているのは伝わってきて、「内容は何も分からんけど楽しそうなのが良いな」と思いました。

ref↓


今の会社に3年勤めて、なんとなく仕事をこなせるようになって少し停滞感を感じていました。そこへ内容の90%以上が分からないセッションを3日間も連続で浴びました。しかもスピーカーの人たちはみんな楽しそうで、周りを見渡すといろんな人がいろんなところで交流している。とてもワクワクしていました。


普段は意識しないことに触れる時間があって、普段は交流のない人と会う機会があって、そしてみんな楽しそうでした。不思議とコードが書きたくなってたまらなくなりました。そうです、これがテックカンファレンスなのです。

私が初めて参加したテックカンファレンスはYAPC::Asia Tokyo 2013です。そのときも、今回と同じように「内容は何もわからないけど皆んな楽しそうですごい」と思いました。憧れをずっと心の中で燃やし続けた結果、2020年にWebアプリケーションエンジニアとして本格的にコードを書くことができるようになりました。

コロナを経て、オフラインでイベントを体験するという行為がかけがえのないものだと皆が認識するようになった今、今回のRubyKaigiがきっかけで参加者の方がさまざまな刺激を受け、今後の行動のモチベーションに繋がることは素敵なことだと思います。


Day1のOfficial Partyにもチームメイトと一緒に参加させてもらい、色んな人と話しました。会場には人がいっぱいで、たしか会場のキャパが500人くらいだったように思いましたが、「これは500人いても不思議じゃないな」と思うくらいには多かったです。とてもすごい。


今回感じた熱を早めに次のアクションに繋げたいので、さっそく↓のイベントに参加を申し込みました。同じく参加される皆様、よろしくお願いします。


運営の皆様、スピーカーの皆様、スポンサーの皆様、ありがとうございました。次回の沖縄での開催を楽しみにしております。何か協力できることがあればやろうと思います。

Findyさんのブースでガチャを引き、ワイヤレススマホスタンドを頂きました。ありがとうございます。

充電効率も高く、縦置きも横置きも対応していて使いやすい


最後に、今回の開催地である松本市にありがとうと言わせてください。水と空気の美味しい最高の場所でした。

コーヒー、ハムエッグ、ポテトサラダ、フォカッチャ
ごまだれせいろ
Japanese crazy zaru soba
アスパラとたけのこのリゾット
うな丼

See you next at Okinawa!
Thank you!

この記事が気に入ったらサポートをしてみませんか?