ゲームのアプリ開発から出前館へ

田中優之氏(以下、田中):出前館の事業に関して、京都開発室の田中からお話ししていきたいと思います。それではよろしくお願いします。

今日はまず自己紹介をして、出前館の事業の紹介をいたします。次に、実際に出前館でどういったかたちで業務をしているかを少しお話しして、その後開発組織全体で今どういったかたちで動いているかを紹介し、最後にまとめをお話しします。

そうしましたら、まずは自己紹介です。改めまして田中と言います。よろしくお願いします。LINEの京都開発室にいます。アプリチームのマネージャーをしています。

これまでやってきたことを簡単に紹介したいと思うのですが、アプリの開発をいくらか経験してきまして、ゲームのアプリをUnityで作ってきて、その時にiOSとAndroidのクロスプラットフォームで開発をしてきました。そのあと、実はiOS寄りにキャリアが乗っていって、カーナビのアプリのiOSエンジニアを担当したり、地図アプリのiOSエンジニアを担当したりしました。

ちょっと今iOSのお話をしたのは、実は今日はAndroidの採用イベントということだったので、できればAndroidエンジニアにお話をしてもらおうと思ったのですが、都合つかずというところで、僕がお話しいたします。Androidのほうで、もし僕がお答えできないところとかがあれば、持ち帰ってお話できるようにしますので、遠慮せずにご質問いただければと思っています。よろしくお願いします。

2020年の4月ですね。ここ1年ちょっとぐらいかなと思うのですが、出前館を担当してきました。

あとこれは完全に僕のプライベートなことなんですが、最近家で仕事をすることが多いので、ちょっと料理に凝っていまして、いろいろがんばってやっています。最近はパン作りとかもしていたりして、ホームベーカリーで小麦粉を入れてパンを作るだけなんですが、いろいろやっておいしくご飯を食べていたりしたらちょっと太ったりして、最近は筋トレをしたりしながら在宅ワークもがんばってやっています。

出前館の事業

すみません、完全にプライベートなことでしたが、本題に入っていきたいと思います。まずは、出前館の事業を紹介したいと思います。

出前館ですね。CMとかいろいろ出しているので、ご存知だったらうれしいのですが、フードデリバリーのサービスをしています。ここの画像に、8万店以上ということで紹介しているんですが、私たちは加盟店と言っていて、実際に提携している飲食店の方々がこれぐらいいて、私たちとしてはフードデリバリーのサービスなので、みなさんの地域でデリバリーができるお店を紹介するプラットフォームとして、サービスしているというかたちです。

私たちが出前館事業として目指しているところとしては、「デリバリーの日常化に向けて」という1つのキーワードがあります。そこに向けて、アプリのメンバーもそうですし、他のサーバーのメンバー、システムのメンバーが実際にどういうところで動いているかというところはありますが、1つはモダンなシステムへというところを目指しています。これはイメージとしては実は出前館という会社が、みなさんが思っている以上に、実は歴史のある会社で、長くずっとやってきました。

システムをずっとメンテナンスしながら機能を追加したりして、ずっとサービスを提供している状況になっています。アプリももちろんそうですし、サーバー側ももちろんそうです、という状況です。

今は事業を拡大していこうというフェーズで、より大きなトラフィックを捌こうとなってくると、いろいろと改修してより良くしていかないといけないところがあります。そこをもっとよくしていくために、1つのキーワードとして、どんどんモダンなシステムにしていくために動いていたりします。これは、先ほども申し上げたとおり、アプリ側ももちろんそうで、アプリ側のチームの業務の一部として、このモダンなシステムへというところも、1つ大事なキーワードになっています。

そしてもう1つは、一番大切なサービス体験をより良くしていくために、会員基盤を整えたり、位置情報技術ですね。フードデリバリーのサービスアプリ側も、位置情報の技術を使っています。

もう1つは、サービス体験を向上させるために、マシンラーニングを用いたレコメンドに今取り組んでいます。

B2CとB2Bのアプリを開発

出前館は、今紹介したのがざっくりとした事業概要ですが、もう少しシステムのことを見ていくと、視点を大きくB2CとB2Bで分けて見ることができます。B2C向けのサービスとして出前館が出しているものは、一般のエンドユーザーさんに使ってもらっているものです。

もちろんWebでも、SPとPCでも出しています。B2Cでエンドユーザー向けに出しているサービスと、B2Bのシステムが実はかなり巨大なんです。また、実際にそのエンドユーザーの方から注文をいただいて、それを実際に届けるまでの指示を出すような配送のシステムが、やはりこのフードデリバリーのサービスの肝なので、そこもかなり巨大になっています。

出前館では「シェアリングデリバリー」というサービスをプラットフォームサービスと合わせて展開しているのですが、前述した「配送システム」の部分と大きくかかわってきます。「シェアリングデリバリー」は、簡単にいうと配達代行と同じで、私たち出前館が代わりに店舗の商品を配達しますよというようなサービスです。私たちは「配送システム」を含めた「シェアリングデリバリー」を支えるシステムを持っています。

このあとお話をするのが主に出前館アプリ、B2C向けのサービスを今日本側で担当しているので、そこをメインでお話ししていきたいと思っています。

React Nativeを使ったチーム開発

では、実際の開発業務について少しお話ししていきます。今B2C向けとB2B向けのアプリがありますよとお話ししましたが、具体的にはエンドユーザーさん向けにiOS版の出前館アプリとAndroid版の出前館アプリがあります。

エンドユーザーではなくて飲食店の方々や、あとは実際に私たちが提携しているドライバーさんなどが使っている法人向けのアプリがあります。それが今(スライドに)書いてありますが、iOSが4つ、Androidが4つと、かなりの数があったりします。

iOSのB2B向けのアプリに関しては、実はもともと、今の日本のメンバーで担当してきたんですが、今はいろいろなチームがアプリの開発をしてくれて、韓国のメンバーも一緒に入って開発しています。B2B向けのアプリの開発に関しては、その韓国のメンバーに今ジョインいただいている状況です。

なので今私たち日本のメンバーで対応しているのは、B2C向けの出前館アプリになります。そちらで使っている技術はReact Nativeで、クロスプラットフォーム開発をしています。

React Nativeのようなクロスプラットフォーム開発をされたことがない方も多いと思うのですが、クロスプラットフォームの技術を使っているからといって、Android技術の知識がいらないかというと、まったくそんなことはなくて。そこも必要なので、今チームにAndroidのメンバーもいますし、iOSのメンバーもいて、ワンチームで開発をしている状況です。

あと、おもしろいところとしては、出前館は少しお話ししたように、歴史も長くていろいろと直していかないといけないところが多いので、そこをなんとか早くやっていきたいというところもあります。なのでアプリチームも、アプリだけにとどまらずにもう少しフロントエンドのBFF、Backends For Frontendみたいなところの開発も手伝いながら、全体としてやっていくほうが良くなっていくかもね。というところでやっています。

今トライしているGraphQLを使っている部分の改修も、実はReact Nativeで使っているTypeScriptを使って開発されていたりするので、そこも少しずつ一緒にやっていけばいいね、とチームとしては少しずつトライを始めているところです。

もう少し中身についてお話しすると、実際にはiOSのメンバーとAndroidのメンバー、そしてあとReactのメンバー1名と書いてありますが、もともとフロントエンドを担当されているメンバーもいいます。アプリの開発もしてきている方なので、一番得意なのがReactだったりしたので一緒に入ってもらったり。あとは業務委託の方と一緒に開発しています。

また、使っている技術の関係で、今お話ししてきたように、特に新しい案件の開発は、iOSのメンバーとかAndroidのメンバーとか、そういうのは関係なくて、今この開発でやろうという方がいれば、両方のプラットフォームで開発して、QAでテストして開発をしています。ただ一方で、OSの知識が必要なタスクもあったりもするので、それは一緒に相談しながら担当を分けて開発をしています。

なのでアプリの開発のチームとしては、LINEの中では若干珍しいチームかなと思いつつも、こうやってiOSとAndroidのお互いの知識を出し合いながら、一緒の機能を開発していく、一緒のチームでやっていけているのはけっこうおもしろいなと思っています。「Androidってそうやって動くんだ」とか「iOSってそうやって動くんだね」みたいなところを、いろいろ見ながら開発をしているので、これはこれですごくおもしろいチームになっているなと思っています。

出前館の開発組織

今組織はどんなかたちで動いているんですかという全体像なんですが、僕も今京都にいますし、京都にも東京にもアプリのメンバーがいて、出前館アプリの開発をしています。

というのが今の出前館の、全体の開発の様子になっています。

ちょっと駆け足だったかもしれないんですが、今私たちとしては、デリバリーの日常化に向けて開発を進めてきていまして、先ほど申し上げたとおり、出前館アプリの開発を今日本で中心にやっています。その中で、やはりクロスプラットフォームの技術を使ってはいるんですが、Androidのエンジニアの方に、ぜひ参画していただけると助かるなというのがあるので、今日いろいろこのあとQAとかでもお話できればうれしいなと思っています。僕からは以上になります。