Day1:
Keynote , Client and Anti-fraud
2023.08.22
Opening Talk
12:00-12:10
プロダクト組織
12:30-13:10 40min
How to Unleash Fintech
CTO、VPoE3名によるパネルディスカッションをお届けします。本セッションでは、メルカリグループのFintech事業の未来について語った「Keynote」を受け、VPoEの2名が深掘りをしたり、これから注力したいことについて語ります。注力したいことについては、プロダクトおよび組織 両方の視点から抱えている課題や現在すでに取り組んでいること、これから取り組みたいことなどざっくばらんにお話します。
Shunya Kimura
CTO Fintech
Keigo Watanabe
Merpay VP of Product Engineering
Noriaki Utsunomiya
Merpay VP of Platform Engineering
Androidテスト自動化
13:10-13:40 30min
1週間リリースを支えるAndroid自動テスト運用のその後
メルペイAndroidチームでは週次リリースの運用を支えるため、リリース前判定のために行われているリグレッションテストの自動化に取り組んでいます。以前公開した記事でもテスト自動化について取り上げましたが、アプリリニューアルを経て、組織の構造も大幅に変わる中、テスト体制も1年半の中で変わってきました。
このセッションではメルペイAndroidチームとしてテストの自動化にどのように取り組んでいるかについて取り上げます。
Kenta Takahashi
Merpay Android Team
Shintaro Miyabe
Merpay Android Team
iOSアーキテクチャSwiftUI
13:40-14:10 30min
Merpay iOSのGroundUp Appへの移行
メルカリiOSアプリは2022年末に大規模なリアーキテクチャが実施されSwiftUIベースのアプリに生まれ変わりました(*)。一方でビジネス上の要件により、メルペイの機能群はUIKitベースのコードをそのままSwiftUIベースのアプリに移植する必要がありました。このセッションでは、どのような戦略を用いてこの移植作業を大きな事故を発生させることなく完遂したか、さらにその後のSwiftUIへの全面移行作業について説明します。
*
https://engineering.mercari.com/blog/entry/20221213-ground-up-app/
kenmaz
Merpay iOS Team
iOSSwiftConcurrency
14:10-14:25 15min
Merpay iOSにおけるSwift Concurrency対応の挫折と今後
メルペイiOSチームでは去年から今年の始めまで、Swift
Concurrency対応を行っていました。Swift
6に対応するため、ビルドオプションを変更し、コンパイルにConcurrencyチェックを適応するプロジェクトです。それによって様々なSwift
Concurrencyのナレッジを手にすることはできましたが、結果的に対応したバージョンをリリースすることはできませんでした。
このセッションでは、どんなConcurrency対応をしたか、プロジェクト中止の判断、今後の見通しなどを説明します。
Takeshi Sato
Merpay iOS Team
iOSSwiftUI
14:35-15:05 30min
SwiftUIでビットコインの価格チャートを改善・再実装した話
メルコインiOSチームはメルカリのビットコイン取引機能の開発をしています。メルコインでは大部分をSwiftUIで実装していますが、ビットコイン価格チャートについてはライブラリを使ってUIKitで実装されていました。ですがライブラリの制約もあり、チームとして実現したい表現をすべて実現できていなかったため、最終的にSwiftUIで再実装し、改善サイクルも高速化することができました。
このセッションではSwiftUIでのチャートの実装や改善サイクルを高速化した話などを紹介します。
andooown
Mercoin Client MobileApp
FrontendSkill test
15:05-15:20 15min
フロントエンドチームのスキルテスト評価システム改善の取り組み
メルペイのフロントエンドチームの採用フローの一つにスキルテストがあります。評価方法が形式化されておらず、属人化していたため安定した評価ができない課題がありました。このような課題を解決するべく、長い期間をかけてスキルテストの評価観点や評価方法を開発し、改善してきました。
本セッションではスキルテストの安定した評価を行うための取り組みについて紹介します。
tokuda109
Merpay Frontend Team
Frontendno-codewysiwyg
15:20-15:50 30min
WYSIWYGウェブページビルダーを支える技術的マジックの裏側
WYSIWYGウェブページビルダーをどのように構築したか、コンセプトから立ち上げまでの道のりをご紹介します。
柔軟なコンポーネントシステムと条件付きレンダリング機能を備えたWYSIWYGページビルダーは、ワークフローを合理化し、美しくレスポンシブなウェブページを作成するためのコーディングや技術的スキルを不要にしました。WYSIWYGページビルダーを構築する上で、汎用性と複雑性のバランスを取るなど、私たちが実践していることを説明します。参加者は、効率的で効果的なページビルダーを作成するために、共有された知識を活用する方法について理解を深めることができます。
Hal Amano
Merpay Growth Platform Frontend Team
Arvin Huang
Merpay Growth Platform Frontend Team
Ben Hsieh
Merpay Growth Platform Frontend Team
Jas Chen
Merpay Growth Platform Frontend Team
Backend不正防止
15:50-16:20 30min
メルカリのカスタマージャーニーにおける不正防止の取り組み
メルカリのアプリを利用するとき、アカウント登録、いいね、購入、出品など、カスタマージャーニーにおける複数のフェーズがあります。これらのフェーズには不正のリスクが伴うため、お客さまのアクション処理には細心の注意を払う必要があります。
本セッションでは、メルカリ・メルペイのエコシステムにおけるアーキテクチャの詳細と、不正を防ぐために行った設計上の議論についてお話します。
codechaitu
Merpay TnS Platform Team
KYCディープフェイク
16:20-16:50 30min
日本におけるお客さま本人確認と今後の技術的課題
メルペイのKYCチームは、メルカリのサービスをお客さまにとって安全なものにするため、最新の法律や規制の更新に沿ったシステムのコンプライアンスを徹底し、お客さまの本人確認に関する取り組みに従事しています。
オンラインKYC(eKYC)に特化した規制が導入され、日本のオンラインシステムは現在のところほぼ順調に稼働しています。しかし、マイナンバーカードをめぐる最近の法改正やDeepfakeのような革新的技術についての議論が始まっていることから、オンライン本人確認の状況は今後大きく変化する可能性があります。
本セッションでは、KYCチームのMann、Chris、Timが、日本における本人確認の歴史、その最新の動向、そして今後日本が直面する可能性のある新たな課題について議論します。
Tim Tosi
Merpay KYC Team
Manpreet Kaur
Merpay KYC Team
Christophe Labonne
Merpay KYC Team
FIDOパスキー
16:50-17:20 30min
メルカリへのFIDO導入の経緯とこれからの展望、課題から得た学び
メルカリでは、セキュリティ要件の高いメルコインというサービスを最初のターゲットとしてFIDO、パスキーを導入しました。本セッションでは、FIDO導入に関する概要を説明し、また、実際に実装したエンジニアが直面した課題や感想をメインディスカッションとして取り上げます。FIDOの基礎知識があるとより聞きやすいセッションです。
koi
Marketplace IDP Team
kokukuma
Marketplace IDP Team
daichiro
Mercoin Client MobileApp
hidey
Merpay Android Team
Closing Talk
17:20-17:30
Day2:
Backend and Data & modeling
2023.08.23
Opening Talk
12:00-12:10
アーキテクチャマイクロサービス
12:10-12:40 30min
メルペイのあと払いとスマートマネーを支える返済基盤マイクロサービスの進化
メルペイスマートマネーのリリースと共に既存のあと払い請求書を含めて返済機能を提供するマイクロサービスも作られました。リリース当時のマイクロサービスの構成が理想の各マイクロサービスの責務と乖離がありましたが、マイクロサービスの分割やデータマイグレーションを実施して、段階的にアーキテクチャが理想の形になっています。
本セッションでは、返済基盤マイクロサービスの誕生から今までのアーキテクチャの進化をご紹介します。
Peichong Cui
Merpay Credit Design Team
プロダクトエンジニアリング拡張性
12:40-13:10 30min
拡張性を備えたソフトウェア設計
マーケティング担当者にソリューションを提供することは、社内に顧客がいるという私たちのチームならではの課題でした。また、常に正当な理由があるものの、要件が完全に確定することはありません。そのため私たちは、開発途中でもビジネスに貢献できるプロダクトの開発に取り組みました。
本セッションでは、エンゲージメントプラットフォームを構築するために私たちが直面した課題と、課題解決のために選んだ選択肢について説明します。また、プロダクト開発がソリューション開発とどのように異なるのか、拡張性とスピードのバランスをどのように取るのかについても、いくつかの主要なユースケースの例を紹介しながら議論します。
Rupesh Agrawal
Merpay Growth Platform Team
Growthコミュニケーション
13:10-13:40 30min
発行枚数100万枚を支えたメルカードGrowth施策の裏側
昨年ローンチしたメルカードは、先日発行枚数が 100
万枚となりました。その裏側にはさまざまな Growth
施策があり、プロダクトへの機能追加や UX
の改善のための開発もさることながら、キャンペーンなど Growth
のための開発も実施しています。
本セッションでは、これらのさまざまな開発が並行する状況において
PM (Product Manager)
とエンジニアがどのように連携しながら開発を進めていったか、またエンジニアはビジネス目標をどう捉えながら開発をしてきたかといった話題についてお話します。
Kazuya Kawashima
Merpay Product Management
Soichiro Kashima
Merpay Growth Platform Team
Mikael
Merpay iOS Team
マイクロサービスアーキテクチャ
13:40-13:55 15min
メルカードの常時ポイント還元開発の裏側
メルカードのGrowth施策である常時ポイント還元のバックエンドの仕組みとマイクロサービスアーキテクチャにおけるGrowth基盤の立ち位置、開発する上での設計判断を背景交えてお話できればと思います。
keitaj
Merpay Growth Platform Team
マイクロサービスバッチ処理
13:55-14:10 15min
メルペイ加盟店売上精算の仕組み
メルペイ加盟店の売上を精算するマイクロサービスの仕組みと、直面してきた課題点、今後のアーキテクチャの進化などについてお話します。
Takumi Shibazaki
Merpay Cash I/O Team
マイクロサービスBigQueryテスト
14:10-14:25 15min
GoによるSQLクエリテストの取り組み
メルペイ加盟店の管理システムを開発しているチームには、複雑な条件を持つBigQueryのSQLクエリがいくつか存在しています。例えば、加盟店管理に関する費用計算などの計算クエリのように、外部環境の変化によって要件が定期的に変更され、マイクロサービス化などのシステム化が難しいクエリがあります。このようなクエリは複雑であるだけでなく、テスタビリティにも問題がありました。そのため、開発者がテストを実施することが困難になっており、クエリの変更を安心して行うことができない状態にありました。
本セッションでは、このような複雑な条件を持つBigQueryのSQLクエリに対して、Goのテストコードとして自動テストを作成した取り組みについてお話します。
Yuki Mukasa
Marketplace IDP Team
機械学習基盤不正検知
14:35-15:05 30min
発生可能な取引の属性データを用いた素早い不正検知
本セッションでは、素早く不正検知するための新しい仕組みについて紹介します。
従来のバッチ推論による不正検知では、機械学習モデルが推論する前に不正が終わることがあり、対応に遅れが生じる場合がありました。
そこで、本セッションでは、発生可能な取引の属性データを使って不正リスクを計算するシステムを紹介します。さらに、リアルタイム特徴量と推論基盤を組み合わせ、属性データが更新されるたびにリスクを再計算します。これにより、不正行為が発生する前に検知することが可能となります。
Liu
Merpay Fraud prevention Team
Li
Merpay Fraud prevention Team
機械学習品質保証
15:05-15:35 30min
メルペイMLにおける品質保証とリスク管理
メルペイは、「認定包括信用購入あっせん業者」の認定を日本で初めて取得し、収入等の固定的な情報ではなく自社データから機械学習によって利用可能額を導き出しています。それは一方で、AIの生み出す誤差やそれを支えるシステムなどに対して、従来の金融機関以上に厳しい品質保証とリスク管理が求められることにもなります。そのためには現場のエンジニアの意識レベルだけではなく、言語化されたルールによるガバナンスが必須となります。
本セッションでは、システムリスクとモデルリスクの両面から、メルペイの機械学習チームがどのようにリスク管理を体系化しているかについてお話します。
shuuk
Merpay Fraud prevention Team
Haruki Kaneko
Merpay Risk Team
Yuki Saito
Merpay ITRisk Management Team
機械学習LLM
15:35-16:15 40min
Merpay & MercoinにおけるLLM活用の取り組み
Merpay,
Mercoinでは新規にチームを立ち上げ、LLMや生成AIを活用し、サービスの改善や社内の生産性向上を目指しています。
本セッションでは、立ち上げに携わっているメンバーから、具体的にどのような形で私たちが取り組んでいるのか、個別のユースケースの紹介、活動から見えてきた課題や今後の展望を、パネルディスカッションやプレゼンテーションを通じてお話します。
Yuki Ishikawa
Mercari VP of Generative AI/LLM
Daisuke Torigoe
Merpay Machine Learning Team
Noriaki Utsunomiya
Merpay VP of Platform Engineering
hmj
Merpay AI Labs Team
データBigQuery監視
16:15-16:30 15min
BigQueryのデータ監視社内サービスを作った話
メルペイ Data Management
チームは、社内データの利用者が「あんぜんに」「あんしんして」「かんたんに」データを活用できるような仕組みやプロセス構築、サポートを行っています。ある日、データを活用する複数のチームから、「BigQueryのデータが正しくないときにSlackの通知がほしい」という依頼を別々に受けました。このような要件に基づいてデータを監視を行うサービスは、社内にまだありませんでした。そこで今回の依頼者チームだけでなく、今後同様の依頼を受けた際に対応できるように、BigQueryのデータを監視するシステムをGCPで開発し、社内サービスとして立ち上げることにしました。
本セッションでは、どのようにそのサービスのシステムを構成したかについてお話します。
Hirobumi Takahashi
Merpay Data Management Team
GitHub Actionsセキュリティ
16:30-17:00 30min
社内用GitHub Actionsのセキュリティガイドラインを作成した話
社内でのGitHub
Actions利用の広がりにあわせて、安全安心に使うためのガイドラインがあるべきだと私たちは考えました。
そこで、社内有志メンバーによるGitHub
Actionsセキュリティガイドラインを執筆し、社のセキュリティチームやさまざまな人のレビューを経てガイドラインが策定されました。
本ガイドラインは社内用ではあるものの、社外の方々にも有益であると考えエンジニアリングブログにて公開したところ、多くの反響をいただきました。
今回の発表ではこのガイドラインの内容を一部紹介し、社内での活用事例やガイドライン作成のプロセスなどもご紹介します。
Toshiki Kawamura
Mercoin Ops Team
データBigQuerySLOT
17:00-17:30 30min
BigQueryのコンピューティングリソース管理の取り組み
メルカリグループではデータ分析基盤としてBigQueryを利用しています。大量データに対する分析処理もSQLクエリによって簡単に記述でき、実行速度も速く社内の多くのユーザが便利に活用しています。その反面、便利であるがゆえにリソースに余裕がなくなるほどに利用され、時折パファーマンスが低下したり、特定のJOBがタイムアウトしてしまうような問題も発生しております。
本セッションではBigQueryのコンピューティングリソース運用にあたって直面してきた課題と課題解決に向けた取り組みについてお話しします。
Go Kojima
Merpay Data Management Team
Closing Talk
17:30-17:40
Day3:
Fundamental technology and Organization
2023.08.24
Opening Talk
12:00-12:10
テスト時刻
12:10-12:40 30min
fake clock microservice -時刻をハックしてテストする方法-
メルペイのあと払いやメルペイスマートマネーでは、請求書を2ヶ月延滞した状態などをテストしたいケースがあります。
現実時間で2ヶ月かけてテストするのは非効率すぎるため、時刻をハックして短時間でテストを終わらせる仕組み(fake
clock)を用意しています。複数のマイクロサービスにまたがる場合にどのような課題があるのか、またどのように解決しているのかについて開発者が語ります。
vvakame
Merpay Solutions Team
Hiraku Nakano
Merpay Credit Design Team
Hiroyuki Tanaka
Merpay Credit Design Team
SREGCPInfrastructure
12:40-13:10 30min
メルコインのインフラ設計・構築と、信頼性のあるサービスをリリースするためのSREの取り組み
メルコインのサービスローンチに伴って、SREがメルコインのインフラをどのように設計し、限られた時間の中で構築を行い、さらに数十あるマイクロサービスをバックエンドエンジニアと協力してProduction Readyな状態にし安全にローンチしたかをお話します。
Masaki Iino
Mercoin SRE Team
Takaaki Yuhara
Mercoin SRE Team
System ArchitectureSecurityData Privacy
13:10-13:40 30min
メルコインにおけるシステム間のデータ分離を実現するための通信アーキテクチャ
メルコインでは、データプライバシーの観点からメルカリ・メルペイと異なるユーザーIDを用いています。しかし同時に、メルコインのシステムはメルカリ・メルペイのシステムに依存しており、ユーザーを特定してシステム間の通信を行う必要があります。これらの制約の中で私たちがどのようにシステム間通信のアーキテクチャを設計したのかについてお話しします。
Kohei Noda
Fintech Architect
グローバルD&I
13:40-14:10 30min
Building a Global environment at Merpay: India & Japan
メルペイは40カ国以上の多様な人材によって開発されています。
昨年、メルカリはインドにセンター・オブ・エクセレンスを設立し、メルペイは現在、日本だけでなくインドにも開発チームを置いています。
私たちがどのように協力し、何を学んだのか、そして今後の取り組みに興味があればぜひ本セッションにご参加ください。
Robert Jerovsek
Merpay Product Engineering Div. Backend
Keigo Andrade
Merpay Growth Platform Team
Sumil Panicker
Mercari India Growth Platform Team
品質保証テストケース標準化
14:10-14:40 30min
なめらかなFintech QAを実現するためにテストケースフォーマットを標準化した話
メルペイQAチームでは、よりよいサービスをお客さまに早く届けるために、日々品質保証活動の生産性を上げる取り組みを行なっています。 今回その取り組みの1つとして、テストケースフォーマットの標準化を行いました。 QAチーム全員が使用するテストケースフォーマットをどのように作成していったのか、方針決定から運用開始に至るまでのプロセスや運用してみて分かった課題などお伝えできればと思います。
Yuki Sakamoto
Merpay QA Team
Masatoshi Sato
Merpay QA Team
決済基盤暗号資産ビジネス
14:50-15:20 30min
メルコイン決済基盤の実践話
メルコインの暗号資産ビジネスを支えるために、既存のメルペイの決済基盤の開発経験を活用し、決済基盤を再設計・開発しました。
本セッションでは、メルコイン決済基盤の構成や各ドメインコンポーネントの紹介、技術的な進化ポイントについて、詳しくご説明します。
Junwei Liang
Merpay Payment Platform Team
マイクロサービストランザクションリコンサイル
15:20-15:50 30min
メルコイン決済マイクロサービスのトランザクション管理を支える技術
メルコインではお客さまの残高の増減に関する操作を決済マイクロサービスを経由して実行しています。このマイクロサービスでは、その特性上、複数マイクロサービス間の整合性の担保やリコンサイルがとても重要な機能になります。そこで、その機能を実装するために利用している技術の詳細をご説明します。
Shota Suzuki
Merpay Payment Platform Team
キャリア組織
15:50-16:20 30min
Merpay Engineering Career Talk
メルカリグループにSoftware
Engineerとして中途入社した3名が、それぞれ歩んできたキャリアについてお話します。社内外問わずEngineerを取り巻く環境が大きく変化していく中で、働いている社員ひとりひとりがキャリアのターニングポイントをどのように捉え、葛藤/決断してきたかのリアリティをお届けします。
本セッションは、パネルディスカッションになっており、ご視聴されている参加者の方々からの質問にもお答えできればと思っていますので、ぜひ奮ってご参加ください。
Keigo Watanabe
Merpay VP of Product Engineering
Osamu Tonomori
Fintech Architect / Engineering Productivity
Katsuhiro Ogawa
Merpay Credit Design Team
gRPCFederated Architecture
16:20-16:50 30min
gRPC Federation を利用した巨大なBFFサービスに対するリアーキテクチャの試み
メルペイではアプリケーションからのリクエストに対して複数のマイクロサービスの呼び出し結果を集約して返すバックエンドサービスが存在します。メルペイのリリースから4年以上が経ち、多数のマイクロサービスに依存しコードが肥大化していく中で、このサービスを運用するチームの責任の所在やメンテナンスコストが問題になりました。そこでチームの責任が明確になるように肥大化したサービスを複数のサービスに分割する計画を進めています。その際にメンテナンスコストが高くならないよう、gRPC プロトコルを対象とした Federated Architecture を構築できる gRPC Federation という仕組みを開発し、導入を検討している話をします。
goccy
Engineering Productivity
マイクロサービス組織
16:50-17:10 20min
Enabling ProgramのEngineering Headをちょっとやってみている
メルペイでは2023年から開発体制としてProgram制を導入しました。Enabling Programは他のProgramの開発支援を行う横断チームです。Programの発足以前から行ってきたことを振り返り、発足後に変化したことをお話します。また、Enabling ProgramのEngineering Headとして今後の方向性についてもお話します。
Masahiro Sano
Fintech Architect