SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発現場インタビュー

メルカリはなぜマイクロサービスへ踏み切ったのか? CTO 名村卓氏に聞く、組織とアーキテクチャの今とこれから


  • このエントリーをはてなブックマークに追加

 急激な変化にも対応しうるソフトウェアのアーキテクチャとして注目を集める「マイクロサービス」。Webサービス系の企業をはじめとする先進的な企業が導入しており、急成長中のメルカリも本格的に移行を開始した。「どのような背景でマイクロサービス化へと踏み切ったのか」「それに伴ってエンジニア組織はどのような改革を行なったか」、そして「今後はどのような組織を目指しているのか」など、エンジニアを牽引する立場であり、マイクロサービス化に伴う組織編成を担う、同社 執行役員CTOの名村卓氏に話を聞いた。

  • このエントリーをはてなブックマークに追加

米国シリコンバレーで気がついた「組織のための技術」の可能性

――メルカリは「グローバルテックカンパニー」を目指すと宣言し、2018年7月にはマイクロサービスの導入を発表しました。メルカリのエンジニア組織の改革において、名村さんが重要な役割を担われたと伺います。なぜ名村さん自身がその役割を担うようになられたのか、まずはその経緯についてお聞かせいただけますか。

 もともとは日本企業でソフトウェア開発に携わり、日本人向けのサービスをつくっていました。でも、どこか日本でしか通用しなくなるのではないかという焦りもありましたね。もともと米国・シリコンバレーで働くことに憧れがあり、グローバルに事業を展開できる場所で働きたいと思っていました。そこで、2016年7月にメルカリに入社し、米国に出向してUS版サービス開発の担当となりました。ソフトウェアエンジニアとしての採用だったのですが、まだ人数も少なかったこともあり、バックエンドのアーキテクチャに課題があれば改善したり、US版メルカリをスクラッチから書き直す際にクライアントも含めてプロジェクト化したり、アーキテクトとして携わっていたところが多かったですね。

 以前は、ソフトウェアでも「テック的なもの」だけに興味があったのですが、米国に来てアーキテクトも含めて「組織に同調した技術」の重要性に気づき、関心を持つようになりました。シリコンバレーにはテックジャイアントと呼ばれるグローバル企業の中枢部がありますが、世界中に何万人ものエンジニアが散らばっていて、それぞれがバリューを発揮し、次々とイノベーションを起こしているわけです。展開スピードも凄まじく速い。

 そんな時、CPOの濱田優貴とプロダクト責任者の富島寛から「技術的な課題が山積みだから、アグレッシブに改善していきたい。CTOとしてそれらの課題に取り組まないか」と声をかけられました。当時は現場を離れるイメージがなかったのですが、「組織のための技術」を考えつつ組織づくりにも取り組むというのは、チャレンジングで面白そうだなと。それで2017年4月にCTOになり、前年からマイクロサービス化が始まっていたのを引き継ぐ形でさらに推進するようになったわけです。

株式会社メルカリ 執行役員CTO 名村卓(なむら すぐる)氏 受託開発経験を経て、2004年株式会社サイバーエージェント入社。各種メディアやゲームなどの新規事業立ち上げの開発を担当。2016年に株式会社メルカリ入社。USに出向し、US版メルカリの開発を担当。2017年4月CTO就任。
株式会社メルカリ 執行役員CTO 名村卓(なむら すぐる)氏:受託開発経験を経て、2004年株式会社サイバーエージェント入社。各種メディアやゲームなどの新規事業立ち上げの開発を担当。2016年に株式会社メルカリ入社。USに出向し、US版メルカリの開発を担当。2017年4月CTO就任。

――エンジニア組織やマイクロサービスについては、どのように知見を収集されたのですか。

 人の話を聞いたり、勉強会やミートアップに参加したり、いろいろですね。その中で一番印象的だったのが、Uberの開発環境やエンジニア組織の話です。Uberではモバイルチームが世界中に散らばって、国ごとに必要な機能をそれぞれ開発していますが、アプリケーションはひとつです。各自が良いと思った機能を共有するプラットフォームがあり、みんなにいいと判断されると一部のユーザーに実験的に提供されるというのです。さらに問題がなければ国全体に、世界にと反映範囲が広くなる。逆にクラッシュ率が高くなった、乗車エラーが多くなったというような黄色シグナルが増えたら、自動的にオフになるのだそうです。

 ここで面白いのが、データドリブンで動いているということです。トップダウンだけでなく、一人ひとりの意思が積み重なって総意になり、ボトムアップの意思決定が最終的に大規模なアプリケーションの品質を高め、改善にもつながっている。メルカリだったらそういう環境を作れるかもしれない、ポテンシャルがあると思いました。

モノリシックの限界と、その課題解決のために目指した組織のあり方

――名村さんの気づきもありつつ、メルカリそのものに対して組織としての変革による可能性を感じられていたわけですね。

 そうですね。メルカリ自体がまずエンジニア主体の会社になろうとしていることは強く感じていました。ボードメンバーが技術に対して知識があり、「理由あって必要なものであり、それが組織の強みになる」と捉えている。「技術はよくわからないけど任せた」というのではなく、技術とその価値を理解した上で投資しようという意気込みが感じられるんですよね。「技術がわからないから、安易にコスト削減」という話を時々耳にしますが、メルカリについてはそういうことにはならないだろうと。

 とはいえ、当時のメルカリは、モノリシックな構造とその肥大化が大きな問題になっていました。同じコードベースをみんなで触って変更し続け、それをずっと繰り返してきた結果です。成長が著しい時期で、基本的にはプロダクトファーストでやってきたので、「こうあるべき」を考えて実践する余裕がなかった、仕方がなかったとは思いますが、そろそろ限界に来ていました。

 実際、入社したばかりの頃にひとつ変更を加えようとしたら、調査すべき影響範囲があまりに広いことに戸惑いました。以前からいる人ならなんとなく分かっていることでも、入ったばかりの人にとっては、どういう悪影響があるか、調査しなければ分からないわけです。だから変更が怖いし、臆病になるわけですね。かといって、サービスをよくするには避けられないので調査するのですが、一つひとつの変更作業が重いものになり、確認に時間がかかったり、予期せぬところで障害になったりと、問題が表面化してきたのです。

 組織課題として、日本語が母語ではないメンバーが増えたこともありますね。同様の不安を抱えながら、日本語のドキュメントを参照しつつ変更を加えるのは、日本人以上に負担が大きいでしょう。新しい人が活躍できるまでに時間がかかり、変更に対するコストもかかっていたので、その意味でも早々の解決が求められていたのです。

――そうした課題に対して、CTOとしてどのように解決を図ろうとされたのでしょうか。まずは考え方というか、構想について聞かせてください。

 まず、最初に考えたのは、「どういうエンジニア組織にすべきなのか」そして「そのためには、どういう技術に取り組んでいくべきなのか」ということです。それで考えたのが「スケーラブルなエンジニア組織」です。普通の組織では、人数が増えれば増えるほど一人あたりの生産性が下がる傾向にあります。当時のメルカリはそうした状況に陥っていたので、むしろ1千人、1万人と人が増えるほど一人あたりの効率が上がるような組織にしたいと思いました。

 そういうと作業効率性みたいな捉え方をされますが、そうではなくて、「みんなが生み出すものにちゃんと価値があるか」こそが評価基準です。価値の高いものを生み出していくには、第一段階として、一人ひとりのエンジニアが「こうしたい」と思ったことがブロックされないことが重要だと思っています。もちろんサービスに悪影響を及ぼすものは排除されるべきですが、それぞれがいいと信じるものを、まずは実現できるようにしたかったのです。

 その結果、思いもよらなかったものが登場して実現するようになれば、多様な価値観や感性が育まれるでしょうし、同時にオープンに見えているわけですから「メルカリによっていいもの」が何かがつかめて、上からの指示がなくても、より良い判断ができるようになるのではないかと。そうなれば、一人ひとりのチャレンジの回数も増えるし、他者のチャレンジも自分の糧になる。その結果、一人ひとりが受け合う刺激をもって発想力が洗練されていく。そうなったらもう手放しでもいい方向に進んでいくんじゃないかと期待しています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
エンジニアマネジメントとプロダクトを分け、新たなエンジニア組織へ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
開発現場インタビュー連載記事一覧

もっと読む

この記事の著者

伊藤 真美(イトウ マミ)

エディター&ライター。児童書、雑誌や書籍、企業出版物、PRやプロモーションツールの制作などを経て独立。ライティング、コンテンツディレクションの他、広報PR・マーケティングのプランニングも行なう。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

近藤 佑子(編集部)(コンドウ ユウコ)

株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の編集・企画・運営に携わる。2018年、副編集長に就任。2017年より、ソフトウェア開発者向けカンファレンス「Developers...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11473 2019/06/18 11:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング