Tech Talksについて
Tech Talksシリーズは、PayPay Techチームのモノづくりへの姿勢や雰囲気を、世界約40カ国から集まった個性豊かなプロダクトメンバーたちの声を通してダイレクトにお伝えしていきます!今回はDaaSチームの Zhang Ziliangさんにご登場いただきます。

Zhang Ziliang(チャン ジーリエン)
データエンジニア
社内ではLucienと呼ばれています。私がPayPayにジョインしたのは2020年10月ですので1年3カ月ほど経ちました。現在はDaaSチームでデータエンジニアとして働いています。趣味は山登りとボードゲームです。
※この記事は翻訳記事です。原文はこちらから
現在の仕事内容
DaaSチームでデータエンジニアをしてます。DaaSチームはデータレイクとニア・リアルタイム・パイプラインの構築を担当しています。あらゆるデータソース(Aurora、TiDB、AWS S3など)からデータを取り込み、バッチやストリーミングのパイプラインを介してHudi(Apache Hudi)のデータレイクに投入して、下流のサービスに高性能・高可用性のデータ抽出インターフェイスを提供します。より高度なセキュリティやアクセス制御の要求に応えるために、AWS上で一連のインフラを私達自身で構築しています。

直近のテクニカルチャレンジ
私たちチームが最近直面し、解決したチャレンジの一つに、サービスの負荷集中の問題を解決するため、分散コンピューティングのアイデアを導入したケースがあります。
バックエンド開発チームの一つが、1日1回、短時間で4万個以上のファイルをサーバーにアップロードする必要があり、時間の経過とともにファイル数が増加するという問題に直面していました。そうした膨大な量のファイルの転送を、計算能力を無駄にすることなく、いかに柔軟に完了させるかがチャレンジでした。サーバーの同時実行能力を最大限に使ったとしても、この手のリクエストのサポートは処理能力的に不十分です。もしも複数サーバーで同時にアップロードを行うと、アップロード作業の分散、作業状況の把握、失敗した作業への対応、必要なサーバー数の動的な調整などが困難になります。
前述の通り、私たちのチームは分散型データ処理に取り組んできて得意領域でもあるため、最初直面していた課題をSpark DataFrame上でMap関数を実行する課題に変換しました。アップロードされる全ファイルのソースパスとターゲットパスのペアをSpark DataFrameとみなします。また、各ファイルのアップロード操作は、DataFrameに対して呼び出されるマップ関数とみなすことにしました。Sparkのようなデータ処理エンジンを使えば、タスクの分配、タスクの追跡、失敗したタスクのリトライなどが難しくなくなります。Sparkクラスターのオートスケーリング機能により、クラスターのサイズを柔軟に増減させることも容易です。
このような事例から、分散データ処理の経験が他の開発チームの問題解決に役立つことがわかりました。そこで、RaaS(Reconciliation as a Service:データ突合プラットフォーム)プロジェクトを立ち上げました。分散コンピューティングの複雑さを隠蔽することで、ビジネスロジックを含む1つのSpark SQL文だけで、他の開発チームが大量のデータを扱う多くのデータ処理シナリオを簡単に解決できるようにしました。これまでに100以上のタスクが本番環境でRaaSサービスを利用しており、このプロジェクトの価値も各チームから認められています。
今後チャレンジしたいこと
データレイクとデータパイプラインが安定したら、次の課題はデータをどう使うかということで、データ分析や機械学習の知識が必要になります。新しいプロジェクトに適応するために、これらを徐々に学んでいきたいと思います。同時に、プロジェクトマネジメント能力の向上にも力を入れ、新たなプロジェクトを推進、リードしていきたいと考えています。
Lucienさんのある一日
朝は、メールを読んだり返信したり、システムのアラートをチェックしたり、システムの手動操作が必要な作業を行うことが多いです。午前中に処理しなければならないメールやシステムアラームがあまりない時は、社内外を問わず、技術文書を読んで過ごします。私たちのチームの技術は、インフラ、フロントエンド、バックエンド、分散コンピューティング技術など幅広い分野に及んでおり、使用されるプログラミング言語はScala、Kotlin、TypeScript、Pythonなどであるため、このような文書を読むことは必要です。最新の技術的な内容を理解できるだけでなく、当社の技術的なアーキテクチャや詳細を理解することもできます。
昼にランチを食べて、散歩をします。午後になると、チーム内外のミーティングが行われることが多いです。会議の後は、たいてい開発に時間を使います。現在の開発タスクに数時間かけて、現スプリントのストーリーを推進していきます。また、週に一度、履歴書の審査や候補者から提出されたコードの回答をチェックしたり、オンラインで面接を行ったりすることもあります。
私は東京に住んでいますが、週末に行くお気に入りの場所は代々木公園です。数時間かけて公園を歩き、散策しています。また、週末には友人とボードゲームをすることもあります。レジスタンス:アヴァロンは私のお気に入りのゲームの一つです。
これまでのキャリア
2018年以前は、中国でバックエンド開発者として働いていました。2018年10月からは東京に移り、東京大学大学院の情報理工学系研究科修士課程で学び、その後PayPayに入社しました。
入社のきっかけ
私がPayPayに最も惹かれたのは、業界の将来性と、企業内のオープンさと多様性です。最新世代の決済手段である電子決済は、比類のない利便性を提供するだけでなく、決済のプライバシーとセキュリティを確保します。また、より速く、より便利な支払い方法は、自転車のシェアリングやフードデリバリーなどの新興産業を刺激します。電子決済の大ファンである私は、この業界に強い関心を持っていることは間違いありません。PayPayは電子決済をベースにしており、スーパーアプリとして位置づけられています。将来性のある業界であることと、野心的な会社であることが相まって、PayPayへの入社を決意しました。
PayPayのオープンさと多様性も、私にとって大きな要因でした。従業員は40カ国以上から集まっており、日本語と英語が公用語になっているので、外国人として安心感があります。WFA (Work From Anywhere At Anytime)システムは、素晴らしいです。特に今のパンデミックの際には。PayPayの社員は東京だけでなく、日本中に住んでいるので、毎日数時間、公共交通機関を利用した通勤を我慢する必要はなく、住みたい都市を自由に選ぶことができます。WFAのシステムは私にとって本当に便利です。
これからPayPayを受ける人へのメッセージ
PayPayへの入社理由でも述べましたが、業界の将来性、オープンさ、多様性などが私にとって最も魅力的な点です。また、WFAのシステムも惹かれた理由です。私たちのチームの技術は、幅広い分野に関わっており、それが私たちの挑戦でもあります。コンピュータ技術の様々な側面に精通し、新しい技術を素早く習得して適応する能力が求められます。しかし、このような挑戦は、私たち自身をより早く向上させ、グローバルな視点を持ち、ある技術の選択をより包括的に検討することを可能にします。このようなチャレンジや課題もなかなか魅力的です。
PayPayに求められる最も重要な資質の1つは、コミュニケーションをとる意欲ではないでしょうか。多国籍、多言語、多文化、マルチタイムゾーン、マルチワークプレイスの環境下では、このようなコミュニケーションの重要性が高まっています。時間や場所を問わず、お互いに積極的に意見を交換することは、この働き方に適応するために最も重要な特性の一つです。
現在募集中のポジション
※募集状況は取材当時のものです。
執筆:Zhang Ziliang / 監修:Mune / 編集:Az
※社員の所属等は、取材当時のものです。