皆様こんにちは、技術広報室のkamikoです。ピクシブにはpixivプレミアム、pixivリクエスト、BOOTH、pixivコミック等の決済処理や送金処理を支えるシステムを開発している決済サービスチームが存在しています。
各サービスの成長に伴い決済金額・決済件数・決済UU数は大きく伸びている中、当然のことながらスムーズで安心安全な決済を提供することを使命とした、非常に重要な部分を担う部署になります。
そんな決済サービスチームで働く社員が、普段どのような業務を行い、各サービスの決済を支えているか本日はインタビュー形式で皆様にお伝えさせていただきます。
自己紹介をお願いします
syoichi:2016年2月に新卒入社したエンジニアです。決済サービスチームを本務としてpixivプレミアムの開発にも兼務として関わっています。決済サービスチームではこれまで決済手段の追加と古い決済方式の廃止に取り組んできました。直近ではチームのエンジニアリングをリードしていく役割を担っており、設計やレビューを行う頻度が上がっていたりします。
javakky:2021年新卒入社のエンジニアです。決済サービスチームでは pixiv-scalafix-rule の開発など、OSSリポジトリの管理やツール導入などを行っています。最近では決済手段の追加など大きめなプロジェクトにも参加するようになってきました。
youta:2021年5月中途入社のエンジニアです。運用中に発生した問題への対応や新規の決済手段の追加などを行っています。直近ではクレジットカード決済の3Dセキュア2.0への対応を行いました。
takenoko:2022年10月中途入社のエンジニアです。自身の決済に対する知識とピクシブに対する知識が足りていないので、既存コードのリファクタリングやバグ修正などを通して、決済サービスチームへの業務理解を深めている途中です。
tamico:2012年新卒入社のビジネス職です。みんなの銀行ピクシブ支店の立ち上げを期に2022年7月より決済サービスチームに参画しました。以前はpixivコミックのサービスの立ち上げ・企画・運用・マーケティングをはじめ、データ駆動推進室という部署でデータを活用したビジネスのサポートを行ってきました。
チーム体制を教えてください
syoichi:記事冒頭での紹介の通り、決済サービスチームでは決済・送金に関する基盤サービスの開発を行っています。現在4名のエンジニアが関わっており、他に1名のエンジニアがパートタイムで関わることがあります。
基盤サービスということで業務では他のサービス開発チームと連携することが多く、決済・送金に関する知識だけでなく各サービスの仕様もある程度把握しておく必要があります。
他チームとの連携では互いに対応依頼を行うケースが多い印象です。
例えば、決済サービスチームで新しい決済手段を導入する際には、導入により良い効果が見込まれるサービスについて担当する開発チームに呼びかけて導入スケジュールやAPIの仕様を調整します。
また、他のサービス開発チームが決済・送金について何らかの課題の解決を図ろうとした際には、決済サービスチームへ対応依頼が行われ、具体的な要件について固めていく流れになります。
普段どのような業務に取り組んでいますか?
syoichi:決済を取り巻く環境は近年複雑度が増しており、様々な問題が顕在化してきている印象です。そうした問題について、どのようにアプローチして解決・改善に繋げていくかを設計したり、関連するソリューションの導入を検討・検証することが多くなっていますね。
javakky:決済手段の導入やエラー対応の業務を行いつつ、 scalafix-pixiv-rule や play-swagger など、 Scala 関連の OSS へのコミットや技術記事執筆、勉強会への登壇など技術的な発信を行っています。
youta:日々発生するエラーやいただいたお問い合わせについて、何故それが起きたのか原因の調査・対応策の検討を行い、設計に反映していくことに取り組んでいます。
takenoko:決済基盤はプロダクトとしての歴史が長く、新しい部分を取り入れつつ、レガシー部分を改善する取り組みをしています。どのように利用されてきたかなどの経緯を学びながら、リファクタリングしています。
tamico:「みんなの銀行ピクシブ支店」のプロジェクト進行を中心に、社内外の決済に関わる渉外、課題解決や企画立案を行っています。
業務のやりがいはどんなところですか?
syoichi:チームとして重要なプロジェクトに取り組んだ際に、最初は困難そうに思えてもチームメンバーの連携によって一定の成功を収められた際は嬉しいですね。
また、複雑な問題に立ち向かいつつ、その最中で技術的負債を解消する機会に恵まれたりするので、それらを同時に解決できた場合にもやりがいを感じます。
javakky:決済サービスチームでは社内向けの API を提供しているのですが、フロントエンドの領域よりもバックエンドの領域の割合がとても大きく、自分にあった業務が行えているところが一番のモチベーションになっています。また、複数のサービスを横断する仕組みを作成しているので、難しい抽象化に挑戦できるところがとても楽しいです。
youta:他のプロダクトのチームと関わることも多く、それぞれのチームの観点での課題を共有し協力しながら改善を行えるのが楽しいところですね。
takenoko:不要な記述や、簡単にまとめられる記述はコードの見通しが良くなり、考えることを減らせるので良いですね。他にも日常の業務で社内からの決済サービス利用者からのお問い合わせなどで、要望を拾ってプロダクトに適用し関わる人の業務を改善できるのも良いところです。
tamico:ユーザーの方はもとより、プロダクト、取引先企業へも影響が大きいため、プロジェクトを完了し、反応や数値が見えてきた際には表に見えない部分のため達成感を感じます。また常に新しい課題が様々な観点から見つかるのも決済サービスチームならではではないかなと思っています。
普段どんな雰囲気で業務をしていますか?
youta:各々がもくもくとやるべきことに取り組んでいるという印象です。とはいえドライなチームというわけではなく、ちょっとした困りごとをSlackに投稿すると誰かしらが拾ってくれてアドバイスを貰えたり、大きなタスクを抱えているメンバーに対してはそのタスクに専念できるように他の業務を巻き取ろうという話が自主的に出てきたりなど助け合いのチームだと感じてます。
チーム内で行っている読書会とエンジニア方針討論会では、各々が自分の考えを発信しており言いたいことは好きに言える雰囲気だと思います。
読書会とエンジニア方針討論会についてはこちらに記事があります。 tamico:ビジネス職側のイメージとしては、強いエンジニアが多く集まっているチームだと思っていたので、最初は不安でした(笑)いざ中に入ってみると、議論を白熱させるというより建設的かつ先を見据えた議論を多くされている印象を受けています。そして対応は堅実で迅速と感じます。
また私自身まだまだ決済領域や技術的な知識が浅いですが、嚙み砕いて説明いただいているので新規参入してきた身としては大変助かっています。
どんなスキルを身につけることができますか?
syoichi:決済に関する広範な知識を身につけられるのと、バックエンド側での設計・実装力を向上できます。また、決済に関する基盤サービスの運用を行っていく中で、基盤サービスを利用する他のサービス開発チームと連携する必要があるので、異なるサービス間での連携について知見を得られたり、異なるチーム間での調整に関する経験も積めたりします。
javakky:例えば、課金の手法を考える場合、クレジットカードの決済やコンビニ払いなど複数の手段を考慮する必要があります。このように提供する企業や仕様が異なる複数の情報を社内に適切に抽象化する設計の経験を積むことができると考えています。
youta:決済APIの仕様や決済フローから重複決済防止やAPI利用側とのデータ不整合防止などの仕組みやアイデアを学ぶことが多く、堅牢なシステムを構築するための様々な知識が身につくと思います。
takenoko:決済に関する知識を、実際のフローやエラーを想定しながらコードに落とし込んでいく力がつくと思います。また、他サービスともどういう利用を想定しているかなどの連携をしながら部署を跨いで作り上げていく経験が積めると思います。 tamico:ユーザーの利便性を保ちつつも安心して経済活動を行っていけるよう「決済」という視点からリスク管理・顧客保護の観点、今後の法改正を見据えたうえでの対応など検討事項が多岐に渡り学ぶことが多いです。また横断的な組織のため、他のプロダクトのプロダクトマネージャーやCMとの連携、バックオフィス(特に経理や法務)の職域を超えた連携など会社の中だけでも様々な知識を得ることが可能です。
今後チームでどんなチャレンジをしていく予定ですか?
javakky:今後の技術的な取り組みとして2つ計画していることがあります。
1つめはOSSコミュニティへの貢献です。今後の活動としては引き続き scalafix-pixiv-rule などリポジトリのメンテに加えて ScalaMatsuri での発表を予定しています。
2つめがフロントエンド開発への注力です。歴史的経緯により決済周りのフロントエンドの大部分がテンプレートエンジン + jQuery の構成になっているのですが、開発効率向上のため、React に置き換えていくことを考えています。
これは大きなプロジェクトになるので一緒に進めてくださる方が増えると心強いなと思っています。
最後に
いかがでしたでしょうか!決済サービスチームでは現在仲間に加わっていただくバックエンドエンジニアを募集中です。
今回の記事をお読みいただきご興味をお持ちの方は、下記エントリーフォームよりエントリーをお待ちしております。
https://recruit.jobcan.jp/pixiv/show/b001/290967
それでは皆様ごきげんよう、さようなら。