💎

RubyKaigi初参加の体験が良すぎたので語らせて欲しい

2024/05/23に公開

はじめに

ハイサイ!
沖縄・那覇で開催されたRubyKaigi 2024に所属企業から参加費・宿泊費・交通費を負担してもらった上で参加してきました!

所属企業としての発信は別の機会に行うとして「RubyKaigi最高!!」という感情が爆発しているため筆をとって、もとい、キーボードを叩いています。

今回が RubyKaigi初参戦、かつ、地域.rbにも参加したことない自分が、3日間の参加を終えて最初に思ったことが「RubyKaigiってつよつよエンジニアたちのためのイベントだと思ってたけどそれだけじゃないな。自分みたいな経験の浅いエンジニアや初学者でもたくさんの刺激がもらえるイベントだな」というものだったので「Rubyは触っているけどRubyKaigiとかよくわかんない」という方に少しでも届けば良いなという気持ちで書いていきます。

筆者のRuby歴

  • 別業種からエンジニアになろうとした際に最初に学んだプログラミング言語がRuby(6ヶ月くらい)
  • エンジニアとして初めて就職した受託開発会社の最初の案件がRubyでの開発
    • しかしエンジニアよりもプロジェクトマネージャー的な役割の方が色濃くてそこまでガッツリ触れていない(6ヶ月くらい)
  • その後はPHPでの開発が続き、その期間もプロジェクトマネージャー兼エンジニア的な役割(2年くらい)
  • BtoBSaaSを提供する企業に転職してそこからはガッツリRubyエンジニアとして勤務(1年くらい)

RubyKaigi 2024参加時点でIT業界の経験が約3年半、Rubyエンジニアとしての経験が途中で中断しつつも実務としては約1年半、エンジニアへの就業前の勉強期間も含めると約2年ということになります。

著しく学習能力が優れているタイプではないため、世間一般でいう「ジュニアレベル」のエンジニアであると言えるかなと思います。

RubyKaigiとは

プログラミング言語Rubyの国際会議です。Rubyの生みの親である「まつもとゆきひろ(Matz)」氏が日本人である、すなわち日本産のプログラミング言語であるということから

  • 開催都市が日本国内のどこかである
  • 日本語で行われるセッションも一定数ある
  • 参加者のボリュームゾーンが日本人

であることが他のプログラミング言語の国際会議と比べると特徴的かもしれません。

Ruby自体の開発を生業としているコアコミッター、Rubyへの貢献を日々の楽しみとしている方々、Rubyを使ってプロダクト開発をしている開発者たちがそれぞれの取り組みやRubyの将来について3日間にもわたっていくつもの講演(セッション)をしてくれます。

また、講演だけでなくRubyを使ってプロダクト開発をしている企業がRubyKaigi自体のスポンサーをしており、それぞれの企業がブースを出したり、DrinkUpイベント(飲み会)やDJイベントを開催してくれます。DrinkUpイベントはKaigi前日から開催されており、参加費も無料であることが一般的なため、参加者は実に4日間毎日酒を酌み交わすことで親睦を深めていきます。

経験の浅いエンジニアからみたRubyKaigi

ここからはいよいよ本題です。ジュニアエンジニア(IT業界歴3年半、Ruby歴2年)である私がどのようにRubyKaigiに参加してそこから何を感じたのかを述べていきたいと思います。

参加理由

沖縄にいきたかった
以上!

というのはさすがに冗談ですが「普段使っている言語の勉強ができて、しかもそれが沖縄で開催されるなんて最高じゃん」というかなり薄い動機で参加を希望したことをここに懺悔します。業務で行く(=会社のお金で参加させてもらう)方は絶対にそんな軽い気持ちで参加してはいけませんよ!

事前準備

ほとんど何もできていない

これも懺悔します。スポンサー各社が出している昨年の参加レポートや今年の事前勉強会に関するテックブログを流し読みしたり、昨年のRubyKaigiのYouTube再生リストを家事をしながら流し見したりした程度で、ガッツリ時間をとって学習するようなことは一切できませんでした。繰り返しになりますが、業務で行く(=会社のお金で参加させてもらう)方は絶対にそんな舐めた態度で参加してはいけませんよ!

Day0

Session

RubyKaigi前日のためなし

DrinkUp

そんな舐めた態度で沖縄入りしたくせに飲み会はちゃっかりDay0(RubyKaigi前日)から参加していて、この日はKONOJUさん x TwoGateさん の共同開催のDrinkUpに参加させて頂きました!

KOMOJUに所属するエンジニアがほとんど海外の方であったり、KOMOJU・TwoGateの2社とも業務上でShopifyとのつながりがあることからか、Shopifyのエンジニアの参加が多く、その影響かはわかりませんが海外からのRubyKaigi参加者が多くて、かなりグローバルなDrinkUpでした。

あまりにも英語が聞き取れなさすぎて、ちょっと申し訳ない気持ちになりながら会場を出て、雨に降られながら(RubyKaigi期間中唯一の降雨でした)「ちゃんと英語を勉強しよう」という悔しい気持ちを抱えてトボトボとホテルに戻ったDay0でした。僕の英語力が低いだけでイベント自体はとても楽しいものでした!KOMOJUさん、TwoGateさん、ありがとうございました!

Others

サウナ・温泉が好きなのでHOTEL SANSUI NAHA 琉球温泉 波之上の湯というホテルに泊まりました。会場である那覇文化芸術劇場なはーとからは遠いですが、風呂・サウナ・朝飯が最高過ぎてめちゃくちゃ快適な滞在となりました。

Day1

Session

この日からいよいよRubyKaigiが始まります!

Writing Weird Codeというセッションから開幕しました。Quine(プログラム自身の文字列と同一の文字列を出力する遊び)やクリエイティブコーディング(コードでアート作品を作ること)が大好きで、TRICKという奇妙なRubyコードで競い合うコンテストの金賞をとった方の発表でした。良い意味でイカれていて「ああ!こっから3日間こうやって僕の常識は破壊され続けるのだろうなあ!」とワクワクした気持ちになりました。
スライドが公開されているので要チェックです!
個人的にはMost Dangerousが推しです。

もう1つだけ紹介すると、Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜が印象に残りました。LLMを利用してRubyコードからRBS型を自動で推測するツールを作ったというお話でした。それぞれのModelでの性能比較もされているのですが、直前にGPT-4oが公開されたこともあり、那覇への移動中にもスライドを手直ししてなんとかスライドを完成させたとのことでした・・・!劇的なゲームチェンジが一晩で行われるLLMだからこそ起こるトラブルだったと思いますが、そんな状況でも素晴らしいセッションをされていたスピーカーの方には頭があがりません・・・!こちらもスライドを公開してくださっているのでぜひ見てみてください!

DrinkUp

この日はFindyさんのDrinkUpに参加しました!

Day1はオフィシャルパーティーが開催されるのですがRubyKaigi初心者である僕は「まあ数日前にチケット買えばいいでしょ〜〜」とのんびりしていたところ、気付いた時には売り切れてしまっており絶望しました。FindyさんはそんなうっかりRubyエンジニアを救出するためのイベントを立ち上げてくれていたのでした。

実は僕は現職に入社した時の媒体がFindyのエンジニア向け採用サービス経由でして、これでFindyさんに頂いた借りが2つということになります。いつか何かしらでお返しできるでしょうか・・・。

Others

Day0のときもそうだったのですが、IVRyのエンジニアさんが飲み会が始まる前に酒豪伝説を配ってくれました。実はIVRyの方から酒豪伝説を貰うのはこれが初めてではなく、RubyKaigi以前も東京で開催されたイベントでも酒豪伝説を配っている姿をお見かけしており、僕からすると「対話型音声AI SaaSと酒豪伝説の会社、IVRy」です。実際、連日のように飲みが続く中でIVRyの酒豪伝説は参加者たちの健康を守っていたのではないかと思います。

Day2

Session

Day2からはGood first issues of TypeProfを紹介したいと思います。
ざっくり言うとセッションを通してスピーカーであるEndoh氏が「Rubyの静的型解析ツールであるTypeProfを基本的には自分1人で作ってるんだけど、良かったら君たちもやってみないかい?」と我々オーディエンスを口説いてくださるスタイルのお話でした。

Good first issuesを謳っているだけあって

  • そもそもTypeProfとは何なのか
  • 手元の環境で試すための手順
  • どのように開発をすることができるか
  • TypeProfの実装概要
  • 初めてコントリビュートする人向けの課題

という構成でお話をされており、具体的に「まずはservice.rbから読むのが良いよ!」「いきなり機能実装じゃなくてもknown-issuesに不具合っぽい挙動を報告してくれるだけでもすごくありがたいよ!」といったように、小さな一歩に示してくれて、私のようなOSS初心者でも「やってみたい!」と思わせてくれるような、とてもモチベーティブなセッションでした。

DrinkUp

飲みの場が大好きな私はこの日もDrinkUpにいってしまいました。
Leaner TechnologiesさんのYAKINIKU Partyです!

かなりお高めなのではという?おしゃれな焼肉屋さんを貸し切ってのYAKINIKU Partyはとても満足度が高く、会話も盛り上がって、他の参加者と二次会にも繰り出したりして、楽しい夜となりました。

Others

この日は、比較的時間に余裕があったため各社のブースも回りました。個人的に一番嬉しかったのはgifteeさんのブーサー(琉球文化圏のじゃんけん)企画でした。ブースのスタッフとのじゃんけんの結果に応じて商品が貰えると言う企画なのですが、運良く勝利することができて、500円分のギフトカードを手に入れることができました。ちなみにこの文章はそのギフトカードを使って入店したタリーズ那覇空港店から書いています。(帰りたくない...)

Day3

Session

Day3は一日を通して感情を揺さぶられるようなセッションが多かったなと思います。

この日はまずRuby Committers and the Worldという、Ruby committers がステージに上がり、それぞれの思想・思い描くRubyの将来像を健全にぶつけ合う激アツなセッションから開幕します。

その後も一日を通して良質なセッションが続いていきましたが、Rubyの生みの親であるMatz氏による最後のセッション、Matz Keynoteは痺れるものがありました。Rubyを今後も成長させ続けるためには様々な面からパフォーマンスに向き合う必要があるという話、Ruby4.0になるタイミングはいつなのか、中長期的なRubyの構想などを言語の産みの親が語ってくれるという時間、エモすぎました。

クロージングでは、Chief organizerのMatsuda氏から来年の開催地が愛媛・松山であることが明かされ、最後、RubyKaigiの運営スタッフが壇上に上がって拍手喝采を受けるような形でRubyKaigi 2024は幕を閉じました。Matsuda氏が運営スタッフに謝意を述べる際の言葉遣いや表情から、感謝や優しさなどの愛の溢れる感情が感じられ、ただの一参加者である僕でさえ涙腺が崩壊しそうでした。

来年も絶対に行きたい。

DrinkUp

最終日はmovさんがスポンサーをするAfter Partyに参加しました。
国際のれん街を貸し切って行われたため「飲み屋街にRubyKaigi参加者しかいない!」という珍しい経験ができて、期間中に仲良くなったRubyist達とともに、最終日の興奮と「いよいよ終わりなんだな」という寂しさを共有しながら飲むオリオンビールは今まで飲んだビールの中で最も美味しく感じました。

その後は、RubyMusicMixinというDJイベントにも朝まで参加し、体力の限界まで遊び尽くしました!
Rubyという言語を共通言語として、様々な所属・国籍のエンジニア達が混じり合う、そんなRubyKaigiの良さを凝縮したような一夜限りのDJイベントは、他では決して味わうことのできない高揚感がありました。

Others

この日はテンションが上がりすぎた結果、ホテルに戻った後にいま思い出すとかなり恥ずかしい投稿をしてしまいましたが、あえて晒していきます。それぐらいに感情が揺さぶられていました。
RubyKaigi、最高!

まだRubyKaigiに参加したことのないあなたへ

ここまで根気強く読んでくださった方の中にはこう思われた方もいるかもしれません。「遊んでいるだけじゃん」と。

はい、100%おっしゃる通りです。
3日間を通して僕がやっていたことと言えば、セッションを聞いては「Rubyコミッターってこんなことやってんのか、すげえ!」と興奮し、ブースを回っては各社さんの手の込んだブース体験を満喫し、夜になればDrinkUpに参加して初めましてのRubyist達と杯を交わしてきただけです。

でも、まずはそれで良いのではないかなと思っています。

個人的な話になりますが、僕は周りのエンジニアと比べるとプログラミングやRubyに出会ったタイミングがかなり遅いです。20代前半のキャリアを費やした業界から離れ、完全に一度キャリアのリセットボタンを押した僕は、案の定その後にまともな職を得ることができずに自身のキャリアに不安を持っていました。それでも人生を立て直すきっかけを探している20代後半で出会ったのがプログラミングであり、Rubyという言語でした。Rubyが持つ輝きは暗中模索の中の僕さえも照らしてくれて、ネガティヴなきっかけで始めたはずがいつしか「コードを書くことを一生の仕事にしたい」と思うようになりました。

ただ、当初に感じていた綺麗な感情も、3年間の多忙なエンジニア生活の中で段々と忘れてしまっていました。Rubyを自分がご飯を食べていく上での一手段と捉えてしまっていたのです。

そんなタイミングで参加したRubyKaigi、最初にRubyに出会ったとき以上の「プログラミングって楽しい、Rubyって楽しい」という純粋な感情を思い出させてくれる3日間でした。Rubyという言語を作り・育てているコミッターの方々を知ることで日々のコーディング中にも彼らの創意工夫を感じられるようになり、日々の開発が楽しくなりました。社外のRubyist達と繋がることで「彼らと肩を並べたい」というポジティブな感情から自己学習へのモチベーションがグンと上がりました。それだけでも僕にとっては価値のある3日間だったと思っています。

さらに、RubyKaigiで感情が爆発した僕は、今まさに「多くの人にRubyKaigiとRubyコミュニティの面白さを知って欲しい」というモチベーションでこの文章を書いています。今年の怠惰な準備期間を反省し、来年のRubyKaigiでは、運営スタッフに応募するのか、所属企業の人格としてRubyKaigiへの貢献活動をするのか、個人として登壇やLTにプロポーザルを出してみるのかは分かりませんが、何らかの能動的なアクションをしたいと思っています。大きなRubyコミュニティから見ると小さなアクションですが、こういった一人一人の小さな行動が積み重なって今のRubyがあるんだと思います。

今は秀でた技術力がない僕が、今年のRubyKaigiで芽生えたモチベーションを大事に育てていつか偉大なプログラマーになってRubyにとって大きな貢献をする可能性は0ではないです。そうでなくとも、この記事をきっかけに来年以降のRubyKaigiに参加することになった方が才能を開花させて偉大なRubyコミッターに成長されることだってあり得ます。

RubyKaigiには、僕らの感情を揺さぶり、行動を変容するような熱があります。Rubyのために自分も何かできることをやりたい、という感情を芽生えさせる不思議な力があります。もっともっとプログラマーとしての実力を高めたいというモチベーションが湧いてくる大きなきっかけとなります。

そのような熱源に触れるのは、早ければ早いほど良い。もちろんRubyに触れたばかりであれば必ずしも全てのセッションを理解できるとは限りません。それでも、何もわからないその状況だって、楽しんでしまえば良い。その経験はきっと「わからなくて辛い」というネガティブな感情ではなく「自分も理解できるようにもっと頑張ろう」というポジティブな気持ちに変わるはずです。

だからこそ、僕のように経験の浅いエンジニアの方こそRubyKaigiに来て欲しいと思うし、まだプログラミングを学習したばかりで実務経験がないという方でも思い切って飛び込んで欲しいなと思うのです。

来年、愛媛・松山の地であなたと会えることを楽しみにしています。

Discussion