こんにちは。ギフティの菊川です。TwitterのIDは @kikunantoka です。 2019年11月7日に開催された RubyWorld Conference 2019 に参加させていただきましたので、その1日目のレポートをします。平日の開催でしたが、ギフティでは、参加費を負担してくれて、勤務扱いで参加できます。
RubyWorld Conference とは
ビジネスとハッカーコミュニティの架け橋になりたいという想いから開催された Ruby の国際会議で、毎年島根県松江市で開催されています。今年で11回目の開催になります。Ruby に関する発表の他、スポンサーブースや地域のブースなどがあります。地域と一体になって開催されていて、地元の学生も多く参加していたのが印象に残りました。今年の RubyWorld Conference では、ギフティとして初めてスポンサーをさせていただき、Platinumスポンサーとしてブースを出展し、弊社の CTO がスポンサートークをさせていただきました。
1日目全体の感想
1日目は Matz さんの基調講演の他、WebサービスやIoTなどの様々な分野で Ruby を利用して開発している事例の発表などがありました。改めて、 Ruby のコミュニティの素晴らしさやその適用範囲の広さ、価値を実感しました。様々なセッションがありましたが、その中でも個人的に特に響いた Matz さんの 「How to dominate the world」という表題の講演について取り上げたいと思います。
How to dominate the world
Ruby が世界で人気の高い言語になった歴史から、抽象化と一般化をして、どうやったら世界中で人気になるものを生み出すことができるか、という主旨の発表でした。Matz さん曰く、下記の4つの原則があり、この原則は様々なソフトウェア、プロダクト、サービス、組織に適用可能だそうです。
- Motivation
- Target Audience
- Community
- Goal Seeking
Motivation
Matz さんは高校生の頃に様々な言語に触れたことから、「これらのプログラミング言語を作った人がいる、自分も作ってみたい、プログラミング言語を作るのは、究極の自由だ」と思ったことをきっかけに言語の設計を始めたとのことでした。ソフトウェアは作って公開したからと言ってもすぐに世界中で使われる訳ではなく、人気が出るまでの長い期間、モチベーションが続かないといけない、だからこそ長く続くモチベーションが大事、とのことです。
Target Audience
対象になる人をちゃんと具体的に想定しないといけないということでした。Ruby の場合は Matz さん自分自身だったとのことです。注意しないといけないことは、空想の人を定義してはいけないということで、マクドナルドを食べに来てる人にヘルシーなハンバーガーを提供してもだめだったという話が例に挙げられていました。
Community
ポリシーと哲学がコミュニティを形成し、Ruby の場合はそれが「楽しさ」であるとのことです。また、「本人が望むのであれば、様々な形で関わることができる状況を作り出すことが大事」、「不完全は必ずしも悪くはない」ということで、完全でないものの方が人々を惹きつけ、Ruby はコミュニティの力で育ってきた、とのことでした。
Goal Seeking
Ruby 3のリリースに向けて、「Ruby 3 x 3」という一見無理な目標を掲げたところ、実際に3倍近くまで高速化ができたとのことでした。期待を超える目標を掲げることが大事で、馬が移動手段だった時代の人にどんな乗り物が欲しいと聞いても、速い馬が欲しいというだけで、車は生まれなかったという話を例に挙げられていました。この話の中で Ruby 4 の話も少し挙がり、 今回初出し情報であるRuby 4 の目標「Faster, Smarter」が飛び出ました。
これらのことを自分に当てはめる
「You can do it too」ということで、これらを実践することで、みんなも世界中で使われるサービスやプロダクトを作ることができるので、やっていきましょうという締めでした。
さいごに
僕は言語を作ってみたい、と思った訳ではないのですが、僕も様々なWebサービスを使っていて、自分も作ってみたいと思ったことをきっかけにソフトウェアエンジニアになったので、 Matz さんの言語を設計し始めたきっかけに、勝手ながら共感してしまいました。「You can do it too」ということで、自分もやっていきたいという気持ちになりました。また、ブースに来てくださった方やセッションの合間に話をしたり、他の企業の方と交流できたのも良かったです。