『メルカリShops』開発の三大イシュー
ビジネス:コロナ禍で打撃を受けた事業者を救うための“垂直立ち上げ”
技術:経験のない技術のキャッチアップ
組織:「速さ」を重視した開発組織づくり
【PR】 スキル
国内スタートアップ市場が盛り上がりを見せる中、前途有望なスタートアップで働くことに憧れを抱くエンジニアもいるだろう。
しかし、どれだけポテンシャルが期待されるスタートアップであろうとも、開発現場には外からは見えない数多くの課題があるものだ。また、経営基盤やビジネスモデルが脆弱な創業期には、戦略的な立ち回りや「力で押し切る覚悟」がエンジニアにも必要とされる。
今回はそんなスタートアップのリアルをのぞくべく、解散から1年半の時を経て2021年1月に再始動したメルカリのグループ会社「ソウゾウ」にフォーカスを当てたい。
限られた時間の中で新規事業のEコマースプラットフォーム『メルカリShops』の開発に取り組む彼らは今、どのような課題と向き合い、どのような手段で創業期の壁を乗り越えようとしているのか。開発の最前線に立つ二人のソフトウェアエンジニア(Engineering Manager)に聞いた。
一般的にプロダクトリリース前のスタートアップにあるものといえば、サービスの成功に懸ける「野望」と「情熱」ぐらいなものだ。だが、ビジネスとプロダクトの成長には、ヒト・モノ・カネが欠かせない。これらをいかにして呼び込むかが、創業期におけるスタートアップの生命線だ。
その点、月間1900万人もの利用者が訪れる『メルカリ』、『メルペイ』が生み出す有形無形の資産を活用すれば、新規事業といっても『メルカリShops』の成功は約束されたようなもの。おそらく多くの読者はそう考えるはずだ。しかし、「実態はそれほど甘くはない」と渡部さんは語る。
「『メルカリShops』は『メルカリ』アプリ内に新設されたECサービスなので、お客さまをゼロから集める必要はありません。また技術的にもビジネス的にも、『メルカリ』、『メルペイ』で培った経験や資産が生かせる部分があるのも確かです。
しかし、ショップを運営する事業者を対象としたサービスはわれわれにとって初めての領域。限られた開発期間内で、環境を整え必要な技術をキャッチアップするのは容易ではありませんでした」(渡部さん)
個人間売買の『メルカリ』、決済プラットフォームの『メルペイ』の開発は、iOS、Androidのネーティブアプリが主体だ。Webアプリとして開発が進められている『メルカリShops』に必要な技術スタックとは重ならない部分も多い。
また、これまで『メルカリ』が提供してきたサービスとは用途もターゲットも異なるため、ゼロから体験設計を考える必要があったという。
「私も渡部も2019年に解散した第1期のソウゾウで『メルカリ アッテ』『メルカリ カウル』『メルカリ メゾンズ』など、今はなき新規事業開発に携わった経験があります。当然ながら『メルカリShops』もこれらのプロダクトと同じ轍を踏むわけにはいきません。
過去の資産を生かしてレバレッジを効かせるべきところ、ゼロイチで生み出すところを切り分け、先々の生産性までを見越したシステムをいかに素早く作るか。そしてメルカリグループのサービスとして遜色ないUI/UXをいかに提供するか。クオリティーとスピードの両立には今も苦心しています」(成田さん)
ソウゾウには恵まれた開発環境があるのは確か。しかし、「プロダクトに寄せられる期待もその分大きい」と渡部さんは言う。
「思うようにスケールできなければ、それはプロダクトのお客さま体験や機能に何らかの問題があるということ。できる限りそうしたボトルネックになる部分を排除していくために、僕らは既に、数々のビジネス、技術、組織にまつわる難しいイシューに立ち向かってきました」(渡部さん)
では、そのイシューとは何だったのか。渡部さんと成田さんは、次の三つを例に挙げた。
『メルカリShops』開発の三大イシュー
ビジネス:コロナ禍で打撃を受けた事業者を救うための“垂直立ち上げ”
技術:経験のない技術のキャッチアップ
組織:「速さ」を重視した開発組織づくり
『メルカリShops』は、メルペイの加盟店を中心にコロナ禍でオフラインの営業が困難になった事業者をいち早く救うことをきっかけに開発が始まったプロダクトだ。そのため様子を見ながら段階的に事業を拡大するのではなく、リリースとともにフル生産体制をとる“垂直立ち上げ”が必須。
そこで彼らが決めたのは、エンジニア全員が『ソフトウェアエンジニア』という肩書きのもと、経営陣やマネジャーも含め、「総出でコードを書く」スタイルを取ることだった。
『メルカリShops』の開発が始まった当時は、社外に情報をあまり出しておらず、積極的に採用がかけられなかった時期。それゆえ、開発の中核を担ったのは直近までメルカリグループで活躍していたエンジニアと、かつてメルカリグループで開発経験があるOBエンジニアたちだ。
そして前回CTO・名村さんの記事でも紹介した通り、ソウゾウの「全員ソフトウェアエンジニア」という思想はメルカリから受け継がれている。
早期立ち上げがかなった要因の一つには、こうしたメルカリグループのカルチャーに馴染みがあり、開発方針と解決すべき問題を共有しさえすれば、後は自律的に動いて課題を解決できるフルスタック志向のエンジニアがそろっていたことも大きいと、渡部さんは振り返る。
「ただし、いくら“垂直立ち上げ”を求められているとはいえ開発スピードだけを重視すればいいわけではありません。というのも、当初スピード最優先で必要最低限の機能だけを組み込んだプロトタイプを作ったところ、お客さまの体験としては完成度が低いものができあがってしまったことがありました。
『これではメルカリに並ぶプロダクトには育てられない』と、全員で思い付く限りの改善点を書き出して、今も一つ一つアップデートをしているところです」(渡部さん)
開発スピードだけにとらわれないことは、インフラ面においても重要だ。
「実は名村の判断で、インフラは『メルカリ』や『メルペイ』のものと切り分けて、ソウゾウ独自で作っているんです。これまで培ってきた既存のインフラを活用するメリットは非常に大きいのですが、その分さまざまな制約もあるため、長期的な視点で考えると既存のものと切り離した方が動きやすい。
メルカリのアセットを利用しようと思えばできるところを、中長期的な視点で見てあえて使わない選択もする。『メルカリShops』を『メルカリ』に並ぶプロダクトに成長させるため、急ぎながらも選択は慎重に行いました」(成田さん)
ソウゾウは独立した組織だからこそ、技術的なチャレンジにも前向きだ。『メルカリ』や『メルペイ』では取り入れていない開発手法も最適だと思えば導入する。その一つの例が、システムに必要なコンポーネントを一つのリポジトリに集約するモノレポ(monorepo)だ。
「ソウゾウでは、これまでに馴染みがある技術かどうかではなく、あくまで『メルカリShops』の開発において最適かどうかという視点で技術選定を行っています。そのためエンジニアは、常に新しい技術のキャッチアップが欠かせません。
モノレポはシステム全体の把握がしやすいため管理がしやすく、スピード感を持った開発に適しています。メルカリやメルペイは既にサービス規模が大きいですが、ソウゾウはイチからできるタイミングなので、取り入れたかたちです」(渡部さん)
コンポーネントをシングルリポジトリに集約し全体像を見渡しやすいアーキテクチャを採用したことは、ソウゾウの「全員ソフトウェアエンジニア」の思想を表しているようにも思える。こうした新しい技術を自分のものにするために、彼らはどんな工夫をしているのだろうか。
「少しでも躓けばSlackに投げて分かるメンバーの手を借りたり、ペアプロをしたりして地道に理解を深めています。
以前は毎日30分間の『エンジニアリングコーヒータイム』という時間を設けていた時期もありましたね。いわばテレビ会議をつないだもくもく会です。分からないことがあればその場で意見を募ることができるので、初期はかなり助けられました」(成田さん)
さらにソウゾウでは、エンジニアが開発に集中できるよう“調整仕事を減らす”ことにも挑戦。「全員ソフトウェアエンジニア」のポリシーを貫くにふさわしい開発環境をつくろうと試みてきた。
「担当領域の境界線を明確にすると、一つの仕事に集中できるメリットがある一方で、領域を超えた仕事には調整が発生し、一時的に動けなくなるデメリットがあります。
タスクの依頼に必要なドキュメントの準備やコミュニケーションに要する時間、頼んだものが上がってくるまでの待ち時間などを考えると、分業するよりも自律的に動けるメンバーが、分野や領域をまたいで機能開発を進めていった方が断然速いわけです」(渡部さん)
ソウゾウのような創業期のスタートアップにおいては、素早く解決すべき課題が乱立していることがほとんどだ。仕事の領域をあえて曖昧にした働き方が適しているのも頷ける。一方でエンジニアにも当然、主体的かつフルスタック的な姿勢や仕事が求められる。
「これまではメルカリに馴染みのあったメンバーが多かったため、正直そこまでオンボーディングに力を入れずとも『あうんの呼吸』でできていた部分がありました。しかし、今後プロダクトを成長させていくためには、外部からのエンジニア採用も欠かせません。
そこで『メルカリShops』の開発と並行して取り組んでいるのは、オンボーディングコンテンツの充実です。例えば入社から5日で何らかの機能を開発してリリースするという育成コンテンツを今まさにつくっているところです」(成田さん)
メルカリグループでは、「Go Bold(大胆にやろう)」「All for One(全ては成功のために)」「Be a Pro(プロフェッショナルであれ)」というバリューを掲げている。ソウゾウはこれに「Move Fast(まずはじめよう)」を加えた。
こうしたバリューのもと、技術力のみならず高い問題解決力を持ったソフトウェアエンジニアをいかに育てるか。プロダクト開発、サービスのスケールに並んで価値観を共有できる人材集めや育成は、まさに今ソウゾウが全力で取り組んでいるイシューだ。
創業期にあるスタートアップにおいて、ビジネスへのコミットをいとわないエンジニアの存在は貴重だ。さらにソウゾウのエンジニアには、専門外の技術に対しても貪欲に学び、領域を越境していこうという前向きさが求められる。
渡部さんは「少し欲張りすぎかも」と言いつつ、ソウゾウには、こうした数少ないソフトウェアエンジニアの期待に応える環境があると話す。
「先に挙げた三つのイシューは現在進行形で向き合っている試みです。単に開発スピードを上げるのではなく、全てはよりよいサービスを多くのお客さまに届けるために、今もソフトウェアエンジニアが一丸となって取り組んでいます。
ソウゾウの挑戦に終わりがない以上、優秀なソフトウェアエンジニアにとって解きがいのあるイシューが尽きることはありません。これからも私たちは、個人の思いや行動を阻害する要素を極力排し、自律的に動ける環境をつくっていくつもりです」(渡部さん)
成田さんは、これからのソウゾウに必要なのは、カルチャー、バリューへの共感と合わせて、「失敗をおそれず挑戦するマインド」を持ったエンジニアだと話す。
「『メルカリ』、『メルペイ』で培った資産が生かせるとはいえ、ゼロイチで取り組むべき部分は少なくありません。そのため、いかに手数を惜しまず経験を積むか、言葉を換えれば、いかに小さな失敗を重ねるかがとても重要になってきます。
メルカリグループには『障害報告は資産』という考えがあるほど、前向きな失敗は成長の糧と捉える文化があります。新しいことに挑戦したいエンジニアにとって非常に働きやすい環境なのは間違いありません」(成田さん)
いわばメルカリグループのリソースを享受できる立場にあるソウゾウ。しかし現場では、次々と訪れる“解きがいのある難題”にエンジニアたちが一丸となって取り組んでいた。
ミッションを実現し、プロダクトをグロースさせるために、挑戦を恐れず邁進できるかどうか。創業期のスタートアップで働くエンジニアには、そうした覚悟が求められるだろう。
取材・文/武田敏則(グレタケ) 撮影/吉永和久 編集/河西ことみ(編集部)
NEW!
NEW!
NEW!
タグ