メルカリは創業以来、「新たな価値を生みだす世界的なマーケットプレイスを創る」というミッションの達成を目指し、歩み続けてきました。フリマアプリ「メルカリ」は月間1,300万人を超えるお客さまにご利用いただけるサービスにまで成長。従業員数は1,800人を超えました。しかし、サービスや組織の急成長・急拡大の裏側には、さまざまな困難や変化、そして挑戦がありました。
今回、メルカンでフォーカスするのは「エンジニア組織における意思決定の背景」についてです。フリマアプリ「メルカリ」、そしてスマホ決済サービス「メルペイ」は、どのような技術的・組織的な変遷を経て、今があるのでしょうか。それぞれのサービスで得た失敗を、どのように乗り越え、今どんな課題に直面しているのか。そして、どんな未来を描いているのかについて、代表取締役会長兼CEOの山田進太郎、執行役員CTOの名村卓、そしてメルペイ取締役CTOの曾川景介を迎え、話を聞きました。テクノロジーの力を信じ、事業に懸け、組織をリードしてきた3名。その内容を前編・後編に分けてお届けします。
USの「ダブル」とマイクロサービスは同じタイミングだった。メルカリのターニングポイントを振り返る
ーまずは2013年の創業以降、メルカリが直面した技術的な分岐点と、その意思決定の裏側について伺っていきたいと思います。早速ですが、名村さんにとって印象深い分岐点はいつですか?
名村:僕が入社したのは2016年7月で、それ以降の大きな意思決定はUS版メルカリの「ダブル」プロジェクトですね。これはGo Boldな決断でした。それまではUS版メルカリはJP版メルカリと同じコードベースだったので、例えばUS版のUIを一部修正するのに、JP版サイドにも確認する必要があって、なかなかスピーディな開発ができなかったんです。US版で起きる変更や修正が少なからずJP版にも影響が出ますからね。ソースコードをUSとJPで完全に分けた、全く新しいUS版メルカリをゼロからつくる、というのが「ダブル」でした。これはGo Boldでしたね。
名村卓(メルカリ執行役員CTO)
ーちなみに経営会議で正式に「ダブル」が決定し、社内に発表されたのは、2016年12月ですよね。
名村:そうそう、僕が入社したのが7月なので、その約5ヶ月後の出来事でした。最終的に決めたのは、たしかトミーさん(メルカリ創業者・富島寛)だった気がします。僕は結論として聞きました。
山田:「ダブル」の話は、技術的な意思決定というか「意思決定をどうできるようにするか」という話だったと思う。だから多分、順番的にはマイクロサービスが先の話だったかな。
名村:そうですね。USではJPよりも早い段階でマイクロサービスを取り入れるべきだと話していました。
ー名村さんが、US版メルカリの開発にジョインしたのいつ頃でしょうか?
名村:出張ではちょくちょく行ってましたが、正式には2016年10月からですね。このタイミングでUSの開発をしながら、マイクロサービス化を進めました。本格的に開発に関わりはじめた当初、今までの開発スタイルでは、ローカル(現地)で採用したメンバーをオンボーディングするのは不可能だと思ったんですよね。
ーそれは、どういう意味ですか?
名村:当時のコードベースでの開発は不可能だなと思ったんです。そもそも日本語だし、データも巨大だし、PHPのコードにも古いものと新しいものが混在している状態でした。でも、この開発の決断があったからこそ、メルカリは急成長できたのも事実。成長の代償として、技術負債を抱えざるを得なかったと思います。
曾川景介(メルペイ取締役CTO)
名村:日本からの出向メンバーで開発するのであれば構わないけど、ローカルでエンジニアも増えつつあったし、マジョリティにしていきたいという方針があったんですよ。でも、現状のソースコードでつくってもらうのは難しいなと。少なくともUSでつくる新機能については、既存のコードベースとは別に切り離されたものをつくらないとオンボーディングができない。なので、「ダブル」の開発が決定したタイミングはチャンスだと思ったんです。アプリをスクラッチでつくるからアプリ側のアーキテクチャは新しくできると思い、このタイミングでサーバーとクライアントの通信の無駄も省きたいなと。それに伴って、「ダブル」のタイミングで、マイクロサービスのアーキテクチャの構成をサーバーサイドにも導入したというのが最初の経緯ですね。
ー「ダブル」と「マイクロサービス」は同じ話だったんですね。
名村:「ダブル」の決定は経営的な意思決定の印象だったのですが、それに便乗するかたちでアーキテクチャをUS側で進めようとしました。
山田:USで独自でつくっている機能はマイクロサービスでつくってましたよね。結局、外見だけ変えればいいというわけではないので、新しくAPIをつくるときはマイクロサービスにしようと。「ダブル」をはじめて、既存の部分もラップしながら開発をしましたよね。あれって同時にやってたんでしたっけ?
名村:同時にやりましたね。
山田:たしか最初にアーキテクチャをつくって、そのラップを通すようにして新機能をつくりましたよね。アプリをすべてつくり変えるときに間に一枚レイヤーをつくって、新しい機能はマイクロサービスでつくり、既存部分はPHPのままでしたね。
ー名村さんは当時から、将来的にJP版メルカリのマイクロサービスを担当すると考えていましたか?
名村:まったく考えてないです(笑)、USをいかにマイクロサービスにするかだけを考えていました。
曾川:たしか当時、ソウゾウ(メルカリの子会社 ※2019年7月解散)でIDPというメルカリの共通IDを軸にしたプラットフォーム(メルカリIDを使ってさまざまなサービスにログインできる機能)の開発をしていたんですよね。
ー当時は「メルカリアッテ(2018年5月終了)」など、いろんなサービスをやっていたと思うのですが、IDプラットフォームはフィールドをもっと広げていくイメージでしたか?
名村:US版メルカリも、そのあとに立ち上がるメルペイもそうだし、他のサービスにも横展開していく思想だったかなと。技術的な大きな意思決定や変化でいうと、やはり「ダブル」が起点になりましたね。それから技術は大きく変遷しました。そのあとの大きな意思決定は、APIをフォークしたことですね。
曾川:APIをフォークしたのは、僕が入ってからだったので、もう少しあとかと。
山田:それでいうと、JPのマイクロサービス化以降じゃない?
山田進太郎(メルカリ代表取締役会長兼CEO)
曾川:僕がソウゾウに入社した2017年6月時点では、マイクロサービスにすることは大筋決定していて、それが王道だよねと名村さんとも話をし、そのまま続けようと思った記憶があります。
エンジニア1,000人体制の発表、グローバル採用へ
名村:たしか2017年くらいに、進太郎さんと話していたときに、エンジニア組織を今後どうしていくかというビジョンを示さないといけないという話をしたことがあって。そのときに、「Googleはエンジニア組織に余裕があって、エンジニアの力で機能を変えられる世界観がある。メルカリにどのくらいのエンジニアがいたら、そういう世界観がつくれるのか」という話をしていました。今のメルカリのスピードで進むと、5年後や10年後には相当数のエンジニアがいる状態だよなと思って。
ー具体的に、どんな数字を描いていたのですか?
名村:2020年に1,000人のエンジニア組織を目指すという話をしていたのが2017年。「1,000人か……」と(笑)。「今後、メルカリはこういうことにチャレンジしたいから、バックエンドはこれくらい必要、フロントエンドはこのくらい必要」とか、そんな議論をして、最終的に1,000人になったんですよ。1,000人がメルカリを開発する世界観って、今の状態だととても難しいなと思った記憶はありますね。
山田:そうそう。そういえば当時「Mercari Technology Roadmap 2017-2020」という資料をつくったよね。
名村:ありましたね(笑)。APIは当時のままだとリリースのスタックが起きるくらいなので、今の10倍にエンジニアが増えたら無理じゃんって。クライアントのリリースも遅延していたり、レビューに多くの時間がかかったりする。当時、高山さん(Engineering Manager・@mootoh)に、「Androidって今のアーキテクチャって、どれくらいの人数まで同時に開発できますかね?」って聞くと「5人くらいですかね」と。さすがに難しいなと思ったんです。組織が大きくなっても大丈夫なアーキテクチャに、中長期的に変えていかないと、1,000人体制になったときに、ものすごい生産性の低い組織になってしまうなと。そうであれば、USで試していたマイクロサービスにしなくちゃいけないし、クライアントサイドもデザインシステムやコンポーネントなどを進めて、役割を細分化して独立させるアーキテクチャにする必要があって。そうじゃないと、みんなが好き勝手に開発できる環境はできないよねと考えるようになりました。
ーなるほど。今、社内で進んでいるいろいろなプロジェクトや組織の構想は、2年以上前に描いていたんですね。振り返ってみていかがですか?
山田:今って、JPのエンジニアはどのくらいいるんでしたっけ?
名村:2018年の時点で、350人以上(メルペイを除く)ですね。
山田:2018年に287人と書いてますね。
名村:越えてますね。2018年にMTC(Mercari Tech Conference)をやったときに、1年前(2017年)の2倍どころか3倍に増えていたんですよ。勢いよく伸びすぎたのかもしれませんね。
ー「1,000人のエンジニア組織」という話がありました。それに応じて採用も日本だけではなく、海外も視野に入れようとはじまったのでしょうか? インドのIIT(インド工科大学)での採用をはじめたのも、2017年6月ですよね。
山田:そうですね。国内だけで1,000人を目指せるのかと。そもそもIT企業ってそんなに数がないし、ソフトウェアエンジニアも少ないじゃないですか。だとしたら、国内に留まらず外国籍のメンバーを積極的に採用する必要がありました。またサービスをさまざまな国の、さまざまなお客さまにとって使いやすいものにするためにも、ダイバーシティのある人材が必要です。あとは、新卒採用を本格的にはじめて、エンジニアを育成すること。この2つをエンジニア組織の方針として決めたんです。
ーこれもかなりGo Boldだなと。
山田:たしかに、いざ採用をはじめていったら「All Hands(全体会議)やSlackのやり方はどうなる?」「翻訳や通訳は?」とか、いろいろと問題が発生しました。Slackでのコミュニケーションは日英併記じゃないとダメとか、オフィシャルなドキュメントは英語もないとダメとか。めちゃくちゃ大変だけど必要なプロセスですね。今、一番影響が大きいのはエンジニア組織だと思うけど。
名村:そうですね。エンジニア組織の4割は外国籍ですからね。メルカリの場合、US版メルカリの開発を日本で進めていたので、英語に対する拒否感はあまりなかったのも事実ですね。なので他社に比べたら、グローバル採用がスムーズに進んだなと思いました。
山田:あとはミッションにもあるように、グローバルを目指すということは全社的に理解されているからね。そこはスムーズだったのかもしれない。
名村:ドキュメントのコメントやソースコードのプルリクエストも英語化することにしましたが、否定的に捉える人はほとんどいなくて。会社全体はすごくポジティブだった印象がありますね。
山田:最近は結構、社内で英語が聞こえるようになりましたよね。
名村:ミーティングも英語でやるケースが増えてきていますし、All Handsも試験的に英語で行ったりしています。
山田:とはいえ情報格差はまだあると思うけど、会社としてもD&I(Diversity & Inclusion)のポリシーをつくって、イベントや社内セミナーを開催したりして、異なる価値観や考え方に関する教育も取り入れています。もちろん海外メンバーからすると「まだまだ」だと思いますが、着実に進んではいるかな。日本人のプロダクト組織のメンバーも英語を話さないといけない環境だから、それを成長の機会に捉えていると思いますね。
ーメルペイはどうですか?
曾川:プロダクト的にも、お客さま的にもまだ日本でスティッキネスが強いし、今後もそれは続くのですが、海外メンバーと仕事をする機会は今もあります。海外メンバーにもいろんなリージョンがいて、中国のメンバーだったらメルペイの事業理解がすごく早かったり、そうじゃない地域の人だと違う考え方を持っていたり。そこのバックグラウンドは何をもって共有していくべきかは大事ですよね。メルペイは「次世代の金融機関」をつくっていきたいと思っているので、それは日本のレギュレーションやパートナーさまとじゃないとできないわけで。そこの理解を持っているのはありがたい。
ーそれは何より心強いですね。
曾川:中国はそういうエコシステムをすでに体験しているから、実感として持っているのではないかな。彼らは、僕らが経験していないことを経験しているわけなので、そんなメンバーと一緒に働けるには心強いし、何より一緒に同じプロダクトをつくってこれてよかったと思います。
-
山田進太郎(Shintaro Yamada)
早稲田大学在学中に、楽天株式会社にて「楽オク」の立上げなどを経験。卒業後、ウノウ設立。「映画生活」「フォト蔵」「まちつく!」などのインターネット・サービスを立上げる。2010年、ウノウをZyngaに売却。2012年退社後、世界一周を経て、2013年2月、株式会社メルカリを創業。
-
名村卓(Suguru Namura)
2004年株式会社サイバーエージェントに入社後、アメーバピグ、AWA、AbemaTVなどの新規サービスの立ち上げに従事。2016年7月、株式会社メルカリに参画。US版メルカリの開発を担当、2017年4月、執行役員CTOに就任。
-
曾川景介(Keisuke Sogawa)
京都大学大学院情報学研究科システム科学専攻修士課程を修了。2011年にIPA未踏ユース事業に採択。大学院修了後にシリコンバレーの FluxFlex社にてWebPayを立ち上げる。ウェブペイ株式会社の最高技術責任者(CTO)としてクレジットカード決済のサービス基盤の開発に従事、LINEグループに参画しLINE Pay事業を経験。2017年6月メルカリグループに参画。
-
-