ganzy

Mercari, Inc.

Mercari US

React Native / iOS / Android / Web

「Mercari」アプリのアイコン

アメリカ向けのマーケットプレイス「Mercari」。日本とアメリカの拠点で同事業に携わり、モバイルアプリを中心に、プロダクトの開発と技術基盤の整備をリードしました。

iOSアプリの全面刷新、日米の開発チームを支えるリリースサイクルの自動化、iOS / AndroidアプリのReact Nativeへの移行など、事業や組織の変化に合わせて、開発の進め方そのものに関わる課題に取り組みました。

また、日々の開発でチームが直面する技術的な難題に対し、設計や実装、パフォーマンス、セキュリティの観点から解決を主導。必要に応じてモバイル、Web、バックエンドを横断して自ら開発し、各チームが前に進める環境づくりと、ビジネス指標の改善に貢献しました。


所属・役割

Mercari, Inc.

モバイル領域を中心に、技術ロードマップの策定、技術方針の検討、設計、実装、継続的な改善まで、プロダクト開発における技術面を幅広く担当しました。事業の優先順位や組織の将来像も踏まえ、技術的な意思決定とその実行を担いました。

主な実績

アメリカ市場に向けたアプリの全面刷新

当初のMercari USアプリは、日本版のコードベースをもとに開発されていました。アメリカでの事業を本格的に拡大するにあたり、現地の市場に合わせたプロダクトを開発していくため、アプリを作り直すことになりました。

2017年の刷新では、iOSの技術リードとして、アーキテクチャや内部フレームワーク、デザインシステム、自動テスト、デプロイの仕組みなど、開発を支える基盤の設計・実装を担当。約2ヶ月半での開発・リリースを実現しました。

関連資料

日米双方が主体的にリリースできる仕組みの構築

日本とアメリカに開発チームがある環境では、時差をまたぐリリース調整が負担になっていました。機能の開発が終わっていても、リリースのために拠点間でタイミングを合わせる必要があり、双方のチームが主体的に開発を進めるうえでの課題となっていました。

この調整をなくすため、リリースサイクルを自動化。日本とアメリカのどちらのチームも、自分たちの変更にオーナーシップを持ち、リリースまで進められる体制を整えました。

チームを横断した技術課題の解決

大規模な刷新に加えて、個々のチームだけでは解決が難しい技術課題にも継続して取り組みました。アーキテクチャや実装上の問題、パフォーマンス改善、セキュリティ対応など、開発の障害になっている箇所を見つけ、解決までをリードしました。

担当範囲をモバイルに限定せず、必要であればWebやバックエンドにも入り、機能や改善に必要な実装を一人で横断して担うこともありました。技術的な助言だけでなく、自ら手を動かして課題を解消し、プロダクトの改善やビジネス指標の向上につなげました。

iOS / AndroidアプリのReact Nativeへの移行を発案・主導

組織の成長に伴い、より小さなチームに分かれて開発を進めるうえで、モバイルアプリの技術構成が制約になっていました。各チームにiOSとAndroidそれぞれのエンジニアが必要で、一部にReact Nativeを組み込んだハイブリッド構成では、モバイルだけで3名の担当者が必要になる場合もありました。

さらに、日米の時差も重なることで、人員の確保やQAの調整が難しくなっていました。ビルド時間の長さも含め、機能を開発してから検証するまでの負担が大きく、チームを細分化するだけでは開発効率を高めにくい状況でした。

そこで、iOS / AndroidアプリをReact Nativeへ移行し、主要なコードベースを共通化することを提案しました。目的は、各プラットフォームに別々の担当者をそろえる必要性を減らし、より小さなチームでも機能の開発を進められるようにすることでした。

2019年頃から構想と計画を進め、2021年に本格始動。開発のリードに加え、アーキテクチャの設計、リリース計画、インフラの整備までを担当し、並行するプロジェクトや他部署への影響を考慮しながら移行を進めました。

掲げていた1年での移行を達成。主要なコードベースを共通化することで、より細分化されたチームで開発を進められるようになりました。

移行の過程では、既存のiOS / Androidアプリ間にあった挙動の不一致や、多くの不具合も明らかになりました。移行後にはビジネス指標も従来のアプリを上回り、開発体制の改善に加えて、事業面でも成果につながる取り組みとなりました。

関連資料

主な技術

  • Swift / Kotlin / Java
  • React Native / Expo
  • TypeScript / React / Redux Toolkit
  • ReactiveSwift / RxJava
  • Go / PHP
  • Protocol Buffers
  • fastlane

アプリ

App Store (US) / Google Play (US) / Web