飛ばねぇ馬はただの馬。

Life is too short for bad code.

Kyashに入社して2年くらい経った話

在職エントリです。
2019年4月に入社してからあっという間に2年くらい経ってしまいました。これまでやってきたこと、これからやっていきたいことなどを書き残しておこうと思います。

やっていたこと

Kyash Direct

Kyash DirectはKyashがウォレットアプリで培ってきたプリペイドカードの発行・Visaネットワークでの決済などの技術を決済プラットフォームとしてB to Bの世界にも提供するために生まれた新規プロダクトです。その立ち上げから事業譲渡が完了するまでのほぼ全ての期間で携わりました。実はKyashに入社するまで業務ではほとんどGo言語を触った経験がなかったので、開発スピードが要求される新規プロダクトのチームに配属されて間もない時期は「コードが全く書けない新入社員」をやっていました。初めてProduction環境にリリースをするまで半年間、一時は開発を離れてQA担当やKyash Direct導入企業様のテクニカルサポートを行いながらチームみんなで協力して本番リリースまで持っていけたのは貴重ないい思い出です。
その後はしばらく追加開発や運用をしていましたがKyash Direct事業譲渡の発表があり、幾度かの移管作業を経てつい先日全ての作業が完了しました。立ち上げから関わったプロダクトが終わった日は少し寂しかったです。

WalletアプリKyash

Kyash Direct事業譲渡の発表があってすぐにWalletアプリ側の開発チームに配属されました。Kyashマネー残高を銀行に出金するプロジェクトにはじまり、マイナポイント、eKYCなどの開発に携わりました。開発スピードを保ちながら技術的負債をなんとか攻略して開発を進めるのはつらいと思うことがありますが、楽しいと思うことがほとんどです。これからもKyashが目指すプロダクトを実現すべく開発を進めていきます。

チームの現状と課題

チームなんでも屋

現在所属しているチームはCustomer Engagementチームといいます。チーム名からはなかなか業務内容が想像しにくいかと思いますが、簡単に言うとKyashアプリの中で「入金」と「決済」以外の部分のほとんどを担当するチームです。Kyashアプリの中で入金と決済以外の部分ってほとんどないとか言われてしまいそうですが、これまで銀行への出金機能、マイナポイント、eKYC機能の開発に携わりました。アプリを通じた接点という意味でユーザと関係性の深い部分の開発を一手に担っていて、なんでも屋と言えるかもしれません。

技術的負債との戦い

Kyashではマイクロサービスアーキテクチャを採用していて、チームごとにいくつかのサービスを担当しているのですが、Customer Engagementチームが担当する中に「api」と名のついたサービスがあります。このサービスはKyashアプリの中ではおそらく一番古くて、巨大で、複雑なサービスです。きっと、モバイルアプリからの通信を各マイクロサービスに割り振って、返ってきた情報を整形して返すのが理想的な形でしょう。現状はGET系リクエストに対してDBから情報を取ってくる部分から行っていたり、送金などPOST系リクエストに対して残高変動を伴う処理を行っていたり、かなり多くのドメイン知識を持ってしまっています。プロダクトの新規開発スピードを保ったままサービスやライブラリとして切り出すなどの改善をするのはかなり難しく、ほとんどできていません。たまには全力疾走してきた道を振り返る時間が必要ですね。

これからの半年

実は、6月頃に家族が増えます。初めてなので生活リズムや習慣が大きく変化すると思われます。ちょうどこの4月に出産休暇という休暇制度ができたり、1~2ヶ月間の育児休業を取得したい話を進めていたりして、会社やチームが柔軟に対応してくれて助かっています。育児休業が終わって仕事に戻っても、フルリモートワークで普段から自宅に籠っているので可能な限り夫婦で分担をしながら育てていきたいと考えています。

Kyashのプロダクトにはいろいろな意見があるとは思いますが、Kyashが目指すところに向かってこれからもがんばります。

Kyash ID: pranc1ngpegasus

f:id:pranc1ngpegasus:20210827122829j:plain