2018年10月に開催されたMercari Tech Conf 2018。日本から世界に挑戦するテックカンパニーメルカリの,
gihyo.
2017→2018のEvolution
- Q:前回のMercari Tech Conf
(MTC) から1年が経過しました。昨年と今年で, メルカリとして変わったこと, 変わってないことについて教えてください。 名村:まず,
最も変わったのは人数が増えたことですね。昨年のMTC開催時 (2017年9月) ではオフィスは六本木ヒルズの1フロアでした。その後, 私がまだUSにいる間にどんどん採用が行われ, 今は3フロアまで拡張しています。 また,
会社としては今年6月に上場したことがとても大きなインパクトとなりました。誤解を恐れずに, 一言で言うと 「会社がしっかり」 しましたね。 その他,
今回のMTCでも紹介したメルペイの立ち上げ, それに伴う人の異動や増員といった変化もあり, 人の動きに伴い, プロダクトやサービスの開発方法, コンセプトの変化もありました。 (MTC2018のキーノートで話した) マイクロサービス化の促進などですね。 とにかく慌ただしい1年でした
(笑)。 一方,
変わらなかったこともあります。それは, メルカリのバリュー, 「Go Bold」 です。メルカリらしさや雰囲気はそのままに, 社員一丸となってこのバリューを体現し続けているのではないでしょうか。 - Q:変化したことの中に,
プロダクトやサービスの開発方法が変わったとおっしゃいましたが, とくに変わった点を挙げるとしたら何になりますか? 名村:開発言語として,
Go言語を書く人が増えました。もちろん, PHPがベースではあるのですが, ほかにも機械学習 (ML) ではPython, データ処理にはJavaやScalaと言ったように, 目的に応じて, 開発言語が多様化しています。 また,
クライアント環境として, iPhoneやAndroidに関しても, iOSではSwiftの利用を, AndroidではKotlinと言ったように, 状況に合わせた開発環境に向き合い, その場に留まらない雰囲気は, メルカリならではと言えます。
Engineering ManagerとProduct Managerの違い
- Q:開発言語や開発環境などの部分もかなり変化し,
そして, 進化 (Evolution) しているのですね。ところで, 名村さんのキーノートでProduct Manager (PM) に加えて, 新たにEngineering Manager (EM) の役職を用意したと伺いました。この点について詳しく教えてください。 名村:キーノートでも話したように,
技術の進化や環境の変化に伴い, エンジニアに求められるスキルやマインドが大きく変わっています。また, その変化のスピードがとても早く, 今はエンジニアのキャリアが複雑で, どのように設定するかがとても難しくなりました。そこで, メルカリが考えたのがEngeering Managerという役割です。 これまで,
新しいプロダクトや機能の開発は, 開発が始まるタイミングでメンバーをアサインし, PMがリーダーとして開発チームをまとめていましたが, その方式ではチームメンバーのキャリア設計が難しいこと, さらに, マイクロサービス化を進める中で, プロダクトごとにメンバーアサインをするのが現実的ではなかったという背景があります。 是澤:僕が入社するときにエンジニアの成果を最大化するためのマネジメントはメルカリの中でも最優先課題の1つとして感じていました。前職時代に,
元Googleの及川卓也さんとエンジニアのマネジメントに関する議論をする中で, エンジニアのマネジメントも1つのスキルという内容を聞き, 「エンジニアの成果と成長を最大化できるためのマネジメントする」 というスキルセットを持ち合わせた役割がメルカリのフェーズでは不可欠であると考えていました。 そして,
2018年4月にEMとPMを明確に分けた役職にしました。EMは, チームのエンジニアがより成果の出しやすい環境にしたり, 成長しパフォーマンスを最大化をするフォローアップやフィードバックを行い, 成果と成長を最大化するマネジメントがメインの業務になります。 また,
技術の進化も速く, さらにメルカリがマイクロサービス化を推し進め, より小さい粒度で意思決定を素早く行っていきたいというのもあり, 技術的な意思決定を円滑に進める体制をつくるべくTech Leadという役割も同時期につくりました。 既存のポジションでいうと,
EMはミニVPoE, Tech LeadはミニCTOという表現になるでしょうか。
進むマイクロサービス化
- Q:テックカンパニーとして,
開発体制の整備, 開発方針の進化に合わせて, エンジニアのキャリアパス, それに伴うポジションまでもがEvolutionしているのですね。ところで, これはグローバルでも同様なのでしょうか? 名村:まず,
メルカリが今, 取り入れているマイクロサービス化の観点でお話すると, もともとマイクロサービス化はUSからスタートしました。目的は, 会社全体でのプロダクトやミッションは共有しつつも, 地域ごとの特性, 地域に合わせた判断を行うには, 1つのプロダクトをローカライズするのは限界があります。そこで, USで決裁できる体制を考えて, マイクロサービス化を取り入れることになりました。 アーキテクチャの観点でマイクロサービス化を進めたことで,
開発スピードは大きく改善し, また, 地域特性に合わせることで品質向上にもつながっていると思います。 たとえば,
ベース部分は今, Kubernetesをプラットフォームにしているものが多くなっていますが, USと日本ではフロントエンド部分が異なっています。たとえば, スマホアプリに関しても, USでiOS/ Android版ともにコードそのものを書き直しています。 一方で,
検索に関しては, 各リージョンのノウハウが溜まってきているので, その部分をリージョンの壁を越えて共通化する動きもあります。 このように,
すべてをマイクロサービス化するだけではなく, それぞれで得られたデータやノウハウから共通で使える部分への取り組みも行っており, この点もまた, マイクロサービス化によるメリットですね。