Mercari Engineeringの2022年振り返り

こんにちは。メルカリEngineering Officeの@yasu_shiwakuです。
この記事は、Mercari Advent Calendar 2022 の25日目、最後の記事です。

2022年も残すところわずかですね。これまでのAdvent Calendarの中でも紹介された通り、2022年もメルカリでさまざまなプロジェクトをおこなっていました。またソウゾウのメルカリShopsも今年リリース1周年を迎え、同じMarketplace事業部としてさまざまなプロジェクトに挑戦していきました。

本記事では、メルカリMarketplaceのエンジニアリング組織として特に象徴的だったイベントや出来事を取り上げていき、CTO/VP/Directorがそれぞれのトピックで取り組んだことの振り返りや、来年に向けた抱負について語っていきます。

今回コメントをもらったのは、以下のメンバーです。

  • @kwakasa: CTO Marketplace / Managing Director of Mercari India
  • @CaDs: VP of Product Engineering, Mercari JP
  • @kimuras: VP of Platform Engineering, Mercari JP
  • @mtsuka: Director, Developer Productivity Engineering
  • @keigow: Director, Head of Engineering, Souzoh

GroundUp Appのリリース (by @CaDs)

今年の9月、メルカリのGround Up (GU) AppがiOS・Androidの両OSでリリースされました。メルカリで働いているエンジニアの誰もが一度はこのプロジェクトに関わったことでしょう。私たちエンジニアリング組織にとって、このプロジェクトはそれほど大きな挑戦の一つだったと感じています。

このプロジェクト中に起きた出来事を、すべて振り返ることなどできないくらいたくさんのことがありました。端的にまとめるなら、このプロジェクトそのものが私たちの3つのコアバリューを体現するものだったと言えるでしょう。それぞれのバリューを体現できたと感じる点について、簡単に書き残します。

Go Bold:何千万というお客さまが使うアプリリリースを完遂できたこと、しかもそれをエンドユーザーへの影響を最小限に留めて、大きな問題もなくより良いユーザーエクスペリエンスをお届けできたことが、何よりもこのバリューを体現しています。

All for One:アプリの書き換えという途方もない作業に対して、あらゆるメンバーがドッグフーディングや早期のフィードバック、悪い体験に繋がりかねないバグの対処に対して協力し合っていました。加えてグループ全体のあらゆるエンジニアが、新しいアプリのリリース成功に向けて一丸となって協力していました。

Be a Pro:このプロジェクトの様々な段階で、エンジニアたちはこれまで向き合ったことのないような技術的な課題に直面したことでしょう。しかし、どれだけ困難で複雑な状況であっても、私たちのチームはその課題を解決するだけでなく、常にお客さまに最高の体験を提供することを忘れませんでした。

GU Appが始まった背景や挑戦したことの説明は、こちらの記事が一番よくまとまっているので、ぜひ読んでみてください。また弊社のリードアーキテクトたちが取り組んだことについてはこちらの記事で詳細に語られています。

Mercari Indiaの設立 (by @kwakasa)

CTO Marketplaceの@kwakasaです。現在はMercari IndiaのManaging Directorも兼務しています。ここでは2022年に大きな進捗を遂げたインド開発拠点設立を振り返ります。

インド開発拠点設立は、メルカリグループのプロダクト開発とエンジニアリング体制の増強を目的とした、直近で最も戦略的なプロジェクトの1つとして2022年の初めにキックオフされました。

「新たな価値を生みだす世界的なマーケットプレイスを創る」というミッションを達成するために、私たちはここ数年、世界中のテックタレント獲得に力を入れて開発力を強化してきました。しかし、プロダクトやサービスのポートフォリオが増え続ける中、増大し続けるビジネスニーズとそれに付随するプロダクトの複雑性や実装規模の拡大に対し、エンジニアリングおよびプロダクト開発のケーパビリティが追いついていくのが困難になってきていました。

上記の理由から、メルカリ初のGlobal Center of Excellence (GCoE)をインドのベンガルールに設立することにしました。これはメルカリグループがグローバルテックカンパニーになるために必要な一歩であると理解しており、開発拠点設立に際して尽力してくれたメルカリのメンバーとパートナーには、コアバリュー(Go Bold、All for One、Be a Pro)を体現してくれたことに対して最大の感謝を表したいです。

おかげさまで初期メンバーが続々と集まっており、2023年にはさらに組織が拡大することを期待しています!

プロジェクトのここ数ヶ月の動向や進捗、目的の詳細については Head of Engineering for GCoEのMohanがこちらの記事で紹介しているので、ぜひ読んでいただけると嬉しいです。

RFSの進捗 (by @mtsuka)

こんにちは。メルカリDPEでDirectorをしているmtsukaです。
2021年10月からスタートしたRobust Foundation for Speed(RFS)は、既存のシステムの解析・改善を、大規模かつスピーディに行うという、難易度の高い全社的なリファクタリングに中期的に取り組んでいます。

このRFSの責任者の観点で2022年を振り返ってみたいと思います。
RFSでは1年を前後半に分け、前半はスコープの確定と計測に注力し、後半はその範囲で成果を出していくという作戦で動いてきました。

RFSはリファクタリングやマイグレーションをかなりやるのですが、エンジニアリングの心情として全てキレイにしてしまいたい気持ちはわかるものの、これは投資ですからROIを説明できねばなりません。このため、大まかには変更頻度の高いコンポーネントを優先的に抽出し、DBのデカップリングやマイグレーションの対象としました。メルカリではポイント付与などのキャンペーンを定期的に実施していますので、そういったものをより素早く、かんたんに実施できるようにする狙いもありました。プロダクトの品質はエンジニアだけでなく、全員が責任を追うものとし、Technical Product Manager (TPM)やProduct Manager (PM)も巻き込んで、プロダクトのロードマップに連携するように意識しました。

2022年の後半は粛々とDBのデカップリングとマイグレーションをしていきました。基本的な思想はDRY(Don’t repeat yourself)を意識しつつ、同じ苦労を繰り返さないためには?次同じことをより簡単にするとしたら?というような意図での抽象化も実施してきました。その成果は配送料金の変更などに現れています。RFSのタグラインはこの1年ずっと同じだったわけですが、この頃になると、言わずとも価値観は共有できているので、目標設定や狙う成果なども合意しやすくなっていました。特にTransaction領域やCSTool領域などは、初期に定めたスコープ内での目標達成がほぼ見えており、Task Forceの完了が見えてきました。

詳細については下記ブログエントリなどに記載されているので、参照ください。

ポイントはいくつかあるものの、振り返ってみて良かったと思うことは:

  • エンジニアによるエンジニアのためのイニシアチブにしなかった
  • タグラインを維持し続けることは大事
    という点でしょうか。
    今後も定点観測をしつつ、改善の歩みを続けていきたいです。もちろん、改善点は無限にあるので、TFという体裁がなくとも、プロダクトの品質に従業員一同がそれぞれに責任を負っていけると良いと考えています。

FinOpsプロジェクトの始動 (by @kimuras)

こんにちわ。VP of Platform Engineeringを担当している木村です。この1年はFinOpsの組織を作ってから、実際にFinOpsの効果が得られたとても実りある1年となりました。FinOpsについてや、実際に行ってきた活動としてはbungoの別の記事をご参照ください。

Mercariではこれまでに、高速にサービス開発をし、アーキテクチャもMonolithからMicroservicesにマイグレーションしました。しかし、一度これまでの高速な開発を振り返り、アーキテクチャやインフラコストを見直さなければならないフェーズとなりました。当然のことながら、Microservices化しただけでは本質的な改善とは言えません。アーキテクチャを改善することによって、エンジニアのプロダクティビティの改善やインフラコストの見直しも必要となります。FinOpsでは、これらの背景を踏まえて主にインフラコストを抜本的に見直して、コスト改善を図るために開始しました。

FinOpsの組織を作れても、実際にコストを改善の成果を出せる状態にもっていくのは簡単ではありませんでした。というのもメルカリではMercariアプリだけではなく、USやMerpay、Shopsなど、全社でGoogle Cloud Platformを使っているので、コスト構造を明らかにしたり、より詳細なモニタリングシステムを作ることは容易なことではなかったのです。

成果を出すため、各社でFinOpsの代表者を決めて、定期的にコスト改善のための戦略を議論し、全社が同じゴールに向かって実行する必要がありました。
その結果、まだ道なかばではありますが、FinOpsのメンバーと各社の協力により、現在ではクラウドサービスのコスト構造がより明らかになり、インフラコストの中長期的な予測がより洗練されてきました。また、意図しない急激なサーバーコストにも以前よりはすぐに気がつくことができるようになり、担当者に問題解決の相談が早急にできるようになりました。

個人的にFinOpsで得られた一番大きな効果は、インフラコスト削減だけでなく、エンジニア全体的にインフラコストの意識が高まってきたことだと思います。正しく現在のコスト状況を把握できるだけでなく、将来的な予測もわかることで、ひとりひとりのエンジニアが自然とインフラコストに対する意識が高まってきました。FinOpsの究極的なゴールは、コスト改善に関する具体的なガイダンスを示さなくても、自然とそれぞれのチームがコストの最適化ができる状態になるのがゴールだと思います。FinOpsチームはこの1年でその礎を構築くことができました。

メルカリShopsリリース1周年 (by @keigow)

こんにちは。ソウゾウHead of Engineeringのkeigowです。メルカリShopsの本格提供開始が去年の10月だったので、サービスのリリースから1年が経ちました。良い機会なので、ソウゾウとメルカリShopsについての振り返りをしたいと思います。

メルカリShopsはC2Cのフリーマーケットアプリであるメルカリの中に、事業者のお客さまがお店を持つことができるというコンセプトでサービスを開始しました。開発を開始した1月からβリリースを行った7月までは期間が短かったこともあり、お店のフォロー機能も無いようなミニマムな状態からのスタートでしたが、この1年でお客さまの意見も取り入れながら、以下のように大きく改善を進めることができました。

  • メルカリ便 / クールメルカリ便の提供
  • CSVによる一括管理機能の提供
  • API接続によるシステム連携
  • タイムセール機能の提供

まだまだ提供していきたいものが無限にあるので、優先順位をつけて、着実に改善を積み重ねていきたいと思います。

またエンジニア組織について、こちらの記事でも触れたようにソウゾウではMove Fastという価値観を大切にしています。それぞれのエンジニアが主体的にOwnershipを持って改善を進めることで、日々かなりの数のReleaseを行うことができる状態を保てており、この良い状態を今後も保っていけるようにしたいと思っています。

一方で新たな課題もでてきています。元々メルカリShopsはスピード感を持って開発を進めるためにフリマのメルカリの機能と依存が少ないように開発を進めてきました。それ自体は初期の機能提供のスピードを早めることができて良かったのですが、改めてフリマのメルカリとメルカリShopsでのお客さま(特に購入者さま)の体験をなめらかにしていく必要性がでてきています。

元々疎結合に作っていたものを、どのように上手く繋げていくのか、そもそもフリマのメルカリの商品とメルカリShopsの商品をどのように合わせて見せるのが、お客さまにとって最も良いのか、エンジニアリング観点でもプロダクト観点でも、来年は大きくチャレンジが必要になると思いますが、引き続き楽しんでやっていきたいと思います。

Hack Fest 2022 (by @CaDs)

1年の締めくくりとして、久しぶりに社内ハッカソンを開催しました!過去にHack Weekとして実施していましたが、期間や形式を少し変えてHack Festとしてリブランディングをしました。

このイベントでは、エンジニアが3日間でサービスの改善やイノベーティブなソリューションを提案することに集中でき、普段の業務では触れたことのない技術領域に触れたり、メルカリをよりよいプロダクトにするためのクリエイティビティを発揮する場として機能しています。

Hack Festの詳細はこちらの記事で読めますが、今回は96のアイデアが提出され、そのうち26のチームがHack Festの期間中にデモをプレゼンテーションしました。

メルカリのエンジニアたちは常に高みを目指していますが、今回のイベントでは素晴らしいと言わざるを得ないアイデアがいくつも発表されました。ここから発せられたアイデアが、新しい機能として公になるのを楽しみにしています!

採用情報

メルカリでは一緒に働くメンバーを募集中です。 少しでもご興味のある方は、ぜひともMercari Careersの募集要項やRobust foundation for Speedの特設ページをご覧ください。

本年もMercari Engineering BlogのAdvent Calendarをお読みいただきありがとうございました!来年もよろしくお願いいたします。よいお年を!

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