※ 本記事はSansan Advent Calendar 2024およびRuby Advent Calendar 2024の14日目の投稿です🎄
こんにちは。
名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。
仕事部屋が寒すぎて脚がキンキンに冷えているので、分厚いルーズソックスみたいな靴下を履いています。サンタさん、床暖房が欲しいです🙏
さて、今回はこれまであまり関わることがなかったRubyコミュニティに参加した感想について書こうと思います。
はじめに
まずは、簡単に自己紹介をさせていただきます。
私はこれまで、Webフロントエンドまわりを主に担当していましたが、現在は生産性向上に向き合うDPE1チームに所属し、Railsで書かれたバックエンドの改善にも取り組んでいます。
Eightは12年の歴史を持ち、1800以上のモデルを誇る巨大なRailsアプリケーションであるため、改善を進めるにはRubyやRailsについてもっと深く理解する必要があると感じるようになりました。
元々カンファレンスや勉強会に参加することは好きだったので、新しい知見を得つつ実際の現場の声を聞くために、Rubyコミュニティに参加してみることにしました。
参加したイベントとその印象
たくさんのイベントに参加したので、ざっくりとカテゴリ分けし、それぞれの印象について書いてみます。
カンファレンス
カンファレンスとしては、RubyKaigiとKaigi on Railsに参加しました。
RubyKaigiは、技術的に深い内容に焦点を当てたイベントで、言語そのものについての話やツール開発に関する議論が中心でした。今年私が行ったTSKaigiやKotlin Festと比較しても、言語やツールを作る側からの視点が多かったと思います。
実際にRubyコミッターや有名なOSSの作者の方々と直接ディスカッションができ、今後のRubyの未来を一足先に聞ける、非常に有意義な時間でした。
Kaigi on RailsはRailsに特化した実践的なセッションが多く、開発現場での苦労や解決策が共有されていました。
懇親会では、Railsを使っている企業の方々と現場の課題について話すことができ、とても参考になりました。
大きなアプリケーションは基本的にRailsで書かれていることがほとんどなので、同じ課題を抱えていることが多かったです。
Before / Afterイベント
カンファレンスに関連して、前後で開催される勉強会にもいくつか参加しました。 Beforeイベントではカンファレンスの予習ができ、当日には内容をより深く理解できました。 また顔見知りを作ることで、カンファレンスの懇親会もより楽しむことができました。 Afterイベントでは、内容の復習に加え、見逃したセッションの内容も解説され、カンファレンスを補完する役割を果たしていました。
地域コミュニティ
地域コミュニティ(地域.rb)への参加も印象的でした。 Omotesando.rbでは、多様なバックグラウンドを持つエンジニアが集まり、レベルやコンテキストの異なる中でLTを通じた交流が行われていました。初心者からベテランまで気軽に話せる雰囲気が素晴らしかったです。 Asakusa-bashi.rbsは型にフォーカスしたイベントで、特定のテーマに絞った議論ができたのは有意義でした。個人的には型にすごく興味があるので、参加してよかったです。
参加報告記事の執筆
コミュニティ参加とは少し異なりますが、部署内でカンファレンスに参加してくれる仲間を募り、みんなで協力しながら参加報告の記事を書くことにも挑戦しました。
これらの記事の執筆は、EightがRubyエンジニアを採用していることを周知する目的だけでなく、部署内のエンジニアにアウトプットする習慣をつけてもらいたいという意図もありました。 複数人で記事を書く形式にすることで、執筆の負担を減らし、一人では難しいというメンバーにも声をかけやすくなりました🎉
コミュニティの文化
Rubyコミュニティに参加して感じた特徴をいくつか挙げてみます。
初心者も玄人も一緒に楽しめる
Rubyコミュニティには、Ruby歴20年のベテランから、プログラミングスクールでRubyを学び始めた初心者まで、さまざまな人が参加しています。 そういったレベル感に関係なく誰もが気軽に参加でき、交流を楽しめる雰囲気がありました。 Slackで初歩的な質問にも親切に答えてくれる方がいたり、勉強会ではレベル別にLT枠を設けているなど、配慮が行き届いていると感じました。 Rubyを長年使っている方々の話を聞くと、Rubyに恩返しをしたいという声を多く耳にしました。 そういった気持ちが初心者のサポートにつながっているのかもしれません。
作者が意見をしっかり発信している
Rubyの開発者であるMatzさんをはじめ、有名なOSSの作者の方々が自分の意見やスタンス、あるいは哲学をしっかりと発信している印象を受けました。 言語やツールの開発においては、多方面からの意見が集まってくるわけですが、しっかりと自分の主張を元に取捨選択することでリソースが分散されずに済みます。 使う側としても、この機能はもうすぐ実装されそう、この機能はしばらく実装されないだろうから新しいツールを探す、といった判断がしやすいのではないかと思いました。
飲み会好きな人が多い
RubyKaigiではRubyコミッターをはじめ、飲み会好きな人が多い印象を受けました。 もちろんただの飲み会ではなく、技術的な話やRubyの未来について熱く語る場になっていました。 特に有名な開発者同士だと、お互いの開発している機能やツールに関して率直な意見を交わしていて、これがRubyの進化につながっているのかもしれません。 懇親会などで多くの人が集まることで、つながりが増え、コミュニティ内の結束力が強化されていると感じました。
まとめ
Rubyコミュニティに参加してみた結果、Rubyについてさまざまな視点から深く知ることができました。 コミュニティの中で、Rubyの「中の人」たちの考えや、多くの企業の取り組みなどを直接知れたので非常に勉強になりました。 さらに、著名なツールの作者の方々とディスカッションを交わすことができたのは貴重な経験でした。 参加してみて本当に良かったです。
最後に、EightではRubyが好きなエンジニアを募集中です。 興味のある方はカジュアル面談からお願いします!
- Developer Productivity Engineeringの略称。開発者の生産性向上に対する取り組み。↩