エンジニアと立ち話。Vol.24 @KeithYokoma(メルペイAndroidエンジニア)ちょっとお話いいですか?

メルカリで働くソフトウェアエンジニアにちょこっとお話を聞いていく本シリーズ。第24回ではメルペイのAndroidエンジニアである@keithyokomaにちょこっと話を聞きました。聞き手はメルペイのVP of Engineeringである@hidekです。

2019年5月にリリースされたメルペイのネット決済を開発担当していた@keithyokoma。Android開発ならではの難しさから、メルペイのAndroidアーキテクチャで挑む「道具の良さ」「数字の良さ」のバランスについて語りました。

メルペイのネット決済チームは「スタートアップ感が強い」

@hidek:@keithyokomaさーん、ちょっとお話いいですか?

@keithyokoma:はい、どうぞ!

@hidek:せっかくなので、横並びで話しましょうか!

@keithyokoma:えっと、はい。

@hidek:さっそくですが、入社時期を教えてください。

@keithyokoma:Androidエンジニアとして、2018年11月にメルペイへ入社しました。前々職ではSNSアプリ、前職では自動車運転用アプリを開発していました。ちょうど担当していたプロジェクトが一段落したところでメルペイAndroidエンジニアの@mhidakaさんから声をかけられて。話していくうちに「ペイメント、やってみたいかも!」と思って、入社を決めたんです。

@hidek:2018年11月というと、メルペイがリリースに向けてラストスパートをかけていた頃ですね。当時、@mhidakaさんはメルペイの様子をどのように伝えていたんですか?

@keithyokoma:「はっきり言ってカオスだよ」と(笑)。

@keithyokoma(メルペイAndroidエンジニア)

@hidek:OPENNESS!(笑)。

@keithyokoma:そうなんです。そしていざ入社してみると、確かにカオスな環境下で(笑)。「金融系だからガチガチしているのかな」とも考えていたのですが、リリースまでの日々は一致団結していて、スタートアップ的な雰囲気がありました。僕はネット決済の開発を行うプロジェクトチームにいるのですが、メルペイ本体のコア機能と少し離れたところにいるせいか、スタートアップ感はより強い気がしています。

@hidek:そう言われると、メルペイはチームごとでカラーがまったく異なりますよね。@keithyokomaさんが言っているとおり、ネット決済チームはスタートアップっぽい。でも、Merchantチームはステークホルダーと連携することもあって、ほどよく金融らしさがあるように感じます。カラーがまったく違うチームが一致団結して動けば、そりゃカオスですよね。

@keithyokoma:そりゃもう(笑)。そのなかでいかに早く意思決定するかを常にチャレンジしていて、とてもいいですね。ただ、プロジェクトチームごとで役割も分けられているので、ほかのメンバーが何をしているかがあまり見えないこともあります。そこはチームを横断して知見共有ができるといいなと思っていたりします。

Android特有の難しさを乗り越え、なめらかなネット決済を目指したい

@hidek:先ほどネット決済チームの話がちらっと出ましたが、改めてリリースお疲れさまでした! この機能は他のECサイトからメルペイ経由で決済できるというものですが、特に意識したところなどありますか?

@keithyokoma:ネット決済の実装は、すでにメルカリにある機能を参考にしながら、イチから新たにつくっていきました。しかし、メルカリに古くからあるコードはとても複雑で。そこを紐解きつつ、お客さまになめらかな決済体験を届けられるように意識していましたね。

@hidek:他のECサイトからメルペイ経由して決済するとなると、ブラウザからアプリへ切り替える必要があるので、どうしてもぷつっと途切れるような挙動になりがちですよね?

@hidek(メルペイVP of Engineering)

@keithyokoma:そうなんです。特にAndroidはGoogle Chromeやスマホ端末にプリインストールされているものなど、ユーザーによってブラウザもバラバラ。つまり、支払い前後の動作がどうなるのかも、お客さまのブラウザに依存することになります。そのあたりのつくりこみは悩みました。

@hidek:僕も以前ソーシャルゲームに携わっていたとき、まさに@keithyokomaさんと同じ悩みに直面していました。当時はブラウザの種類も多かったのですが、今はどうですか?

@keithyokoma:最近では、Google Chromeを使っている方が多くなっていますね。そのため、まずはGoogle Chromeでうまく動かすところから始めました。ただ、そうじゃないブラウザでもなめらかに動かせるのが理想。そこは引き続き、課題です。

メルペイのAndroidアーキテクチャで追求する「道具の良さ」「数字の良さ」

@hidek:特にメルペイのAndroidアーキテクチャは、ペイメントサービスとしての複雑さに対応できるものを採用しているとのことですが、具体的にどんな構成になっているのでしょうか?

@keithyokoma:ざっくり言うと、ダッシュボード画面を構成する部分をソフトウェアアーキテクチャパターンの1つであるMVVMで構成しています。そして、それを包み込むSDK(ソフトウェア開発キット)をつくり、メルペイのインタフェースを提供しています。そのため、メルカリとメルペイの開発は分離していて、SDKのインターフェースを介して連携している状態です。

@hidek:分離しているということは、担当領域がはっきり分かれていてやりやすそうなイメージもありますね。

@keithyokoma:そうですね。最近ではAndroid公式サポートを得ながらアーキテクチャをつくれるようになってきています。メルペイでも、そうったものをアーキテクチャに取り入れているんです。おかげで、テストしやすくてとてもいいですね。

@hidek:しかし、アーキテクチャというと関わるメンバーによって思想がさまざまだったりします。それを新たにつくろうとすると、コンセンサスをとるのが難しそうなイメージもありますが?

@keithyokoma:よくあるのが「道具としての良さを追及する」と「プロダクトをつくりこみ、数字を良くしていくことを追求する」という2つの考え方です。ここで意見が分かれがちだったりしますが、僕個人としてはどちらも否定するつもりはなく、むしろバランスよく両方を保てているのがベストだと思っています。メルペイのAndroidアーキテクチャでも、ちょうどいいバランスを探りながら洗練させていこうとしているんです。

「技術的に尖った人と一緒に働きたい!」

@hidek:僕個人として、@keithyokomaさんは海外から来たメンバーが多いAndroidチームで、言語の壁を感じさせないやりとりをしている印象があります。もともと英語は得意だったのですか?

@keithyokoma:あはは、ありがとうございます! でも、そんなことはなくて。前職では海外に住むメンバーとやりとりすることが多く、必死で勉強した成果です。今スムーズにやりとりできていると思われているなら、嬉しいですね(笑)。

@hidek:意外!(笑)。メルペイに限らず、メルカリグループでは言語や文化の壁をなくし、世界中の優秀な人材と働くために多様性を高める取り組みなどが始まっています。そんな今のメルペイの環境をどう感じていますか?

@keithyokoma:前職ではさまざまな国から来たメンバーとやりとりしていたので、むしろその環境が当たり前だと感じていました。なので、今のメルペイも、僕にとっては普通ですね。僕は、技術的に尖った人と働くのがとても楽しいんです。メルペイにはすでに技術的に尖っているメンバーはいますが、もっと増えてほしいと思っています。

@hidek:それ、すごく同意です! そんな@keithyokomaさんは今後、メルペイでどんなことにチャレンジしたいですか?

@keithyokoma:引き続き、ネット決済部分の開発をやりたいですね。今はスマホ上のECサイトのみですが、ゆくゆくはPC上からもメルペイで決済できるようにしたいんです。頑張ります!

@hidek:ありがとうございました!

関連募集要項

Software Engineer, Android [Merpay]

関連記事 サクッと読める!✨

メルペイ初!QAエンジニア育成&インターンシッププログラム「Merpay QA Summer Training Camp 2022」の募集を開始します! #メルカリな日々

「Mercari Summer Internship 2021」の募集を開始しました! #メルカリな日々

「Mercari Summer Internship 2022」の募集を開始しました! #メルカリな日々

関連記事 読み応えアリ✨