2023年6月14日から15日にかけて開催された「Developer eXperience Day 2023」(主催:日本CTO協会)。2日目の最終セッションで登壇した株式会社メルカリ(以下、メルカリ)のCTO若狭建氏は「メルカリにおける開発組織のグローバル化と開発者体験(DX):進化と挑戦」をテーマに講演をおこないました。

プロダクトがグローバル展開し、多彩な国籍、バックグラウンドを持つエンジニアが集まるメルカリが志向する開発者体験とは、どのようなものなのでしょうか? 講演の様子を紹介します。

株式会社メルカリ 執行役員 Group CTO 兼 取締役 Managing Director of Mercari India
若狭建氏
東京大学大学院工学系研究科情報工学専攻修了。Sun Microsystems、Sonyでハードウェア(携帯電話・AV機器)関連のソフトウェア開発を担当。GoogleにてGoogle Mapsの開発に従事した後、2010年以降、Android OS開発チームでフレームワーク開発に携わる。Appleでのシステムソフトウェア開発、LINEでのLINEメッセンジャークライアント開発統括を経て、19年8月、Director of Client Engineeringとしてメルカリに参画。21年7月、執行役員 メルカリジャパンCTOに就任し、22年6月取締役 Managing Director of Mercari Indiaも兼務。2023年6月より執行役員 Group CTO。

なぜソフトウェア領域で開発者体験が議論されているのか?

まずは簡単に自己紹介をさせていただきます。私はメルカリに2019年に入社し、2年ほど前からCTOという立場で開発組織全体を見ていて、2022年6月からはMercari Indiaという、インドの開発拠点のManaging Directorも担当しています。

この業界には25年ほどいて、携帯向けのJavaの開発や家電製品向けのアプリケーションプラットフォームをつくったり、あとはGoogleマップやAndroidのOSのフレームワークなどを開発したりしていました。このように、今までプラットフォームサイドのことをやってきていて、メルカリではカスタマーフェーシングな機能開発も含めたプロダクトとプラットフォーム全体の開発をマネジメントしています。

今回はDX(Developer eXperience=開発者体験)についてお話ししていくわけですが、まずは「なぜ開発者体験がよく議題に上るのか」という点について考えてみたいと思います。

そもそもの話ですが、開発者体験自体は目的ではありません。あくまでやりたいことやミッションを達成すること、それを支える事業成長をおこなうことが目的であり、開発者体験は目的を達成するための手段・前提条件と考えています。

また、開発者体験は競争力を大きく左右するという観点も重要です。講演の中では開発者にとっての環境やツール、フレームワーク、さらには技術的負債の解消や技術への投資といったことにも触れますが、今回はその先にある開発者体験まで踏み込んで言及していきます。

エンジニアリングというのは、ハードウェアからソフトウェアまで幅広いものですが、開発者体験はソフトウェアの領域で盛んに議論されています。その理由には、ソフトウェア開発のほうが投資対効果が見えにくい領域であることや、フェーズによって複雑度が大きく変化すること、ソフトウェア開発自体がエンジニアリングとしては未成熟な分野なので、よいプラクティスが変わりつづけることが挙げられます。

本来「開発がスムーズにできたほうがよい」というのは当たり前の話なのですが、ソフトウェアの領域ではこのような理由から、開発者体験が盛んに議論されている。これからはそういった視点を持ちながら話していきます。

メルカリの「開発環境/技術選定」への考え方

まずはメルカリが最近どのような考えで開発環境や技術選定をおこなっているのかを紹介します。

ベースラインとしては比較的ROI(費用対効果)が明確な技術投資があります。投資額として大きいものや導入が大変なものもありますが、ROIが明確であるものに対しては、技術投資は当たり前のこととして、躊躇(ちゅうちょ)せず着実に進めていくべきだと考えています。

一方で、システムをスケールさせるためには継続的な技術投資も求められます。こちらもプロダクトのフェーズに合わせたROIを議論し、実施していくべきでしょう。

技術選定については、あまりこだわらないのがメルカリの考え方です。後ほど言及しますが、組織がグローバル化していくと、前提として共有されているコンテクストが少ない状況になります。そのようなときに独自技術や自前のフレームワークを残していると、かえって開発者体験を下げてしまいます。なるべくニュートラルなものでつくっていこうというのが基本です。

また、ビッグプレーヤーやプラットフォーマーが積極的に投資している分野やツール、フレームワークに乗っかることもROIとしてうまくいくと思います。もちろんこだわりを持ち、最先端の技術も使いたい思いもありますが、メルカリではバランスを考えて導入していったほうがよいと考えています。

「開発者体験」は「従業員体験」に包含される

メルカリでは「従業員体験」を非常に重視しています。開発者体験は従業員体験に包含される、というのが私たちの考え方です。開発者体験を向上させる取り組みをしているのがEngineering Officeという組織で、エンジニアの生産性を上げることやコミュニケーションをサポートすること、大きな戦略を考えることをミッションにしています。

Engineering Officeでは「Employee Journey Story for engineers」というものをつくっています。これは採用からオンボーディング、トレーニングに始まり、最終的に退職するまでを含めたEmployee Journeyを策定したものです。それらを明確にし、さまざまな施策をおこなっていくことが、開発者体験の前提であると考えています。HR領域に近い話ですが、メルカリではこういったものも考慮したうえで開発者体験をよくしていこうとしています。

その中でも、特にオンボーディング施策について少しポイントを述べていきます。

メルカリではROIを重視していて、とくにコンテンツの集約については意識して取り組んでいます。古くなったコンテンツはどんどんなくしていくと同時に、オンボーディング用のコンテンツは新入社員にとどまらず、既存社員の活用や社外利用にもつなげています。これは社内でもメルカリとしての考え方を明示していくことが目的で、その意思統一ができていなければ、全体としての開発者体験は上がらないと考えているためです。また、ガバナンス強化という視点からも取り組んでいます。

「グローバル化/D&I」がもたらす開発者体験の強化

メルカリは「グローバル化が進んでいる」という声が寄せられます。なぜメルカリは開発組織をグローバル化させているのかというと、基本的にはミッションに立ち返り、その達成にはなにをすべきかを考えたときに、必然的に世界中の仲間に加わってもらう必要があるという結論になったからです。

メルカリのグループミッションは、会社設立10周年ということで最近社外へ公開しましたが、「あらゆる価値を循環させ、あらゆる人の可能性を広げる」というものです。ここで書かれている「あらゆる人」というのは世界中の人を指します。シンプルで直球な話ですが、これがグローバル化を進めている理由です。

グローバル化を進めるにあたって、まずは世界中の優秀な人材にメルカリに興味を持ってもらい、入社していただかなくてはなりません。「メルカリでは自分のスキルが活かせそうだ」とまず思ってもらう必要があります。それが環境や制度を整えていくことで開発者体験を強化する理由につながっていると考えています。

世界中のエンジニアにとって理解しやすくて成果を出せる、オンボーディングも楽だという 状態をつくるためには、開発者体験が誰にとってもよいものである必要があります。

いろいろなバックグラウンドを持った方々に入ってもらうためには、そのすべてを説明しないといけません。ですが、その前提はローコンテクストであり、「言わなくてもわかる」ではなく、ちゃんとすべてを言葉で説明していくことが必要です。開発者体験の強化という文脈でもそれは同様で、当然リモートワークとも親和性が高く、結果としてグローバル化だけでなく新しい働き方としても有効であると考えています。

グローバル化を進める中で、多様性と受容性は大きな課題になります。D&I(ダイバーシティ& インクルージョン)と呼ばれますが、これに関してはショートカットはありません。

いろいろなバックグラウンドを持っているメンバーに、いかにチームの一員だと思ってもらえるか。コミュニケーションや言語の壁もありますが、そういった障壁をなくすためのトレーニングもしっかりとおこなっていく必要があります。

また、プロダクトを利用してもらうことも重視していて、日本語を話すことのできないメンバーに対してはプロダクト利用をサポートするトレーニングも実施しています。

情報発信でも英語・日本語でおこなっていくことを非常に重視していて、ドキュメントを英語にすることは重要でそれ自体は簡単ですが、日々のコミュニケーションやリーダーからのメッセージなどで英語または日本語の偏りがあると、どちらかの言語しか話せないメンバーに疎外感を与えてしまいます。そのため、情報では英語と日本語で同時に発信し両面に配慮することは、非常に意識して取り組んでいます。

ここで、2022年に設立したインドの開発拠点「Mercari India」について紹介します。「なぜインドなのか?」とよく聞かれますが、まず挙がるのがテック人材の圧倒的な質と量です。
もう一つの理由として、メルカリではすでに多くのインド出身の人材がジョインしていて、そのメンバーたちの知見を生かせると考えたからです。Mercari Indiaはアウトソーシング先ではなく、日本やアメリカと同様の体制をとっています。2023年からは現地の拠点長も加わったので、さらに採用を強化している段階です。

並行して開発者体験の強化を土台とした組織拡大も進め、D&Iを体現する開発組織となるように、取り組みを加速しています。

グローバル化にともなう「自律性とガバナンス」の課題

ここで「自律性とガバナンス」という観点から話をしたいと思います。

「誰のために開発者体験をよくしていくのか」はよく社内でも議論されていることなのですが、「よい開発者体験」はチームや人によって異なるものです。これはD&Iが進むほどズレが生じるもので、特定のチーム・人にのみ最適化された開発者体験というのは避けて、全体としての開発者体験の向上を考えていく方針をとっています。

そのためには開発者体験を改善する施策をおこなう際には、しっかりと説明責任を果たすことが重要です。また、開発者体験を独りよがりなものにしないためにも、現場の声を丁寧に拾い上げるフィードバックグループを回していくことも大切になります。

グローバル化にともなう自律性とガバナンスを考えると、グローバル化は多様性が広がる一方で、組織の拡大は個別事業をスケールさせるためにも自律性が高まる傾向にあります。その両者が組み合わさると個別最適が進んでしまうので、ガバナンスと全体最適の難易度が高まっているのが課題です。

開発者体験への投資は「ビジネスゴールとROI」を意識

開発者体験について深掘りしていきたいと思います。

エンジニアリングはコードを書くことや開発することだけではないと考えていて、エンジニアリングとはあくまでも課題解決であると考えています。そのためにはなにをするのかではなく「なにを達成するか」にフォーカスしていく。これが本当の意味での開発者体験だと思っています。まずはゴールを理解することが必要です。多くの場合は事業目的やミッションを達成することがゴールだと思います。その達成のためになにをおこない、反対になにをすべきでないのかを考え実行していくことが、本当の意味での「よい開発者体験」になると考えています。

ここからは経営とのコミュニケーションの話になりますが、開発者体験を改善していくためには、当然そのための投資が必要になります。経営に対する説明責任をどのように果たしていくのかも大きな論点です。

最初に話した通り、ソフトウェアは見えづらいものなので、経営と開発現場とでは見えている世界が違います。事業目的と開発者体験は双方が理解しなければならないものです。私たちとしては開発者体験への投資がビジネスゴールの達成にどのように寄与するのかを、現場と経営で双方向でコミュニケーションを取ることを意識して進めています。

一方で、開発者体験の改善に向けた投資額は、非常に大きな額になることもあります。開発者体験の改善だけを考えると無限にコストがかかってしまいますが、ROIを無視することはできません。

「極上のDX」や富豪的な開発環境を目指したいわけではなく、あくまで開発者体験の改善は手段であり、ROIをしっかりと考えることが経営とのコミュニケーションとしても重要になります。

また、クラウドネイティブは開発者体験がよくなるメリットがありますが、皆さんご存知の通り、クラウドベンダーに支払うコストは突然膨れ上がったり意図しないかたちで高額な請求をされたりすることもあります。そのような対策として、メルカリでは最近「FinOps」の取り組みをスタートしました。これは事業や施策ごとにそのコストを可視化させ、それぞれのコストを見ながら粒度の高い投資判断をおこなう取り組みです。

開発者体験から「価値創出体験」へ

これまでのまとめとして、メルカリの中では開発者体験を大きく捉えて議論をしています。ベースラインはスムーズに開発を進められることと、やるべきことが正しくできること。まずは開発者体験をよくすることの目的を理解することから入り、目的に紐づいた施策を実行していくことを意識しています。

エンジニアの待遇はよくなっていて、企業間でも取り合いの構図になっています。今後もこういった状況が続いていくことが予測される中、エンジニアは「頼んだらつくってくれる」工場労働者(Factory Worker)のような存在ではなく、事業課題を解決し、価値を創造する存在(Smart Creatives)になってきています。経営層にとっても、エンジニアの捉え方も変わってきています。

開発者体験を下支えする従業員体験についても取り上げました。とくにオンボーディングを重視していることをお伝えしましたが、こういった開発者体験の改善はグローバル化にとても相性がよく、必要条件ともいえるものです。そのような話も踏まえ、独りよがりでない開発者体験が求められていて、説明責任を果たすことによってガバナンスを担保しD&Iを意識した取り組みを進めています。

開発者体験は、最終的には「卓越したエンジニアリングによって価値を創出する体験」になると考えています。自分たちのエンジニアリングが事業と成長にリンクし、達成したことに対して誇りを持てることが、よい開発者体験の根幹です。開発者体験から始まり、より大きな課題解決、価値創出を成し遂げていくことで、最終的には開発者体験が「価値創出体験(Value Creating Experience)」につながると考えています。

(取材/文:川島大雅

― presented by paiza

Share

Tech Team Journalをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む