inSmartBank

B/43を運営する株式会社スマートバンクのメンバーによるブログです

EM3名が語る未来〜スマートバンクの開発スタイルの今と解決したい課題〜

スマートバンクでは今年の4月からミッションチーム制を導入して、現在はEM6名体制で開発を進めています。

今回は現在のチーム構成や各チームの開発スタイル、EMが今後やっていきたいことなど「スマートバンクのこれから」についてCTOの堀井さん、EMの三谷さん、金子さん、中野さんに語っていただきました。

堀井(@yutadayo) | Co-Founder, CTO
双子の兄です。バックエンド開発やインラフ構築など長くやってきました。趣味はボードゲーム🎲

三谷(@shohei1913) | サーバーサイドエンジニア, EM
広島生まれ京都に立ち寄ってから東京に🏂 ゴルフ & ライブ & ビールが好き ⛳️ Ruby ❤️

金子 | モバイルアプリエンジニア, EM
大分出身のモバイルエンジニア。サッカー観戦⚽️とビール🍻を愛してます。

中野(@maaaato) | SRE, EM
筋肉、マンガ、アニメが好きなSRE。妻と猫と一緒に暮らしてます🐈👫 無限ビール派🍻

自己紹介

堀井 : スマートバンクの開発チームのEM3名をお招きして「EMが語る未来」をテーマに、普段どのように開発をしているか掘り下げていきたいと思います!はじめに自己紹介を三谷くんからお願いできますか?

三谷 : はい、三谷です。サーバサイドエンジニア兼EMをやっています。入社して5年目になりました。もともとスマートバンクのファウンダーが過去にやっていたFablicという会社で一緒に働いていて、その縁でスマートバンクに入社しました。去年まではガンガンコードを書いていたんですが、今年からEMになったのでチームマネジメントや組織マネジメントをメインにやってます。今日はよろしくお願いします。

堀井 : よろしくお願いします。三谷くんとは長い付き合いですね。では次に金子さんも自己紹介お願いします。

金子 : モバイルアプリエンジニア兼EMをやっている金子です。2023年5月にスマートバンクに入社しました。前職はGunosyという会社にiOSエンジニアとして6年半ほど在籍していて、EMも4年ほどやっていました。EMをやるうちにプレイヤーに戻って開発をしたいと思っていた際にスマートバンクを知って入社しました。今はプレイングマネージャーとしてコードを書きながらEMをしています。よろしくお願いします。

堀井 : よろしくお願いします。最近はEMからICに戻ったり、その経験を活かしてまたEMをやるみたいなキャリアの行き来をする人が増えていますよね。では最後に中野さん自己紹介お願いします。

中野 : SRE兼EMをやっている中野と申します。過去にFintechの会社でPCI DSSをやっていて、もう一度挑戦したいと思って2022年11月に入社しました。EMは今回が初めての経験で、今年の2月からやっています。今日はよろしくお願いします。

堀井 : よろしくお願いします。PCI DSSはカード情報を扱うセキュリティ要件のことですが、何度もチャレンジしている人は少ないのですごく頼もしく思っています。

スマートバンクのチーム構成

堀井 : ここからはスマートバンクの開発体制について掘り下げていきたいと思います。まずは組織構成について三谷くんから紹介してもらえますか?

三谷 : スマートバンクはマトリクス組織になっています。新機能開発や新事業立ち上げなどのミッションを元に構成されたチーム(以下、ミッションチーム)と、サーバーサイド部、モバイルアプリ部、SRE部といった職能で分けた部署がクロスする形で開発してます。サーバーサイド部とモバイルアプリ部のメンバーは基本全員がミッションチームに所属していて、機能開発もやりつつサービス全体の保守運用などもやっています。SRE部のメンバーはミッションチームに所属せず、横断的にミッションチームのサポートをしたり、PCI DSSなどの保守をやっています。

堀井 : そうですね。ではミッションチームがどのような事業にチャレンジしているか金子さん教えていただけますか?

金子 : モバイルエンジニアが所属するミッションチームは大きく分けて2つあります。1つは外部の金融機関連携機能やレシート読み取りなど家計管理を軸にするチームで、自分はそこに所属しています。もう一つは、あとばらいなどユーザーにお金を貸す事業軸のチームがあります。他にもモバイルエンジニアは所属していませんがCREや不正対策にミッションを持つチームもあり、SRE部のメンバーはそれらを支えるために横断的に関わりをもっています。

三谷 : この組織構成になったのは今年の4月ですね。去年までは別の形で進めていましたが、いわゆる50人の壁のように経営陣が個々の現場をマネジメントしきれない状況になり、チームがオーナーシップを持って対応できる体制に変えました。

堀井 : 創業から3年くらいはスクラップ&ビルド的にチームを作って開発をしていましたね。ただ、組織が大きくなったことと事業が安定してきたことで、マネジメントを経営陣以外に委譲していくように変えてきました。SREは横断的にミッションチームのサポートをしてもらっていますが、どういう関わりかたをしているのか中野さん教えてもらえますか?

中野 : SREはサービスの信頼性を高めることが主な責務なので、開発効率を高めたり、サービス信頼性を可視化するというロードマップを引いて実行しています。その傍らミッションチームからの依頼にうまく連携して進めています。

堀井 : ミッションチームからの依頼ってどういうものですか?

中野 : 例えば、三谷さんのチームと連携した時は、あとばらいチャージ機能で機械学習を入れることになったので、AWS SageMakerの構築や運用をSREとしてサポートしたりしました。SageMakerの構築方法にはいくつか選択肢があったので、ミッションチームから要望を聞いたりして一緒に進めていました。

堀井 : マトリクスの中でミッションチームとSREのような横断的に関わるチームがうまく協力しながら機能開発している構造になっていると思いますね。

それぞれのEMのチーム紹介

堀井 : 皆さんのチームの規模感やどういうメンバーがいてどういうミッションを追っているか紹介してもらえますか?

三谷 : 自分がいる「借りるチーム」は、あとばらいチャージのグロースを一番大きなミッションとしています。加えてFintechの領域では、お金を貸す領域を強めることが海外でも重要視されているので、貸す領域の幅を広げることもミッションとして任されています。全体で10名体制でBizDev、PM、サーバーサイド、デザイナー、モバイルアプリのエンジニアで構成されています。

堀井 : 金子さんのチームはどうですか?

金子 : 自分は「AI家計アシストチーム」に所属しています。もともとB/43はプリペイドカードを使うことで支出の記録ができるサービスだったのですが、アプリ外の支出情報もB/43に取り込むことで家計を管理できるサービスに変えていくためのチームになっています。

堀井 : 最近だとどういう機能をリリースしたんですか?

金子 : 直近だと外部連携して銀行口座やクレジットカード情報を合わせた支出を確認できる機能や、AIによるレシートの読み取りや現金支出を手入力で管理する機能をリリースしています。チームの中でも機能ごとにサブチームを作って並行開発しています。自分は外部連携のチームにいて、サーバーサイドが5名、アプリエンジニアが2名、PM、デザイナーがいるチーム。もう一つ同じくらいの規模のチームがいてレシートの読み取りや現金支出を手入力できる機能を開発しています。

堀井 : 金子さんはミッションチームもやりつつ、モバイルアプリ部もEMとして見てもらっていますが、そちらはどんな感じですか?

金子 : モバイルアプリ部は自分を含めて社員が4名所属しています。社員以外に業務委託としてyanzmさんとdateさんというモバイルアプリ開発の第一線で活躍されている方にも開発に協力して頂いています。各モバイルエンジニアはミッションチームに所属してB/43の機能開発をおこなっています。

モバイルアプリ部のメンバー

堀井 : yanzmさんとdateさんがいらっしゃるのは心強いですよね。

金子 : ほんとそうですね。他にもミッションチームの開発だけでなく、モバイル側の技術的負債や新しいチャレンジをする時間を週に2時間くらい取っていて、レガシーなUIKitの画面をSwiftUI化をしたり負債を先回りして掃除するのをやったりしています。

堀井 : いいですね!SRE部はどうですか?

中野 : SRE部は2名で自分がEMを担当しています。先ほど説明したように、開発効率や信頼性を上げる取り組みをロードマップを引いて活動しつつ、ミッションチームから依頼があったらコラボしながら開発してます。ロードマップの中で言うと、PCI DSSというカード情報を扱うセキュリティ基準があり、定期的な更新作業が必要となるため、そのタスクの調整や対応を2人で回しています。

堀井 : SRE部はこれから更に人数も増やして大きくしていきたいですよね。

スマートバンクの開発スタイル

堀井 : ここからはどのように開発しているのか実際のプロジェクトのお話を聞いてみたいと思います。まずは「家計管理アシストチーム」でリリースした機能を深堀って教えていただけますか?

金子 : 10月にクレジットカード・銀行口座と連携する機能をリリースしたのですが、これは去年の10月に開発を始めたので、1年くらい開発をしていました。開発スタイルとしては、エンジニアは毎日朝会を実施、PMやデザイナーを含めたチーム全体としては毎週金曜日に定例MTGを実施して、月に一回振り返り会をやるようなサイクルで開発を進めていました。

堀井 : 1年間は長いですね。マイルストーンを切ったりはしてたんですか?

金子 : はい。大枠PMがストーリーベースでマイルストーンを分けてもらって、それに対してエンジニアが実装観点でリリースしやすい単位を決めていき、PMと相談しながら進めていました。それぞれの単位で段階的にリリースをしていって、10月に最後の機能がリリースできました。

堀井 : 自分から見ていたところだと、エンジニアがオーナーシップを持ってプロジェクトを進行していたのが印象的で、開発観点でマイルストーンを提案していたり仕様調整も細かいところをPMと協力して進めてましたよね。もう一つのサブチームでのプロジェクトはどうだったんですか?

金子 : もう一つのチームでは10月にAIレシート読み取り機能をリリースしました。こちらは今年の9月頃に開発を始めて、10月半ば頃にリリースしたのでかなりスピーディにリリースすることができました。この機能は社内でAIを使った機能を考えるコンペをしたことがきっかけで作ることになりました。モバイルアプリのメンバーがレシート読み取りのプロトタイプを作って試したところ、すごく良くできていたのでそのまま作ることになりました。

堀井 : AIの機能コンペは他にもいいアイデアがいくつも出てましたよね!三谷くんの借りるチームはどうですか?

三谷 : 自分の借りるチームはBizDevの人と一緒のチームで開発を進めているのが特徴だと思います。今年の6月にあとばらいチャージの裏側の事業者をセブン銀行に切り替えるリリースをしたのですが、実際のプロジェクトの中ではBizDevの人と一緒にセブン銀行の担当者の方々と定例MTGを行いながら仕様を調整したり、リリースのスケジュールを決めたりして進めていました。

堀井 : チームによって特色があって面白いですね。今はどんな機能を作っているんですか?

三谷 : 最近はB/43開発ロードマップにも載っているバーチャルカードの実装を進めてます。バーチャルカードの開発はVisaや行政と連携しながら進めないといけないので、ここでもBizDevの方と一緒に進めてます。最近は実装フェーズに入ったので、スクラムの進め方でプランニング会をしたり進捗管理してます。

堀井 : 実装フェーズはPMやデザイナーと一緒に進めてたりしますか?

三谷 : そうですね。PM / デザイナー / アプリエンジニア / サーバーサイドエンジニアで進めてます。PCI DSSにも関わるところなのでSREとも協力しながら進めてます。

堀井 : SREとも一緒に進めてるんですね。中野さんのSRE部のプロジェクトの進め方はどうですか?

中野 : SREが最近主導して進めたプロジェクトだと、CSチームの業務改善の文脈でカード番号を照会する管理画面を実装するものがありました。期間としては半年くらいでメンバーとしてはCS、サーバーサイド、SREが協力して進めました。この機能をリリースする前は、カード番号からユーザーを特定したいような業務があったときに、CSからエンジニアに照会依頼があって、エンジニアは手作業で照会してました。それをCSの人が完結して作業できるための管理画面に置き換えたってプロジェクトです。

堀井 : どういう形で開発を進めたんですか?

中野 : カード情報を扱うのでPCI DSSの要件整理が必要だったので、SREが主導して調査するところから始めました。PCI DSSを満たす要件と業務負荷の落とし所を探りながらアーキテクチャを決めていきました。そのあとはCSの方がどう使うかという実際の運用を考えていき、サーバーサイドエンジニアの方が画面レイアウトを考えて実装を進めていった形です。

堀井 : CSの方とはどんな形で関わったんですか?

中野 : 例えば今回の画面はセキュアな環境でしか触れないようにしたので、「この管理画面を扱う人数がどれだけいれば業務が回るか?」みたいな観点でCSの方と相談しながら進めました。他にもこの管理画面を利用するにあたって証跡を残す必要があったので、利用にあたっては申請方式にしました。その申請手順のハードルを低くしてわかりやすいワークフローを一緒に考えて進めていました。

これから解決したい課題

堀井 : では最後に今ある課題とこれからやっていきたいことについて教えてもらえますか?

中野 : SRE部で言うと、今はロードマップを引きつつも優先度が高い業務が差し込みで入ってくることが多いので、自分たちが進めたいものが予定通り進めれない難しさがあります。優先順位をしっかり決めたり採用を頑張って差し込みにも耐えれるようにしていきたいですね。

堀井 : ロードマップにはどういうものが挙がっているんですか?

中野 : 例えば開発効率を高めるための取り組みだったり、EOLを迎えそうなもの、バージョンが古くなったミドルウェアへの追従などがあります。少し違う観点では、PCI DSSについてももっと社内にも知ってもらって浸透させていきたいと考えています。今はSREが主体となってPCI DSSの対応や更新を行っていますが、具体的な内容を知っている人と知らない人がいると思っています。SREは縁の下の力持ちの要素が強いですが、自分たちの取り組みを広く知ってもらって興味を持ってもらい、一緒に信頼性を高める仲間を作っていきたいなと思っています!

堀井 : いいですね!三谷くんはどうですか?

三谷 : 最近の自分のテーマは「スピード感ある開発」なのでそこを頑張りたいなと思ってます。スマートバンクは5年目で決して若い会社ではないです。なので、しっかりとモメンタムを保ちながら事業成長を早めていくために、マネジメントやチームビルディングをこだわってやっていきたいです。他にもEmbedded SREみたいに、AWSの機能やPCI DSSが絡むところでSREに頼りきりにならないようにチームを作っていくみたいなこともやってみたいですね。

堀井 : もしスピードを高めるために今やっていることなどがあれば教えてもらえますか?

三谷 : 今年から始めたミッションチームは一つの取り組みだと思います。ファウンダー陣が意思決定しなくてもチームで自律的にやることを決めて動けるようになりました。ただ、まだ始まったばかりの取り組みなので、今後いろいろなものを作る中でチームの力をより強めてスピード感あるチームにしていきたいなと!

堀井 : ぜひお願いします!金子さんはどうでしょう?

金子 : モバイルアプリ部も三谷さんと同じようにスピード感を早めていきたいと思ってます。ミッションチームの数に対してアプリエンジニアの人数が足りない状況なので、並行でミッションチームが開発を進めるときにボトルネックになることがあります。それをうまく対応できるチームにしていきたいと思ってます。

堀井 : アプリエンジニアは複数のミッションチームを兼務していたりもするので、採用を強めていきたいですね。複数のプロジェクトが同時並行で行われる時の課題とかはありますか?

金子 : それぞれのプロジェクトで作りたい機能が近いが故にコンフリクトが発生するようなことはあります。今はモバイルアプリ部の定例の中で、他チームが作っている機能のデザインをみたり、実装方針が決まったタイミングで他のアプリエンジニアからコメントをもらうとかしています。他にもAIレシート読み取り機能の開発時には、モバイルエンジニアが施策の不確実性を素早く潰す機会を増やし成功したので、仮説検証と改善を短いサイクルで回せるような組織にしていきたいとも考えています。

堀井 : ロクネムさんが先日ブログで公開してくれた話ですね。こちらもぜひ読んでもらいたいですね。

blog.smartbank.co.jp

堀井 : 今日は3人のEMにそれぞれチームのことを聞いて、内情が色々と伝えられたと思います!これから事業を拡大していくためにも採用も強めてやっていきたいと思います。今日伝えきれなかった話もあると思うので、気になる方はぜひカジュアル面談への応募をよろしくお願いします!

We create the new normal of easy budgeting, easy banking, and easy living.
In this blog, engineers, product managers, designers, business development, legal, CS, and other members will share their insights.