2018年にサービスを開始し、日本でユーザー数6,500万人(※2024年8月時点)というスマホユーザーの約3人に2人が使用するモバイル決済サービスに成長したPayPay。現在約50の国と地域から多様なエンジニアが集まって構成されています。
India Dev Speaksシリーズでは、PayPayの海外開発拠点であるPayPay Indiaの個性豊かなメンバーたちの声を通じて現場のリアルをお伝えします。
今回、PayPayの残高を管理するウォレットシステムからのポイントシステム分離プロジェクトに携わったメンバーに、プロジェクトの内容や、品質とスピードを両立させる秘訣、PayPay Indiaでエンジニアとして働く魅力を聞きました。

Sanchit Goyal
PayPay India Lead Engineer
ハリヤナ州ファリダバード生まれのSanchitです。もともと、高いスケーラビリティを持つプロジェクトの設計と開発に興味を持ち、ゼロからソリューションとプロセスを設計する機会を求めて2023年10月にPayPay Indiaへ入社しました。

Mihir Pathak
PayPay India Software Engineer
マハーラーシュトラ州アムラバティ生まれのMihirです。過去4年ほど、東京の通信会社で働いたこともあります。急伸するフィンテック業界でのスケールの大きな課題解決に興味を持ち、PayPayが急成長する姿に感銘を受け、2023年8月に入社しました。

Ankit Kumar
PayPay India Software Engineer
ジャールカンド州ハザーリーバグ生まれのAnkitです。もともと、フィンテック分野で働くことに興味があり、高スケーラブルなプロジェクトに取り組みたいと感じていました。そして、前職まではずっとリモートワークで働いてきたので、コミュニケーションの取りやすさや仕事のしやすさを鑑み、次はオフィスに出社し仕事したいと考えていた時にPayPay Indiaに出会いました。2023年11月に入社し、今はオフィスで仲間と切磋琢磨する日々を楽しんでいます!

Keshav Kant
PayPay India QA Engineer
こんにちは、ビハール州モティハリ出身のKeshavです。2023年11月にPayPay Indiaに入社しました。PayPay Indiaは私にとって4社目で、フィンテック領域でプロダクトを提供する会社で働きたいと思って選びました。
プロジェクト立ち上がりのきっかけ
拡大するユーザー登録者数の裏側でウォレットシステムが抱えた課題解決のために
Sanchit:
今回のプロジェクトは、PayPayアプリのウォレットシステムが抱えた課題に対処するためにスタートしました。ユーザー数が増加する中で、既存のシステムの管理がますます難しくなっている状況に対して、私たちはポイント残高を管理する部分をシステムから分離し、新しいポイントシステムを作成することにしました。
この変更は、ユーザー体験に変化を感じさせないようにしながら、管理を簡素化することを目的としていました。ポイントシステムの分離によって、ウォレットシステム全体の負荷を軽減することを目指しましたし、また、今回のアプローチにより各システムの役割が明確になり、維持と運用が容易になりました。最終的には、プロジェクトは将来の成長に向けてパフォーマンスとスケーラビリティの向上に焦点を当てました。

PayPay Indiaならではのチャレンジと成長
ユーザーに対し高品質なプロダクトを届け続けるためにハードなミッションに挑む
Sanchit:
今回のプロジェクトではウォレットシステムからポイントシステムを一気に移行させるのではなく、数パーセントから徐々に移行していくという段階的な方式を採りました。移行プロセスにおいて、フローやユーザーリストなど考えなければならないことが多く発生したんです。また、トランザクションの管理も必要となり私はそのソリューションを設計しました。日々新たなチャレンジに向き合うような状況でしたね。
Mihir:
本プロジェクトは、リリース期日も予め設定されていたものの、まずはスクラッチから始める必要がありました。PayPayアプリの中でも、多くのユーザーから日頃使用されるコアモジュールの「ウォレット」はTPS(Transactions Per Second)も高い。そんなモジュールのソリューションをゼロからハイレベルな状態でスピード感を持って設計・実装することは、ソフトウェアエンジニアの自分にとってもかなりのチャレンジでした。振り返ってみると、ポイントのキャンセル処理など、結構エッジケースも色々ありましたし、すごく堅牢なテストも行いちゃんと本番環境で問題が無いようにしました。今回のプロジェクトに関わることによって自分自身も成長できたと感じています。

Ankit:
私が入社したのは、設計が確定し、実装段階に入った頃でした。ウォレット関連の修正依頼を受けることもあり、ウォレットチームと密にコミュニケーションをとりながら作業を進める中で、機能自体への理解がさらに深まりました。また、ポイント付与のフロー設計にも関わっていました。複雑な案件でしたが無事に実装でき、その後も特にissueなど発生していないので果たすべき役割を全うできたと感じています。
Keshav:
QAエンジニアとして、私はテストケースの設計、バグライフサイクルの管理、自動化スクリプトの作成、およびジョブ/パイプラインのスケジューリングを担当しました。実は、プロジェクトへの参画当初、テストの準備は非常に初期段階だったんです。
プロジェクト参加後は、このプロジェクトのためにQAセットアップに必要な準備を開始し、すぐにテストを始めました。一例として、リリースが段階的に行われたため、ユーザーが移行済みか、未移行か、移行中かによって、無数の異なるテスト組み合わせを行う必要がありました。様々なシナリオを考え、いずれのケースでもユーザー体験が損なわれないようにテストを行いました。いま振り返ってみると、ここでは語りつくすことができないくらい非常に多くのチャレンジがありました。私にとって、このような大規模なテストは素晴らしい経験となりました。
ハードルの高いプロジェクトを成功に導いたもの
Keshav:
今回のプロジェクトはいくつかのフェーズに分けて進めたのですが、全てのフェーズで管理やメンテナンス、設計を行い、齟齬が無いように進めることはある種チャレンジで、とても勉強になりました。
Mihir:
エンジニアとして非常にハードルの高い案件でした。ミスの許されないプロジェクトであり、必然的に、エッジケースまで全て網羅した高品質なプロダクトをかなりのスピード感を持って作り上げることを要求されました。あらゆるケースを想定し改善していくことは大変な作業でしたが、結果としてエンドツーエンドでポイントサービスの分離をすることができました。
Ankit:
今回、日本とインドの複数のチームが協力してプロジェクトを進めました。PayPayの日本チームとのコミュニケーションは非常にうまくいったと感じています。ウォレットチームのメンバーが1か月ほど日本からインドへ出張し、システムや設計についてナレッジのシェアをしてくれて、理解を深めたことも、プロジェクト成功の理由です。

Sanchit:
今回構築したポイントシステムは、PayPayの残高を管理しているウォレット機能の一部であり、PayPayの根幹とも言えるシステムです。1円たりとも間違いは許されないため、時間をかけて堅固なデザインを構築し、ポイントバックエンドチームによりコードレビューもしっかり行いましたし、QAチームが問題になりそうな箇所を特定して全てテストしてくれたこともあり、リリース後はクリティカルな問題は1件も起きていません。これは品質を重視したモノ作りを重視するPayPay Indiaだからこそ、成しえたことだと思います。
職場のカルチャー
「品質」と「スピード」の両立。PayPay Indiaだからこそのモノ作り
Mihir:
PayPayでは、インドチームと日本チームで国境を越えたコラボレーションを効率的に進めています。時差はありますがシームレスに連携できていますね。
日本はインドより3.5時間進んでいますが、時差をお互い最大限に活用し、重なる時間帯を利用して依存関係を最小限に抑えることによって、プロジェクトをスムーズに推進しています。
また、PayPayではエンジニアリングチームは、主にコミュニケーション言語として英語を使用するため国境を越えた明確な意思疎通ができています。時に言語の壁が発生することもありますが、その時は必要に応じて翻訳ツールや通訳のサポートを利用し、スムーズなコミュニケーションと高品質なプロジェクトの効率的な遂行を実現しています。
Keshav:
このプロジェクトでも、高品質を確保するために、インドと日本の両チームを含む複数のチームと何度も議論を重ね、すべてのフローが漏れなくカバーされていることを確認しました。その結果、ポイントサービスの自動化カバレッジを100%達成し、新しい変更があっても手動テストの必要がなくなり、開発速度と品質のバランスを保つことができました。

Sanchit:
PayPay Indiaではユーザーファーストなモノ作りを行っています。みんな協力的で、チームに貢献したいと考えているので、コミュニケーションが非常にスムーズで、何か問題が生じてもあっという間に解決できる。その結果、スピーディーにモノ作りを進められています。これぞオフィスで顔を合わせて仕事する醍醐味ですね。
Ankit:
日本とインドでは、3.5時間の時差はありますがエンジニアは夜遅くに働いている人が多いので働く時間が重なっていることも多いんですよね。質問を書き込んでおくと、翌日出社した時にはもう日本チームから解決策が提案されていることもあります。この点も、品質とスピードを両立できる秘訣ではないでしょうか。
インドの開発者へのメッセージ
Sanchit:
PayPay Indiaでは、急速なスピードで成長するフィンテック領域で革新的なプロジェクトに携わり、最先端の技術と影響力のあるソリューションを駆使しながら、フィンテックの課題に立ち向かっていくことができます。
Ankit:
今回のプロジェクトに携わることにより、品質、そしてそこから導かれる信頼は日本ユーザーにとってとても大事なことを実感しました。
日本ユーザー向けにプロダクト開発を行うPayPayでは、エラーフリーで、高品質なプロダクトを迅速かつ大規模に開発しています。様々な知識や技術を持つメンバーが集まり、いろんな技術を駆使し、多くのことを学べる環境です。知識を持つ方、革新的なアイディアを持つ方は特に大歓迎です。
Keshav:
PayPay Indiaの同僚たちは皆スマートで、ナレッジもたくさん持っています。知識豊富な仲間たちと、共に切磋琢磨しながら働くカルチャーとかを探している人にはおすすめです。周囲は皆協力的ですし、とてもエキサイティングな環境です。
Mihir:
急成長している企業で、常に自分の成長へとつながる様々なプロジェクトに関わることができます。2023年はたくさんのエンジニアが入社し、すでに重要な貢献をしています。入社いただき、皆さんと一緒に切磋琢磨して良いプロダクトを作っていきたいですね。

※社員の所属等は取材当時のものです。



