株式会社リクルートライフスタイル

Rubyの導入でプログラマの美徳を改めて意識

株式会社リクルートライフスタイルは、宿・ホテル予約サービスである、じゃらんに代表されるような、誰もが知っているサービスを複数抱えている。それと同時にPOSレジアプリである、AirレジのようなITテクノロジを出発点にした新たなサービスを続々と生み出している。

市場環境の変化に対応するために

「弊社で従来より使っているJavaの重要度はこれからも変わりません。基幹部分を中心にこれからも利用されます。ただ、フロントに近い部分ではRubyとそのフレームワークであるRuby on Rails等、スクリプト言語を利用した開発を併用していきます」 (小川 健太郎氏 以下、会話部分はすべて小川氏によるもの)

小川氏は2012年にリクルートライフスタイルに中途入社し、現在は同社の新規事業創出、スマートフォンアプリ開発、ホットペッパービューティーのwebサイト構築に対してエンジニア組織のマネージャーとして携わっており新技術の採用検討も担当している。

Rubyを採用して開発に臨む理由は市場環境の変化に対応するためだ。サービスの更新スピードに対する顧客の要望は日々高まり、それにともなって製品リリースサイクルを上げていく必要がある。

リクルートライフスタイルは、旅行・食事・美容・買い物など普段の暮らしで消費頻度が特に高い分野とIT技術が交わる領域をビジネスの対象としている。日常消費に対する需要は普遍的ではあるが、志向性は日々刻々と変化するものであり、その変化をソフトウェアに素早く反映するのには、柔軟性の高いRubyのようなプログラミング言語の採用が必要だったというわけだ。

「モバイル端末の高性能化と比例するように、リッチなコンテンツをユーザーが求めるようになりました。弊社のサービスでも想像力と技術力を駆使しながら消費者の要望に寄り添ったサービス及びシステム設計が必要となっているのです」

定量化してみるとRubyが一番よかった

ここでもう少しRuby採用について話を掘り下げたいと思う、数あるスクリプト言語の中でもRubyを採用した理由はどこにあったのだろうか。小川氏は以下の様に説明する。

「私がRubyのファンだったことが採用の検討をするきっかけだったのは間違いありません。ただし、基盤技術の採用については常に定量的なデータを重視しています。例えば、速度に対するベンチマークを取った時には、主要スクリプト言語と比較してRubyが一番数値的に速いね。というような具合です。その他にも色々と項目はありますが、今回のRubyの件に限らずカッコイイとかクールとかそういった直感的な感覚をデータ収集、分析する事によって可能な限り数値に置き換えて判断しています。データを重視することは弊社の開発チームの文化と言えるかもしれません」

Rubyとは違う話だと事前の断りを入れて、技術採用に関して以下のように付け加えてくれた。

「リクルートライフスタイルのブランドの多くはどれも巨大で安定性が重視されます。それでも新しい技術にチャレンジしていく事は必要です。例えば、ビッグデータ分析のApache Sparkの導入など、枯れきっていないフレームワーク導入することもあります。もちろんその際には、まずは新しいサービスで導入するなどチャレンジしやすいシステムを選んでいます」

Rubyを採用して制作に臨んだ、キュレーションサイトのギャザリー

Rubyを使った開発でエンジニアの意識が変わった

市場の環境変化に合わせ、開発をより柔軟に行うためにRubyを導入したことを冒頭で述べたが、Ruby採用により同社のエンジニアの意識は大きく変わったようだ。

「サービスは一度作ったら終わりではないという意識が定着しています」

Rubyを使うことにより開発スピードが向上した。そしてリリース頻度が増えた。その結果ユーザーが求めるサービスを迅速に提供できるようになった。ただし、小川氏はリリースの回数を重視しているわけではない。リリースを増やすということは、その頻度に耐えることができる仕組みを作りあげる必要があり、その過程こそがエンジニアの意識変化に役立っていると語る。

「デプロイするにもブランチを職人芸的にマージしていく担当に頼っているという状態でした。属人化することなく毎日リリースできる体制を整えていく中で、エンジニア達自身が、どうすれば自動化して効率化できるのか、そして安全にリリースできるのかについて日頃から気を配り出しました」

 開発、リリース、フィードバックという一連の流れをチーム全体で意識することによって、従来であれば、ここからの作業は別担当だからという他人任せの部分がなくなり、開発者1人1人のサービスに対するコミット感、密着感はより強く高まっている。

「怠慢といえばプログラマの美徳*とされるものの1つですが、Rubyの導入で怠慢について改めて意識するきっかけとなりました」

*プログラマの美徳しての怠慢とは、ルーティン作業を避ける為に役立つプログラムを書いたり、何度も同じ質問に答える必要がないようにドキュメントを書いたり、怠慢であることで全体の労力を下げることに対して意識を向けることができるということ。

Open Source Softwareへの貢献

リクルートライフスタイルは2016年度から一般財団法人Rubyアソシエーションの協賛会員としてRubyの普及と発展に対しての活動支援を行なっている。インタビューの最後にRubyを含めOSSに対する貢献に対する考え方について伺った。

「OSSに対する貢献という視点で弊社を見るならば、まだまだOSSを使うことで利益を享受している段階」

 と前置きしつつ、小川氏はエンジニアのOSS活動に対して、ポジティブな考えを持っている。

「良いエンジニアになるためには、たくさんの技術者と交流すべきだと私個人は考えています。その点Rubyは日本国内にも、多くの開発者が存在しておりいくらでも機会を作ることができる。この優れた環境を最大限に活用すべきだと思います」

 Rubyであれば日本でも多くのカンファレンスが開催されている。特にRuby Kaigiのようなイベントでは言語開発者達と交流を図ることができる。読者によっては、言語開発者コミュニティーと言うと、遠い存在のような気がしてしまうかもしれない。しかし、カンファレンスに行けば気軽な雰囲気の中で雑談(まつもとゆきひろ氏とでも)することが可能だ。さらに日本語を使って会話できるというのも大きな利点かもしれない。エンジニア同士の交流の機会から自身のモチーベションを高めていくこともできるだろう。

Githubにはリクルートライフスタイル社のレポジトリーも存在しており、すでにいくつかのプロジェクトが掲載されている。今後、同社がRuby関連の開発でもOSSに対しての貢献もでてくるかもしれない。

※本事例に記載の内容は取材日時点(2016年9月)のものであり、現在変更されている可能性があります。