【書き起こし】プロダクト開発体制を一挙公開 – 全員ソフトウェアエンジニアとは?

2021年11月11日に、プロダクト開発体制を一挙公開〜メルカリ・エンジニア組織の大解剖〜 というイベントを開催しました。 この記事はその中のセッションの1つ、「全員ソフトウェアエンジニアとは?」の書き起こしです。

詳しくはYouTube上にある配信アーカイブをご視聴下さい。

当日行われたその他セッションの書き起こしは以下でご覧いただけます。

自己紹介

まず簡単に自己紹介させてください。@kwakasa と申します。メルカリには約2年前に入社しました。紆余曲折あって、2021年7月からメルカリJPのCTOとしてエンジニアリング組織をみています。メルカリ以前は色々な企業で働いていますが、どの会社もメルカリよりは大きなところとなっています。

メルカリがスタートアップとして8年くらい前にはじまって、サービスがどんどん大きくなって、多くのお客さまに使っていただけるようになりました。そしてメルカリのミッションを達成するために、もっと大きな仕事、大きなプロジェクト、大きなサービスを実装して世の中に出していこうとしています。それを実現するために貢献したいと思ってメルカリに入社して今に至っています。

エンジニアリング組織の変遷

まずメルカリのエンジニアリング組織の変遷を紹介します。メルカリは2013年に創業しています。プロダクトがスマートフォンシフトの波に乗って、かつ多くのお客さまに支えられて順調にマーケットプレイスとして成長していきました。

私の入社前なのでちょっと端折りますが、2017年頃に世界基準のエンジニアリング組織を作ろうと、本腰を入れ始めました。メルカリには、「新たな価値を生み出す世界的なマーケットプレイスを創る」というミッションがあるからです。

そして2018年にエンジニアリングマネージャー制度を導入しました。それまではプロダクトオーナーがエンジニアを含めてマネジメントしていましたが、世界基準のエンジニアリング組織を作る上での手段として、エンジニアがエンジニアをマネジメントする形に変更したということです。

そして同じく2018年にはじまったのがマイクロサービスへの移行です。それまではモノリスで作られてきたのですが、データベースやロジックが依存し合う状態になりやすく、そこから脱却するための一つの手段としてマイクロサービスを選択しています。さらに、この頃から外国籍エンジニアを積極採用しはじめています。

2020年はCamp体制を導入したり、フロントエンドの刷新プロジェクトがはじまっています。また、マイクロサービスマイグレーションの振り返りを実施して、それを踏まえてRobust Foundation for Speedプロジェクトが始動しています。これはビジネス共通基盤を強化するプロジェクトです。

ここまでがメルカリの開発組織の変遷になります。Campシステムはプロダクト、基盤、プラットフォームに分かれています。それぞれのCampには数字が付いていますが、幾つかの欠番もあります。これは組織変更でなくなったり、役割を終えて吸収統合されたものです。

ビジョンについて

ここからは、メルカリエンジニアリング組織のビジョンについてお話しします。ビジネスが成長するのに伴って、エンジニアリング組織のビジョンもアップデートされてきました。メルカリのミッション達成のために大切にすべき考え方という観点でビジョンを決めています。その中の1つが全員ソフトウェアエンジニアになります。

まずソフトウェアエンジニアとは何かと言うと、Wikipediaによるとコンピュータソフトウェアの設計開発保守や評価を行う人ということです。単にコードを書くだけでなく、ソフトウェアエンジニアリングを使って価値を生み出す人、とメルカリでは認識しています。そして、この定義に照らし合わせると、メルカリのすべてのエンジニアがソフトウェアエンジニアであると言えます。

つまりソフトウェアエンジニアは、あらゆる機能の実現や問題解決に向けて取り組む人になります。特定の技術に絞ることなく、担当範囲外の領域でも問題解決に貢献する意識を持って欲しいという思いを込めています。もちろん専門性を否定する訳でも、全員フルスタックエンジニアやジェネラリストになって欲しいという意味ではありません。

例えば、iOSエンジニアとかバックエンドエンジニア、MLエンジニアといった呼び方をすると、個々の領域においてやれることだけやる、問題解決しようと考えてしまうのではないでしょうか。それを避けるため、そのような考えから脱却してもらうために全員ソフトウェアエンジニアという言い方をしています。

課題とその解決

次に現状の課題についてです。責任範囲を明確化すると、そこに縄張り意識を持ってしまいがちです。自分たちの仕事の範囲を定義して、それ以外のことは他人任せになってしまったり、自分たちの領域は他のチームに触れて欲しくないといった考え方です。
システムとしては疎結合なものを作りたいのですが、組織が疎結合になってしまうのは問題です。疎結合なシステムを実現するために、みんなが協力し合わないといけません。そこでビジョンの1つにあるMicrodecision を Accountable Autonomy としてアップデートしていこうと考えています。

また、ある課題があった時に、その課題を解決するためには技術的なものはもちろん、ビジネス的な課題についてもエンジニアが興味を持って、理解して解決する姿勢が必要です。そのためには Accountability、説明責任を果たせるエンジニアリング組織になっていこうと伝えています。

最後にまとめです。
エンジニアリング組織の変遷と、ビジョンについて、全員ソフトウエアエンジニアについて説明させていただきました。今後の目標として Accountable Autonomy、説明責任を伴う自律性をキーワードにエンジニアリング組織としては組織の強化を図っているところです。

以上となります。ありがとうございました。

さいごに

メルカリではメンバーを募集中です。 少しでもご興味のある方は、ぜひともMercari Careersの募集要項をご覧下さい。

また、今後もエンジニアリング組織に関係するイベントを随時開催していきます。connpassでメルカリ/Mercariのグループメンバーになることで最新情報を受け取れます。

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