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版ともにコードそのものを書き直しています。 一方で、
検索に関しては、 各リージョンのノウハウが溜まってきているので、 その部分をリージョンの壁を越えて共通化する動きもあります。 このように、
すべてをマイクロサービス化するだけではなく、 それぞれで得られたデータやノウハウから共通で使える部分への取り組みも行っており、 この点もまた、 マイクロサービス化によるメリットですね。
Mercari Xとは何か?
- Q:ところで、
キーノートの最後に 「Mercari X」 という、 非常に謎めいたプロダクトが紹介されました。こちらについて教えてもらえますか。 名村:キーノートで曾川が話したように、
信用創造と価値交換を実現するためのプラットフォームです。ただし、 まだ、 社内での実験ではあるので公開はされておらず、 これ以上詳しくはお話できない状況です。 是澤: 社内でもまだ実証実験の段階で、
日々再構築しているので、 今の段階でこういうものです、 と言えないというのがホンネです (笑)。 名村: Mercari Xについては、
得られた知見がまとまって、 実サービスへの採用ができる段階になったら、 改めてお話したいと考えています。
今、注目の技術―Kubernetes、20周年周期
- Q:テックカンパニーの中で、
技術面でリードするお二人が今注目している技術は何でしょうか? 名村: 非常に難しいですが、
先ほども上がったKubernetesとそれに関連する技術は個人的に注目しています。私はこれからますますインフラが抽象化されていくと考えていて、 抽象化されたインフラに自分たちがどうアプローチしていくか、 どうコントロールしていくか、 そのための技術に注目しています。 Kubernetesのメリットは定義したマニフェストに従ってインフラを構成し、
その状態を維持するようプラットフォームが稼働するため、 組織とインフラのマネジメントを言語化しやすいと考えています。 もう1つはMLです。発見と交換という観点から、
MLをどのように活用するのか、 活用するためのインデックス作成やサーチ機能など、 基礎技術と実用技術の統合にも着目しています。それらの結果に対しての、 安心・ 信用・ 信頼はもちろん欠かせません。そのための技術も不可欠ですね。 是澤: 私はちょっと異なる視点でお話します。ゲーム業界やインターネット・
IT業界の歴史を振り返ってみると、 コアとなる技術やビジネス的基盤やエンジニアリングに対する考え方が20年周期で変化していると感じています。 この20年ごとの変化というのは、
世の中のワークスタイルとライフスタイルが大きく変化する周期という考えです。トレンドに関しても、 コンシューマゲーム機、 パーソナルコンピュータ、 インターネットや携帯電話の登場など、 キーテクノロジーの登場からプロダクトが洗練されその浸透などが進み、 新しい技術の誕生と新たな産業ができるような実社会への適用も20年ぐらいで周っているように思います。 最近では、
働き方改革が注目を集めていますが、 これもまた組織の中で働くケースと、 フリーランスとして働くケース、 その両方の組み合わせによるものが生まれてきて、 あと10年もしないうちに一般化するように思います。 この
「20年」 という年月の変化で技術を捉えると、 この技術が流行るのか廃れるのか、 流行ったときにどのような社会になるのかなど、 技術やアーキテクチャの更新とワークスタイル・ ライフスタイルの変化そのものに私は興味がありますね。IT業界が生まれてから約20年が経つ2020年に大きな変化が生まれるのでは? ということを思ってワクワクしていますし、 そういうイノベーションを起こす側として関わっていたいと思っています。
好きであることの大切さ
- Q:お二人の具体的な技術と観念的な技術の捉え方の対比がとても興味深いです。最後に、
若いエンジニアに向けてメッセージをいただけますか。 名村: メッセージと言うとおこがましいので、
自分が今、 なぜエンジニアであるかを考えてみると、 子どものころからプログラミングをしていたように思います。ただ、 プログラミングが好きだったから、 という理由です。また、 自分の行動に対して、 周囲が応援してくれたのは、 今の自分にとって非常に大きかったですね。 ですから、
若いエンジニアやこれからエンジニアを目指す方に向けては、 コードを書くことが好きであれば、 その好きな気持を持って続けてもらいたいです。私は、 後ろから応援していきます。 是澤: 自分もまさに同じですね。プログラミングをすること、
コードを書くことの価値を考える前に、 ただおもしろそうということがきっかけでプログラミングを中学生時代に始めました。そして周囲をワクワクさせることや技術で負けたくないという想い、 それらを感じならが成長していくことが楽しいから継続し、 いつか大きな価値を生み出すと信じて、 スキルを磨くことが、 本当の価値につながっていくと、 経験上思っています。これはマネジメントスキルも同様です。 まず、
好きであり楽しめること。また、 何かを生み出すのであれば 「人を驚かせよう」 という気持ちとホスピタリティやクリエイティビティを持っていることが大事ではないかと考えています。そういう人の育成を支援して、 より人生に選択肢が生まれる世の中にしていいたいですね。 名村: 仕事という面では、
インターネットが登場したころは、 プログラミングを書くこと、 エンジニアという職種が成立するかどうかはわかりませんでした。しかし、 インターネット時代の今、 たとえば、 メルカリがテックカンパニーを標榜するように、 エンジニアの役割は非常に重要です。 このように、
好きなこと、 どうなるか見通しがわからないことでも、 続けていくことで、 価値が生まれ、 仕事になります。 まずは、
自分の気持ちに正直に、 トレンドに流されずにプログラミングを書くことを楽しんでもらえたら良いと思います。 - ―ありがとうございました。