PayPay Inside-Out People and Culture

Tech Talks vol.23 – App Platform Team

2023.04.13

Tech Talksについて

Tech Talksシリーズは、世界約50カ国の国と地域から集まった個性豊かなプロダクトメンバーたちの声を通して、我々のモノづくりへの姿勢や雰囲気をダイレクトにお伝えしていきます!
今回は、App Platformチームでエンジニアとして活躍する5名に、お話を伺います。

Richard

App PlatformチームマネージャーのRichardです。 フランス出身で、モバイルエンジニアとして10年の経験があります。 PayPayにはAndroidエンジニアとして入社しましたが、エキサイティングなKotlin Multi Platform(以下KMM)プロジェクトに参画することをきっかけに現在のチームでマネージャーをしています!

Kuan-Yi

台湾出身で、アメリカで過ごしたあと2022年に来日しました。ソフトウェアエンジニアとして10年の経験があり、モバイルゲームやBackendの開発経験もあります。これまで複数のスタートアップ系の企業で働いてきました。

Travis

タイ出身で、今年(2023年)に日本にきたばかりです!主にモバイルアプリのソフトウェア開発で10年の経験があります。前職は東南アジアを中心に展開しているフィンテック企業でチームリードをしていました。

Yoseph

インドネシア出身で、2016年に来日しました。 ソフトウェアエンジニアとして8年の経験があり、うち5年はモバイルアプリをメインに、その他Backendの開発経験もあります。前職では教育系モバイルアプリを開発していました。

Rajanikant

インドの大学を卒業したあと、日本の大手金融企業で働いていました。直近の5年はAndroidエンジニアとして働いていました。

App platformチームの業務内容、ミッションは?

Richard:
私たちのチームでは、iOSとAndoroidの共通Platformを構築しています。コンシューマーAndroindとコンシューマーiOSは通常別で開発することが多いですが、実際にはPlatformやコード含めて、似た部分が多いです。
シングルコードベースで、共有できるビジネスロジックを共有化できる仕組みを検討するため、私たちのチームはスタートしました。現在、すでにiOSとAndroidでコードを共有化して、共通のライブラリも作成しています。

Rajanikant:
この取り組みがすすめば、もっと開発の効率をあげていくことができますね。

Yoseph:
そうですね。共通Platformの一番のメリットは、エンジニアの開発の工数を格段に減らせることなんです。PayPayでもAndroidとiOSはもともと違うロジックで作られていたんですが、共通のPlatformを作ることによって大幅な改善を狙っています。

具体的な業務の例を教えてください!

Richard:
チームとしては、SDKの提供やコンシューマアプリのエンジニアのために開発工数を削減することを目的としていますが、個人個人にもそれぞれミッションを持ってもらい、仕事を分担しています。

Rajanikant:
私の場合、よりよい開発環境を提供することを長期の目標において、そのために、CIタスクや、ワークフローの可視化を進めています。

Travis:
私も似た領域を担当してますね。開発効率を上げて開発者エクスペリエンスの向上を図ることがミッションです。

Kuan-Yi:
私はRajanikantとちょっと違っていて、新しい機能を開発するときに開発者の懸念が減るように、開発工数の書き出しなどの開発工程の一部を巻き取って担当しています。

Yoseph:
私の場合は、KotlinMultiPlatformの開発に取り組んでいます。PayPayのアプリのためにかなりのカスタマイズをして開発しています。2022年に本格的に動きだしましたが、日本ではまだこうした開発をしている会社はほとんどなかったですね。未知の挑戦ではあるので、今でも日々学びながらの対応ですし、バグの修正を繰り返していく感じではあるんですが、個人的にはスキルアップに繋がっていてすごくいいですね。

PayPayでのチャレンジングな出来事は?

Yoseph:
私が入った2020年当初は本当に課題だらけでチャレンジに溢れていましたね。iOSもAndroidも両方。App Platformチームは、共通のやり方で改善していかなければならないので、本当に難しかったです。フレームワークもまだ十分ではないので、かなりの時間をかけてカスタマイズをして、本番稼働までもっていきました。本番に出せるレベルにするために乗り越えなければならない壁が多かったですね。

Kuan-Yi:
すでに稼働しているアプリにも影響があるような新規の実装をするのはすごくチャレンジングですね。自分たちが開発するPlatformによって何か問題が起きた時にすぐに切り戻せるようにトグルを設定しています。慎重に確認をしながら、PayPayのユーザーが触れる部分を壊すことなく改善をしていくことが求められます。

Travis:
僕はまずPayPayに入って日本語がわからなかったのが最初の壁でした(笑)。今は英語を使って普通に働けています。また、PayPayで使っているフレームワークはかなり新しく実験的なもので、まだ誰も使ったことがないような技術構成になっているので、過去2年間でやってきたことを全て理解しなければならないですし、キャッチアップが大変でした。

Rajanikant:
Travisさんと同意見ですね。コードのほとんど全てがカスタマイズされているので、ネットで検索するだけでは解が見つかりません。KMMを使っている会社は数が多くないので、すごく貴重な経験をしているなと思います。

PayPayで働くおもしろさはなんですか?

Kuan-Yi:
PayPayは日本全国で使われていて、スーパーで買い物をしていてもレストランに行っても利用できる大規模なサービス基盤があります。「PayPay♪」という音を聞くだけで、自分の仕事の成果がどれだけの人に使われているかダイレクトに感じることができるんです。これは本当にユニークな経験だと思います。人々の生活に影響を与える仕事ができる。

Rajanikant:
私自身もPayPayのヘビーユーザーですが、アプリを探索しているだけでも自分が作ったプロダクトを見つけることができますし、すごくモチベーションになってますね。

Richard:
働き方という面では、日本で働くこと自体が面白いことですが、WFA制度によってフルリモートで働くことも楽しめてます。チーム全員で実際に対面で会うのは実は今日が初めてなんですが、それでもみんな同じ情熱を持って一緒に働けていることがPayPayでの仕事をより一層おもしろくしていると思います。

Travis:
毎日使えるアプリに携われるのは、入社する前からすでに自慢でしたね(笑)。 技術的な面でも、最先端であり、これまでみたことのないようなコードに触れられて、改善していけるのはすごくエキサイティングです。

Yoseph:
日本のキャッシュレスを推進する一助になっている実感を持って働けるのも面白いですね。スキル的な面でいうと、これまでSwiftの経験がメインでしたが、このチームに入ってからKotlinが好きになりましたし、KMMやAndroidの開発もキャッチアップできたので、すごくいい経験になっています。

Kuan-Yi:
私たちがやっているMultiPlatformは全く新しいアイデアというわけではなく、世界のTech企業ではすでに自前で準備している会社もいくつかありますが、PayPayでは新しい技術を使ってどうやって安定的に稼働させるかという点が大きな課題でした。たくさんのユーザーがいてたくさんの端末で使われていますし、どうやって全ての端末で安定稼働を実現するのかは、すごくおもしろい課題でしたが、懸念も多くありました。うまくいかないこともありましたが、一年くらいかけてようやく改善が実になってきました。MultiPlatformの成果や有効性が周りにも示せていて、信頼を得つつあるように思います。最初はほとんどの人が半信半疑でしたから。改善を繰り返して、ステップバイステップで少しづつ目指している姿に近づいてきました。

チームワークについて教えてください!

Yoseph:
全員が、新しい技術に対してオープンマインドであることが特徴だと思いますね。まずはやってみようとか、じゃあこのプラグインで連携してみようとか、ここにいる全員が同じスタンスを持っているところが素晴らしいなと思います。

Travis:
そうですね、オープンマインドであり、真っ向から否定するような人もいません。これまでやったことがないことでも「まずやってみよう」から始めて、結果がついてくる環境です。
メンバーの雰囲気もいいと思います。実は入社する前は、日本の大規模な会社だからカルチャー面で少し不安もあったんですが、こんなに風通しがよく仲の良いメンバーに囲まれて仕事ができることは良い驚きで、楽しめています。

Kuan-Yi:
私たちは5人全員が違う国から集まっています。バックグラウンドが全く違う人たちが一つのチームで、今まで経験していない領域の課題に一緒に取り組んでいるわけです。すぐに解決できるような問題ではない時もありますが、それでもどうやったら解決できるのか、それぞれが知恵を絞って取り組めています。PayPayの事業スピードも技術の進歩も早いので、何か新しくできることはないか、猛スピードで追いかけていっている感覚ですね。最新技術に追いつき改善する、というのを常に繰り返しています。

今後チャレンジしたいことを教えてください!

Richard:
昨年はPlatformを安定稼働させることが目下の課題でした。今ではKMMのおかげで改善は進んでいて、全体的に安定性が上がってきています。今後は新しくPayPayアプリに実装される機能に対しても、私たちのチームが関わっていきたい。それが最終的な目標です。

Travis:
技術的なことで言えば、KMMはAndroidの技術に近いので、Android側の連携は比較的スムーズですが、iOSの連携にはまだ課題があります。この課題を解決することで、ユーザーエクスペリエンスの構築にもっと時間をかけられるようにしたいですね!

Yoseph:
そうですね、iOS側ではPlatformが発展途上で、まだまだこれからです。

Kuan-Yi:
合わせて開発者のマインドセットを変えていくことも必要です。Platformの改善で達成できるという意識の醸成も重要だと思っています。

Rajanikant:
個人としては、共通コードを増やしていくことですね。強気に100%を目指したいです!

最後に、読者にメッセージをお願いします!

Richard:
KMMに興味のある方はぜひ応募してほしいです。新しいことを学ぶ機会に溢れていますし、今まで経験できなかったエンジニアリングスキルが身に付きます。

Rajanikant:
Kotlinが好きで、MultiPlatformに興味があれば面白い仕事だと思います。

Yoseph:
新しいことに挑戦することが好きで、オープンマインドな方であれば、ぜひ一緒に働きたいですね!

Kuan-Yi:
PayPayは全国規模の大きなサービス基盤をもっていて、そのプロダクトの開発に携われることは貴重な経験です。
それでいて私たちのようなスモールチームで働けて、新しい技術にも触れられる。確実にキャリアアップに繋がる環境だと思います。

Travis:
まだ見ぬ未開のフロンティアを見つけるような仕事にワクワクする方は、ぜひ一緒に働きましょう!

現在募集中のポジション

※募集状況は取材当時のものです。

執筆:Richard, Kuan-Yi, Travis, Yoseph, Rajanikant / 編集: Moe / 撮影: Yuki
※社員の所属等は、取材当時のものです。