【メルカリ】新サービス『メルワーク』はマイクロサービスの壁をどう越えた? 「サービスの拡張性」を追求した道のり
【PR】 働き方
2021年12月末に一部iOSユーザーに向けてリリースされた、メルカリの新サービス『メルワーク』。
ユーザーが『メルカリ』アプリ内で「ワーク」と呼ばれるタスクを行うことで『メルカリ』のポイントが得られ、そのデータはメルカリ各サービスのサービス品質の向上に寄与されるという、同社の中でもまったく新しい立ち位置のサービスだ。
エンジニアtypeではリリース直後にEngineering ManagerのAymanさんを取材し、サービス立ち上げ期のカオスを乗り越えるためのチームビルディングについて聞いた。
それから約4カ月。『メルワーク』は全てのiOSユーザーに向けて新サービスとして本格実装され、隙間時間を有効活用する多様なワークを提供し始めている。
そこで今回は開発チームの「技術的な工夫」にフォーカス。なぜ『メルワーク』は、メルカリと連携したマイクロサービスながら、独自の技術で拡張性を追及することができたのか。テックリードの奥浜聡太さんに伺った。
メルカリのプラットフォーム上で提供する「新しい価値」
──以前、EMのAymanさんにお話を伺ったときは、『メルワーク』のリリース直後でした。それから約4カ月がたって、サービスはどのように変化していますか。
1月に記事が公開された時は、iOSの中でも5%程度の、一部ユーザーへの限定公開でした。扱っている「ワーク」も、「類義語チェック」と呼ばれる1種類だけ。
しかし今ではiOSの全ユーザーがメルワークを利用できるようになりました。iPhoneユーザーが『メルカリ』のスマホアプリを開いて、「マイページ」をご覧いただくと、下部の「サービス」というところに『メルワーク』があるはずです。
「ワーク」の種類も増えました。「類義語チェック」以外に、商品画像を見てタグ付けする「アノテーション(商品画像とキーワードの正誤一致を判定)」というワークなどが、一部のユーザーに公開されています。
これからは、やっとサービスをスケールさせるフェーズ。すでに、10万人の方が登録してくださっていますが、今後はできるタスクをもっと増やし、より多くのお客さまに利用いただき、より多くのデータを活用していくことを目指しています。
──『メルワーク』は「ユーザーの隙間時間を価値に変えるサービス」としてリリースされましたが、実装してみた結果は想定通りのものでしたか?
そうですね。現在はユーザーからの反応を分析し、サービス改善に活用するまでにはいたっていませんが、ユーザーインタビューを実施したところおおむね好評です。 ゲーム感覚で楽しめる、他の人の役に立ててうれしいなど、多様な声をいただいていますね。
「時間を価値に変える」ことに関しては、引き続きかなり意識をして設計を行っています。
例えば最近、ユーザーがアプリで遊ぶことでポイントを得られるサービスが増えていますよね。「移動距離に応じてポイントがたまる」とか「アンケートに答えるとクーポンが付与される」というように。
しかし『メルワーク』の場合、ユーザーにはアプリで遊んでもらうというよりも、「生産性のあるタスクをしっかり提供したい」という思想が強いんです。それによって「あなたの空き時間が他の人を助ける意味のあるものになる」という新しい体験を提供していきたいと思っています。
アセットを活用しても依存し過ぎない、マイクロサービスのベストバランス
──『メルワーク』は「思想が強い」という言葉が出てきましたが、開発する上ではどのようなことを大切にしてきたのでしょうか。
『メルワーク』は『メルカリ』アプリに付随したサービスですから、すでに『メルカリ』を利用しているユーザーにとって違和感のない、シームレスな設計やデザインにすることにはこだわりました。
『メルカリ』は「個人間で簡単かつ安全にものを売買できる」アプリ。ですから『メルワーク』も、アクセスがしやすく、できるだけ少ないステップですぐにタスクを始められるようにすることを目指したんです。
開発当初は「既にできあがっているメルカリのプラットフォームに、マイクロサービスを実装するのはたやすいこと」だと思っていたのですが、実際はその逆で、『メルカリ』に依存しすぎないシステムを実装することにとても苦労しましたね。
『メルワーク』は、今はマイクロサービスとしてメルカリに接続していますが、ゆくゆくは独自のプラットフォームをつくっていきたいと考えていたので、メルカリへの依存度をあまり高くしないことを意識していました。
別のプラットフォームとしてメルカリへの依存度を高くしないようにしたいとはいえ、メルカリとの連携が必要な部分も多く、社内の他チームとの連携は重視したところでした。テストやセキュリティーなどメルカリのプラットフォームを使っている部分については、あえて他チームとの連携を強化することを意識しながら進めるようにしていたんです。
──開発当初から、今後の拡張性を意識していたんですね。
はい。新規サービスの立ち上げなので、スタートアップのようにすばやく開発できる体制やテックスタックを採用しつつも、社内の力を借りながら堅実性を担保することにも非常に気を使いましたね。
テックスタックとしては、バックエンドはGO言語でマイクロサービス、フロントエンドはNext.jsでSPAとBFF(Backends for Frontends)を使っていて、フロントエンドとBFFのAPIにはGraphQLを採用しています。
印象に残っているのは、どの構成にしても、チームでしっかり話し合って決めたことです。「今流行しているから」とか「最新の技術だから使おう」といった意思決定はしていません。
『メルカリShops※』など社内で同時期に立ち上がったサービスをリサーチして、本当にこのサービスをつくるにふさわしいのか十分に議論をして、このテックスタックに決まったというわけです。(※メルカリShops…メルカリのプラットフォーム上で、個人事業主や個人がECショップを開設できるサービス)
──実際に社内ではどのような連携を行ったのでしょうか。
例えば『メルカリShops』の場合は、バックエンドの構造やフロントエンドのテックスタックなど、同じところが多いんですよ。メルカリ上で展開されているマイクロサービスであるという点も同じですしね。
ただ『メルワーク』のインフラはメルカリの中にありますが、『メルカリShops』は自分たちで独自のインフラを開発しています。
そういう既存の類似サービスとの類似点や違いを考慮しながら、構造やコードの違いを調べて、アドバイスをもらうなど参考にさせてもらっていましたね。
それからセキュリティー面については、メルカリのセキュリティーチームにワークショップをしてもらいました。
ホワイトボードにシステム構成図を貼り出して、それを見ながら脆弱性がありそうなところをポストイットでマッピングしていくんです。細かい部分は実際のコードを見ながら、脆弱性を指摘してもらうこともありました。
さらに、『メルワーク』のシステムデザインをドキュメンテーションにして、他のチームにレビューしてもらうこともありました。いずれも専門的な知見からフィードバックがもらえるので、非常に貴重で、有意義な時間だったと思います。
「サービスの社会的価値」を意識した、Go Boldなプロダクト開発
──開発当初から「サービスの拡張性」にこだわったことで、どのような好影響がありましたか。
実は『メルワーク』の開発を始める時、これからスケールするのか分からない小さなサービスなのに、メルカリに連携させていいのか、チームとして悩みました。
しかし結果的に、メルカリのマイクロサービスという道を選んだからこそ「このサービスは社会にどんな価値を提供するのか」というところまで、高い視座を持ちながらプロダクト開発に向き合えたのだと感じています。
『メルワーク』の理想像は、ワークを拡張して「空き時間の使い方」という新しい価値を提案していくこと。オン・オフラインにかかわらず、隙間時間を使ったあらゆるワークを提供するプラットフォームになることです。
今は「類義語チェック」「アノテーション」などメルカリのサービスに関わるワークをリリースしていますが、これから先、僕自身も想像したことのなかったワークも生まれるはず。
そうすれば、例えば引きこもりや病気、障がいなどさまざまな理由で、家の中で日々を過ごしている人や、既存の「仕事」の価値観の枠組みでは就労が難しい方にも、「空き時間の新しい使い方」を提供していけると考えています。
──大きな目標を達成するために、今がまさに「はじめの一歩」のフェーズですね。
これからは技術的にもさらに工夫を重ねていきたいと考えていて、サービスを触っていて楽しい「手触りのいいUI」にしたいですし、サーバーのレスポンスももっと速くできるはず。改善できるところはまだまだたくさんあると思っています。それから、新しいワークはどんどん増えていくはずなので、ある程度の自動化も必要になってくるだろうと踏んでいます。
また『メルワーク』は開発チームとしても面白いフェーズで、現在はダイバーシティに富んだ5人のエンジニアがいます。彼らは自分の専門外の知識も積極的に吸収しようとしていて、誰もがテックリードとして開発を牽引していけるようなチームになろうとしています。
実際に僕自身も、これまではフロントエンドのバックグラウンドの方が大きかったのですが、チームに入ってバックエンドの知識も身に付けながら、チームと共に成長できたように感じています。特に『メルカリ』の多様な機能の担当者とアラインメントをとりながら、プロダクト開発に携わる経験は得難いものでしたね。
これからも『メルワーク』チームで、組織やプロダクト、サービス間の垣根を越えながら、社会に新しい価値を“Go Bold”に提案し続けていけたらと思います。
取材・文/石川 香苗子 撮影/赤松洋太
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ