【開発環境紹介①】決済システムとしてのKyashの技術的特徴

サーバサイドエンジニアの佐藤です。

Kyashでは常にサーバサイドエンジニアの採用活動をしていますが、まだまだ表に出ている情報(特に技術面)は多くありません。

特に、面談などに来てくれた方とお話していると、決済・送金×Webサービスという領域はなかなか実際の開発についてイメージ湧きにくいのかなと思うところがあり、この領域ならではの開発の内側や、技術選定についてまとめてみようかと思います。

Kyashに少しだけ興味を持ってくれて、「今度オフィスに遊びに行く」とか「知人がいて少し雰囲気を知りたい」みたいなエンジニアの人が目を通して理解を少し深めてくれると良いのかなと思っています。

では。

エンジニアである自分が考える、Kyashの存在意義

そもそもなんですが、なぜこの領域で開発をしているかというと、自分はKyashにサービスとしての存在意義を感じているからです。

何故Kyashに、という話は以前こちらに書いたような気がします。

Kyashが浸透すると何が実現できるかというと、分かりやすいところでいうとまず「キャッシュレスな世界」です。自分自身もなるべく現金を持ちたくない。クレジットカードだけ、もっと言えばスマホだけで完結するのがベストだと思っていて、「キャッシュレスな世界≒Kyashのある世界」というのは良いなと個人的にも思っています。

Kyashのメンバーも、特にエンジニアはわりとそういう志向の人が集まっています。無駄を嫌うエンジニアという人種とは、そういう点でも相性が良いのかなと思ったりします。

FinTech企業の送金・決済業界参入の意義とは何か

「キャッシュレスな世界」を作るために、現実の開発として何が必要かというと

  • お金を扱う安全なシステムを提供する
  • 現金の代わりになる便利で良いユーザ体験を提供する

上記2つはまず挙げられますが、これを両立するのは、こと日本では恐らくなかなか難しい。


現在まで日本でキャッシュレス化が進んでいない理由として「法律の問題」や「日本の現金の安心・安定性」などがよく挙げられていますが、業界と技術的な課題も多いにあると自分は思います。

お金を扱うシステムというのは、基本的にどれも大企業(銀行、決済ネットワーク)が持っているものなんですが、システム自体が巨大で機能拡張に多大な工数がかかってしまったりします。また実装を担当するエンジニアが、いいユーザ体験がどういったものかを想像しながらがシステムを構築するというより上流でくみ上げられた仕様書に従って実装することが多いと思います。

逆に我々のようにWebサービスを作ってきたメンバーは毎日ユーザのことを考えて開発してきています。アイディアをチームに出し、それをそのまま実装するといった経験をしてきたエンジニアも多いでしょう。銀行などに比べると比較的小さい規模のシステムを作ってきたからこそこれが実現できたともいえると思います。

例えば日本の決済ネットワークというのはVISA、NTT-DATA、JCBなどが持っていて、そういった領域に我々のようなベンチャー企業・Web企業が踏み込んでいくことは実際とてもハードルが高い。なぜかというと先に述べたように、抱えているシステムや体制、考え方がそもそも違うというところもあります。これは実際につなぎ込みをしてきたなかで強く実感する部分です。

安全なシステムと、優れたユーザ体験。これらを兼ね備えた開発により、「現金を超えるプロダクト」を生み出していけるのなら、大企業とベンチャー、どちらから踏み込んでいっても良いと思います。しかしやはりこれまでの日本のお金の流れの中で実現できて来なかったことなので、我々のようなFinTech企業と呼ばれる企業が風穴を開けていくべきなのかなと思ってます。

では技術を武器にどう差別化していくか

「現金を超えるプロダクト作り」というのは市場としても仕事としても大変魅力的なテーマで、今後より多くの企業の参入が見込まれます。

では具体的にどう開発していくかというと、Web系の企業が決済周りの事業を行う場合、決済代行会社を利用してインターネット経由でAPIを叩いて決済ネットワークを利用するというのが一般的です。

仮に決済ネットワークに直結で開発しようとすると、電文仕様が独自フォーマットで読み解き・実装のハードルが異様に高いという技術的な問題も大きいですし、それ以前にいちベンチャー企業が決済ネットワークに直結するという構成は、そもそもほぼありえないことです。


ですが我々は実際に、そのネットワークに直接接続しゼロベースで開発を行うことができており、それによって

  • 中間の決済代行手数料を抑えられるため、ユーザの手数料を完全無料化
  • 柔軟にシステム構築することが出来、決済時のリアルタイム通知など、ユーザの利便性を高める機能開発

といったことを可能にしています。これが実現出来ているのはKyashの技術力ゆえとも言えますが、Kyashの先進性・将来性に共感いただき多方面からバックアップ頂いているためでもあります。

また、通常100人月以上かけて構築するような一大決済システムを、Webサービスのペース(短期間・スモールチーム)で開発・運用しているので、追いつかれにくいという利点もあります。


整理し直すと、技術観点で差別化するポイントとしては、以下が挙げられると考えています。

  • 対他のWebサービス:技術と労力を要する手段を選択することによる参入障壁
  • 対既存の金融システム企業:開発スピードと、システムとしての自由度の高さ
ちなみに書籍購入補助があるので技術書は買いやすいです

金融という領域にとらわれない技術選定

さて上記のような開発を実現するうえでは、技術選定も非常に重要です。自分達は、例えば以下のような基準で技術を選定しています。

  • テクノロジーでユーザの生活をより良くするには、ある程度の先進性も必要
  • ユーザ体験を高めることは我々の差別化ポイント
  • 開発の効率や開発する速度を上げることで、ユーザにより多くの機能をより早く届けることができる
  • また、快適なユーザ体験とはKyashの場合「安全性」を含むため、セキュリティ要件も検討材料となる
  • 開発側としても素早く気持ちよく開発出来るよう、言語、開発環境や補助するツール類はエンジニアが自ら選定、採用する

これら踏まえ、例えばインフラではAWSを選んでいます。

勘定系・決済系システムのオールクラウドでの構築・運用というのはセキュリティ上の難易度が高くかなり珍しい(当時は日本初だった)と言われていたのですが、コスト面・運用工数でのメリットが大きく採用しました。実際に運用していて以下のような利点もあり、非常に良い選択だったと感じています。

  • AWSはPCIDSSに準拠しているサービスが多く、柔軟でスピード感のある開発ができている。またオンプレでは考慮しなければならないサーバの運用・保守まで含めた部分はAWSに任せることができるので、開発に集中することが出来ている。
  • アプリケーションサーバにおける証明書やパスワードの管理については実装レベルでも独自のポリシーを作成・運用し、更に水準を上げることが出来ている


このように、送金・決済という領域に縛られず、サーバサイドはGolang、AndroidはKotlinなど、安心感と先進性ある技術選択をしています。

開発環境は今のところ、こんな感じです。

さてここまで、決済システムとしてのKyashの技術的特徴といえるものをある程度俯瞰して記載しましたが、次はもう一歩入り込んで、開発体制や開発の具体的な事例、今後の開発予定なども紹介できればと思います。

しかし長くなりましたので今回はここまでにして、次回以降に回したいと思います。


読んでくださった方ありがとうございました。

Genki Sato Profile :Kyashエンジニア/Tech採用リーダー。2010年新卒でDeNA入社後、ヒットゲームタイトルおよび新規事業の構築・開発・運用などを主導するとともにチームマネジメントに従事。2016年に、先進的な事業内容に惹かれ Kyash に参画。主にサーバサイド開発を担当し2017年4月にサービスリリース。
バックエンド、サーバーサイド
日本初の個人間送金スタートアップでサーバサイドエンジニアWanted!
株式会社Kyashはウォレットアプリ「Kyash」を展開する、表参道にあるFintechスタートアップです。 Visaカードを誰でも、即座に発行してお買い物ができ、お金をいつでも、どこでも、誰にでも送れるモバイルアプリサービスです。今賑わいを見せる決済領域と、これから変革が求められる送金領域の双方に跨がるFintechサービスを提供しています。 サービスを通じて、利用者の暮らしが良くなることを目指しております。 ◯ メディア掲載 日本経済新聞朝刊:スマホ決済が開く新経済圏 利用者目線が強み https://r.nikkei.com/article/DGXMZO35342970T10C18A9000000?s=2 IT Pro:日米中のキーパーソンが集結、決済の新星たちが注目する技術 http://itpro.nikkeibp.co.jp/atcl/column/17/101200420/101300002/ BUSINESS INSIDER:日本版Google Pay本格普及へ Suica、WAONなどが参入、個人間送金の決済ベンチャーKyashの対応も https://www.businessinsider.jp/post-168065
株式会社Kyash
株式会社Kyash's job postings
Anonymous
23561532 1521877371233560 1681823271433661530 n
Picture?height=40&width=40
Ff349b72 d896 4842 9528 2c277acd16d6?1531579225
21105880 10210449854148874 381268214150267678 n
24058716 1523592664388336 1095880259686442313 n
7 Likes
Anonymous
23561532 1521877371233560 1681823271433661530 n
Picture?height=40&width=40
Ff349b72 d896 4842 9528 2c277acd16d6?1531579225
21105880 10210449854148874 381268214150267678 n
24058716 1523592664388336 1095880259686442313 n
7 Likes

Weekly ranking

Show other rankings

Page top icon