はじめに
ペイトナーでエンジニアインターンをしています田崎です!
私は人生で初めて参加したテックカンファレンスであるRubyKaigi2022についての感想や自分が考えたことについてお話したいと思います! 今回はRubyKaigiのセッションの中でもTrick2022とContribute to Rubyについて取り上げたいと思います。
Trick2022
https://rubykaigi.org/2022/presentations/tric.html#sep08
Trickとは
Trickとは
- ’T’ranscendental(霊的領域に関する、世俗を超越した、超絶技巧)
- ‘R’uby(ルビー)
- ‘I’mbroglio(極めて混乱した、恥ずかしい事態)
- ‘C’ontest(コンテスト)
- for Ruby ‘K’aigi
から取った名前であり、Rubyで記述された複雑かつ面白いコードを発表し競い合うプログラミングコンテストです。
私がRubyに初めて触れたのはこのペイトナー社にインターンとして参加したことがきっかけで、初めからプロダクトを作ることを目標に勉強していました。ですので私は常に綺麗なコード、読みやすいコードを書くことを意識していました。 しかし、このコンテストはむしろその逆で、私はとても驚くと共に一気に興味をそそられました。
私が特に感動したものはYusuke EndohさんがMost global 「最もグローバルで賞」を受賞した地球儀が廻るような作品です。https://github.com/tric/trick2022/tree/master/03-mame
地球儀が回って見えるところや、地軸の傾き、地図としてのディティールにもとても感動し、制限のある中でこのような美しい作品を作り上げられた技術力の高さに憧れを抱きました。地球儀をRubyで実装するという点もRubyコミュニティの広さを感じることができたような気がします!
Trick感想
発表されていたコードはどれも私では解読不可能でしたが、実行結果はとてもワクワクするようなものばかりでした。 自分がプログラミングを始めた頃を思い返してみると”Hello World”が出力されることに感動し、少しずつ勉強してジャンケンができるようになったりと、楽しく、色々な可能性を秘めていると感じさせてくれる存在としてプログラミングがあったと感じています。実務や研究でコードを書いていくうちに私はそのような童心を忘れていたのかもしれません。
Contribute to Ruby
こちらはRubyの開発者であるMatz氏(https://twitter.com/yukihiro_matz/) によるセッションでした。
導入
まずはじめに語られたのはRubyという技術に対する数々の意見?についてでした
「Rubyはスクリプト言語として良すぎる」 「スクリプト言語にオブジェクト指向はいらない」 「Rubyは遅い」 「Rubyは死んだ」etc…
これらについてMatz氏はフェアではない意見に対して不満を持っているとおっしゃっていました。 機能やツールの不足などデータに基づいた批判はありだけれど、虎の威を借る狐のようにPythonなどを引き合いに出し批判するのは建設的ではないということです。 (お話の中ではPythonの威を借るユーザーとおっしゃっていました。)
真の価値について
では真の価値とは何なのか?そのことについて”y”で終わる英単語を挙げていました。
- Productivity
Gemやフレームワークが充実することでRubyの価値がより高まっているとのことでした。
- Community
これはMatz氏がRubyの価値の中で一番大切であるとおっしゃっていました。 現在Rubyコアチームが中心となって開発を進めるとともに、Gemの創造や使用というところでRubyの価値を実現しているとのことでした。
- Joy
Matz氏はRuby使用者から感謝の言葉を向けられた時に喜びを感じるそうです。 Matz氏をはじめとする開発者の方だけでなくそのご家族が使っているサービスもまたRubyで作られているということも多くあり、そういった人々の生活の中で価値を創っているということを実感するときにも喜びを感じるそうです。
- Money
Rubyを発表した当初はアメリカで30数人程度の集まりであり、その人々は面白そうというところから来た人が多かったそうです。しかし現在はビジネス的に必要だからということでコミュニティが拡大し、それによりRubyコミュニティでお金が回るようなったとおっしゃっていました。 現在は有名な企業、サービスでRubyが使われており、経済的な規模で見てもRubyが及ぼす影響も大きいと私も感じています。
このように価値を考えていく中で世界を広くみると 上であげたような数々の批判などのノイズは無視でき、これからも価値を生み出していく中で鍵となるのはコミュニティであり、Rubyに関わる人々のコントリビューションが大切であるとMatz氏はおっしゃっていました。
Matz氏が求めるコントリビューション
- Publicity
Rubyコミュニティに参加している人にTwitterやブログなどで情報を広めてほしい Rubyの経験やテックブログ、サービスなどの成果物等の報告など
→これらが開発者の精神安定にプラスの影響するとのことです
- Reporting Bugs/Feature Requests
バグや提案を共有してほしい
- Fixing/Implementing
バグ修正や機能開発を行ってほしい
- Documentation Update
プログラマはドキュメントを書くのがあまり好きじゃないため、ドキュメントが疎かになってしまうこともある。そのためドキュメントアップデートのプルリクエストや修正依頼等を出してほしい
- Gems
Gemを公開してほしい
→Gemを公開しオープンソースに貢献することでリクルーティングにもプラスになる
- Triage
月1回行われる開発会議において、リクエストを捌くときにイシューが多すぎてmerge時期が前後してしまったり、重要なものの見落としが生じてしまう。ので検討事項の優先順位づけや議事録、検討事項の管理をしてほしい
- Translation
多言語に翻訳されているが十分ではない。ユーザーの母国語ドキュメントを作りたい
- Conferences / Meetups
カンファレンスの立ち話などで刺激を受けることがあるのでRubyKaigiをはじめとするイベントに参加してコミュニティ活性化してほしい
- Hiring Developers
企業が使ってRubyを使っているのならRuby開発のフルコミメンバーを用意してほしい
Contribute to Ruby感想
特定の技術について使用している人や詳しい人は身近にもいますが、その技術を作った人、ましてや、Rubyという世界的に使用されている技術の開発者のお話を聞けたということはとても貴重な経験でした。開発者ならではの悩みや今後の展望などとても濃い内容のお話を聞くことができて私もモチベーションをいただきました。
最後に
3日間開催されたRubyKaigiですが、どのトピックでも共通して言えることは「Rubyという技術が好きである」ということのように思いました。好きだからこそより良くしたい、深く勉強したい、Rubyを使って面白いものを作りたいなど、皆さん情熱を持って取り組まれているのだろうと感じました。私は今まではRubyの一使用者でしたが、このカンファレンスに参加した経験をもとに、コミュニティのメンバーとして活動していけたら良いなと思います。