🥈

03: 2周目CTOのこだわりと創業者間の役割分担と - ゲスト: 堀井雄太(@yutadayo)

ジャンル
エンジニアリング
公開日
Aug 30, 2021
image

2周目のCTOとして考えていること

icon

takejune CTOの優秀さというか、良いCTOってそういうふうに役割を柔軟に変えていきながら仕事をしていけるみたいなところはあるかなというふうに思うんですけど、前回も起業したときCTOをやっていて今回のスマートバンク社でもCTOとして仕事していくことになるかなと思うんですけど。前回の経験も踏まえ、スマートバンクではどういうふうなCTOを目指していきたいみたいなところってあったりします?なんか変わっていったりしてる?

icon

yuta そうですね。前回の起業の反省を踏まえてみたいなことはtakeとかshotaもあると思うんだけど、スマートバンクにおいても、やってることは全然フリマアプリとは違ってて、フィンテック領域だと思うんですけど

icon

yuta 前回の反省としては、権限移譲が遅かったなと思うことは個人的にはけっこうあって、サービスがどんどん大きくなっていくちょっと手前で自分がコード書いてるところでバリューを出すよりも組織をどんどん拡大させていく方向にシフトチェンジするっていうのが遅かったかなというのはあって、中のメンバーとかにもyutaさんコード書いてる場合じゃないっすって言われたこともあったりしたから、そういうマインドセットが今はあって

icon

yuta スマートバンクもどんどんこれからサービスを大きくして組織を増やしていくべきだと思うんだけど、権限は他のメンバーに委譲して、自分は組織を大きくするっていうとこにコミットするみたいなタイミングをやっぱ見極めないといけないかなっていうのは、前回の起業の反省点としては意識してますね。

icon

takejune 完全に耳が痛いですね(笑)

icon

yuta そうですね。今は重要なポイントは採用ですかね。プロダクトとか会社の時々でちゃんとこうね、開発体制を維持できる、変化に強い組織を維持できる根幹を作るみたいなところが、今回一つテーマとして自分の中で持ってたりするから、採用も今の段階からめちゃくちゃ力入れてやってるみたいなのがあるかも。

icon

takejune 権限移譲したいなと思っても、する相手がいないとやっぱり難しいんで。早め早めにそういう方を見つけてロールを移していくっていうことができるといいなというのは、僕も思いますね。

自分の長所について

icon

takejune 1人のエンジニアだったり、エンジニアリングマネージャーとか、CTOとか、どういったロールとしてでもいいんですけど、いろいろ経験した中で「人と比べるとこういう業務だったり、役割が得意だな」みたいなことってあったりするんですか?

icon

yuta やっぱ自分はゼロイチ向いてるなと思うことはあるかな。初期フェーズで要件があまり固まってない中、ユーザーの課題もいろいろあって、ビジネスとして物は作らなきゃいけないって中で、開発をガッと進めるみたいなのは向いてるかなと思っていて。フィンテックはtakeも俺もやったことなかったので、スマートパンクでは(最初は)フリマアプリみたいに作れるものがイメージできる感じがなかったんだけど

icon

yuta VISAとの決済(いわゆるカード決済したときの繋ぎこみ)ってどうやるんだっけとか、カードの発行どうやるんだっけとか、不確実性が高くてしかもよくわからない、どうやって作っていいかわからないところを調べながら進めていって形にするみたいな、初期フェーズでの実証みたいなところは好きだし得意かな。

icon

takejune うん。確かに一緒に仕事してる中で、新しい機能を単純に追加したりするときにも、ここまではわかってるんだけど、ここはまだわかんないみたいな...要件的にも不確実性が高い状況の中で、わかる範囲で進めとくわ、みたいなことをyuta君がやってくれることが多いですね。ガチガチに仕様固まってなくても進めてくれるみたいな、確かにプロダクトマネージャーとかからすると、割とありがたいなと、うん。思ったりはしますね。

icon

yuta そうね、2人と一緒にやってきたからこそ培ったみたいなところもあるかもしんないですね。shotaがビジネスを立ち上げるためのスキームというか課題のタネを拾ってきて、takeがそれを形にしつつ要件を詰めてくれるんだけど、がっちりは(仕様が)決まらないから、2人の要望をうまく拾っていい感じに仕上げるみたいなことを突き詰めていって、どんどんそういうことが得意になったとかはあるかもしれないですね。

icon

yuta 特にスタートアップの新規事業とかはそうだけど、全部明らかになってから着手するのでは遅いっていうのはありますよね。結果的に作り切るまでの時間が長くかかっちゃうみたいな。参入時期はPOC(実証)の実験ですかね、そういうのもしつつプロダクト開発するみたいなのが求められると思うんで、そういうところに自分も最適化されていったみたいなのはあるかな。

スマートバンク社について

icon

takejune いまの会社(スマートバンク社)の特にエンジニアリングのチームについて聞いていきたいなと思うんですけど。今は開発チームの体制はざっくりどれぐらいの規模でしたっけ。

icon

yuta ざっくり言うと、10名もいってないっすね。創業者入れても数人っていう感じでまだまだいわゆる少数精鋭というか、少ない人数で回して。

icon

takejune ピザを分け合えるぐらいの人数でやってますね。

icon

yuta そうですね。はい。

icon

takejune なんでまだ意思疎通もしやすいというか。

icon

yuta 基本的には少数精鋭のチームで、意思疎通も密にやりながら、マネジメントマネジメントせずに、みんな各々のポジションで意思疎通しながら開発していくっていうフェイズだから。完全に阿吽の呼吸でスピード感を持って開発できてるっていう時期ではありますね。

icon

takejune 技術的な環境としてはどういう環境なんでしたっけ、使ってる言語とか。

icon

yuta クライアントとサーバー側に大きくわかれているかなと思うんですけど、クライアントはiOSアプリだけなのでSwiftでやってますね。Androidもいま開発中でKotlin使って、Jetpack Composeという新しい技術使いながらやってるっていう感じですね。サーバサイドは、RubyとGo採用しててあとPythonとか、TypeScriptとかも物によってはあるんだけど、メインはRubyとGoかな。RubyとGoもサービスの中で小さいサービスにわかれてるところもあるから、2個使い分けてるっていう感じっすね。言語は複数使ってます。インフラはAWSだけですけど。

icon

takejune 言語の選び方ってどういうふうにこだわりを持って選定しているんですか?

icon

yuta 基本的には作るべき要件があるので、それに合った言語と技術を選ぶっていうのが筋がいいかなと思ってるんだけど。あと自分たちのチームでどういったパフォーマンスを出せるかっていうのも関わってきます。

icon

yuta また今回はPCI DSSとか、金融庁の資金移動業登録だったりとか、許可を得るためにいろんな診査を受けなきゃいけなかったんですよね。そういうのも技術選定のポイントにはなってきたかな。固めに作るっていうとあれですけど、フィンテック部分の堅牢性が求められたりする部分とかは、ある程度固い言語。型付きの言語を選びたいなっていうのもありましたし、インフラ構成とかも監査を受けることになるんで、どういった技術で作るかみたいなところは、インフラチームと密に相談しながら作ってったって感じですかね。

icon

yuta 一方で、iOSアプリと連携するバックエンドの部分とかは、普通のモバイルアプリ作るのと変わらないんで、自分たちが一番得意でパフォーマンスだせそうなRuby on rails使う意思決定をしましたね。

icon

takejune これまで一緒にやってきて、やっぱりRailsで作ることはわりと多かったんで、今回も特に普通のWebアプリを作るだけだったら、Railsを素直に使うかなって思ったんだけど、やっぱりその部分的にGoを使ったりしてるっていうのは、事業ドメイン特有のリクワイアメント(要件)があった?

icon

yuta そうっすね、それはあります。なんでここはこういうふうに作るかみたいなところは最初に考えながら作ったっていうのはありました。決済部分とかカード管理とか、カード発行基盤だったりとか、それは全部 Goで書いてますね。

icon

takejune 開発して、サービスをリリースして今は運用を開始していますけど、やっていて面白いなと思ったりとか、難しいなって感じるような部分って、今回の事業でいうとどういうところがあります?

icon

yuta そうですね、シンプルにわからないことが多いっていうのは1個あって、立ち上げ期もそうだったんすけど今でもやっぱり「こういう機能を作ろう」と思ったときにステークホルダーがたくさんいて、ステークホルダーごとに持ってる技術も違って、かつその要件を僕らが知らなかったり、基本的な繋ぎこみの仕組みとかも知らなかったりすることも多いんで、前提がわからない中で開発するっていうシーンが多いっていう難しさはあるかな。

icon

yuta 運用の難しさっていうのもあって、決済の電文が日々流れてくるんですけど、チューニングしないといけないんですよね。この電文はユーザーの決済として通してOKか否かみたいな文脈もありますし、決済の電文が間違ってることもあるんで、そういうときに「これが真なのか偽なのか」みたいな判定を組織で判断しながらやっていかなきゃいけないから、そういう運用面の難しさも今回ありますね。

icon

yuta でも面白いですよ。自分たちが知らなかったことが結構あって、こういう感じでデータがくるんだとか。takeもデザインしながら思うことがあるかもしれないけど。

icon

takejune そうですね、お互いもうWebサービス作り始めて十数年経って、普通のWebアプリだったら手癖で作れてしまうようになってきて...

icon

yuta 何回もやってきたわ〜みたいなね(笑)

icon

takejune みたいになってるからこそ、わからないことがいっぱいある領域っていうのは作っていて面白いなあみたいのはありますね確かに。

創業者3人の役割分担について

icon

takejune ここから最後のセクションになるんですけど、社内の方から「プロジェクトを作るときに3人の間でどういうふうに役割を切り分けてますか?」って質問をもらっておりまして、これは一緒に十数年やってますみたいな話をすると...「どういう風にうまくやってるんですか?」みたいなことを聞かれたりするシーンもあったりするんで、改めてその辺聞かせてくださいっていうことなのかなと思うんですけど。

icon

takejune 何をやるかというか、どの事業領域を選ぶかみたいなところは、翔太くんがほぼ決めるっていう感じですよね、これまでも含めて。

icon

yuta そうだね、どういう課題を解いて、その課題をどうビジネスにしていくかみたいなところはshotaが決めてますね。

icon

takejune ここはユーザーが実際に課題を持ってるっていうこともそうですし、それを解決していったときに市場として伸びていくのかどうかみたいなところを、見極める目というかセンスみたいなのが必要かなと思うんでそれはやっぱり彼が最も優れてるというか、代替がきかないところかなというふうには思うんで、やっぱりshotaくんの事業センスが光ってるところなのかなとは思いますよね。

icon

yuta 確かに確かに

icon

takejune 事業領域を決めたあとに、想定するユーザーが持ってる課題をインタビューとかで掘り下げていく部分に関しては僕も一緒にやったりとかして、ある程度この領域でというのが決まったら、僕の方でインタビューと並行してプロトタイピングしていって、どういったプロダクトにしていくのかっていう形を具現化していくていうのをやっていくっていう感じですね。

icon

takejune yutaくんの方って僕らがインタビューしてたりとか、プロトタイピングし始めるみたいなタイミングって、既にできる範囲のこと...さっきの話じゃないけど、不確実なことが多い中でちょっとずつわかってきたことを、システム的に準備し始めていくみたいなことをやっていくんだと思うんだけど。そのときはどういった動きをしてるのかな?

icon

yuta 基本的には2人が集めてきた情報を自分なりに整理して、時々自分もその一次情報の取得とかに、インタビューとかしたりすることもあるんだけど、基本的には情報を集めてどういうプロダクトにしたいかとか、どういうビジネスモデルするかみたいなアウトラインから、プロダクト作りを考え始めることが多いかな。

icon

yuta takeがプロトタイピング始めてくれて、ある程度形にしてくれたらもっと詳細に技術要件を詰めていくんだけど、最初はぼんやりどういうプロダクトになっていくのかとか、ビジネス上どういう要件が必要なってくるかみたいなのを考え出してから設計してるっていうのが多いかな。

icon

yuta フリマアプリのときも正にそんな感じだったかな、売買が個人間でできて、そのトランザクションを最大化していくみたいなところがある程度決まっていって、「Webじゃなくてアプリですよね当然」みたいなところと、当時はクラウドがちょうど出始めた頃だったから、クラウドで全部やるだろうなと思って、クラウドを一式組む準備始めたりとか。

icon

yuta すべてが決まってから作り出すってことだと当然やっぱ遅いんで、先回りできるところは先回りして、こっちからエクスキューズ投げたりして、takeとかshotaに答えてもらったものを元にもっかい技術選定やり直したりとかっていうのはやってるかな。

icon

takejune ビジネスサイドで明らかになったことをプロダクトに反映して、プロダクトで詰まって行った要件をシステムに落としていくっていう流れでやっていくかなと思うけど、その全部一気に決めるんじゃなくて、都度都度のその要件をアップデートしてみたいな感じで進めている感じですかね。

icon

yuta 「Why->What->How」みたいな文脈でそれぞれポジションがあるとしたら、もちろんHowのところをメインでやることが多いんだけれど、結局WhyとWhatがしっかりわかってないと、どのようにしてみたいなところは作り込めないから、足並み揃えながらこっちも解像度を高めながら作るみたいなところがデフォルト(の進め方)としてあるかな。

icon

takejune よく創業メンバーで仲たがいして空中分解する話とか...海外の本とかでもね、そういうエピソードとかあったりするけど「そういう感じにならないんすか?」みたいなこともねよく聞かれたりとかするけど、それは起きてないですよねラッキーなことに。

icon

yuta お互いのポジションをリスペクトしてるっていうのもあるだろうし、それぞれがポジションとして求められることはやってるんだけど、基本的にはオーバーラップして他のこともやってて、情報のシンクが3人の中できちんとできるスキームで長年一緒にやってるからってのもあるかもしんないけど。その辺は全然スムーズにいきますよねいつも。

icon

takejune オーバーラップみたいなイメージでいうと、僕はビジネスとプロダクトの間に入るんでshotaくんの方にも足を踏み込むし、yutaくんのシステムの方にも踏み込むしっていう感じで、少しずつ踏み込むことは意識してやってはいるんだけど。ビジネスとエンジニアリングの領域って、距離的には遠かったりもしがちなんで、そこで距離が離れてしまうこともあるのかなと思うんだけど、そこに関しては2人が兄弟だから歯に衣着せずに言い合えるっていうところがいいのかなっていうのは思ったりしましたね。

icon

yuta 確かに、それはあるかもね。そんなに遠慮することもないし。ビジネスと開発ってともすると対立する組織構造になったりもするだろうけど、そういうのはあんまないかもしれないです。対立はするんだけど結局良いプロダクト作りたいとか、いいビジネスにしたいみたいなところはお互い思ってるんで。そんなに妥当じゃない意思決定はしないっていう考えはお互い...そういうのはあるかもね。

自分なりの仕事のスタイルについて

icon

takejune ここまで、その時々で求められることを臨機応変に変えながらやっていくっていう話は出てきてましたけど、プロダクトを作っていく中で他にもyutaくんなりのこだわりとか、仕事の仕方のスタイルみたいなのってあったりします?

icon

yuta エンジニアになったきっかけもあるんすけど、物作りが好きで、なかったものを生み出すみたいな仕事かなと思うんで...作るって話でいうと、要望を受けて作るみたいな感じが多いかなと思うんですよね、takeとかshotaが具現化させたものをいろいろ自分で解像度高めながら作ってるみたいのがあって、そのときに必ず「無理です」っていうふうに言わずにできる前提で考えるみたいなのはスタイルとして、持ってるっていうのはあるかな。

icon

yuta それはtakeとかshotaに対してだけでなくどの仕事するときもそうなんだけど。もちろん「どう考えても無理だろ」ってシーンもありつつ、基本的には達成したいゴールがあって、そのゴールを目指してる人もどう作っていいかわからないとか、こっち(開発)側がどういう動き(方で開発)をするかとか、わからない前提で要望とかを出してくるシーンもあると思うんで、基本的には全部受け止めて目的達成がどうやったらできるか?みたいなスタンスで考えて難しかったとしても、どうやったらできるみたいなところの解決策を一緒に出してくみたいなところはスタイルとしてやってるかな。

icon

yuta 「いやできません」っていうのは簡単じゃないですか。せめてこれだったらできるとか、ビジネスのゴールをを1回ちょっと見直して、これだったら達成できるんじゃないかっていう前提のところとかも話して、それで解決できるんだったそうしようっていうふうに提案することもあるし。システム的にはね、こうやった方がもっと簡単できますよねとかもちろんあると思うし、うん。そういった感じで「できることに蓋をしない」スタンスっていうのは取ってるかなとは思うかな。

icon

takejune 素晴らしいね。うん、日々助けられてるなって今お話聞いてて思いました。

エンディング

icon

takejune 思ったより長くなっちゃったんで、そろそろ閉めようかなと思うんですけれども最後に雄太さんからか聞いている方にメッセージがあればお願いします。

icon

yuta そうですねスマートバンクでは「B/43」というプロダクトを作ってちょうど半年ぐらい経って、ユーザーさんからも割と評価をいただけながら、機能追加をやってはいるんですけど、全然人が足りておりませんっていう。Android版もまだないですし、開発中なんですけど。

icon

takejune うん。

icon

yuta 我々はフリマアプリ作ってたっていうバックグラウンドがあって、このプロダクトに取り込んでますけど、また全然違った面白さ・難しさがこのFintechのB/43というプロダクトにはあって、普通のウェブエンジニアの人も、決済のお金をチャージする部分を作ったことありますという人はいるかもしれないけど、VISAネットみたいな決済の仕組みとガチで繋ぎ込んで、そのシステムも内製化して作るみたいなことは、なかなか普通の開発していてもできない経験かなと思うんで、Fintechなりの面白さが詰まったプロダクトだと思うんですよね。

icon

yuta 今採用もしてますけど、そういうのに興味を持った人にガンガン応募してもらって、一緒に開発できたらいいかなと思うので。このポッドキャストを聞いて興味を持った方がいらっしゃったら、カジュアルに私と話をしていただけたらなと思ってます。

icon

takejune はい、ありがとうございます。エンジニア絶賛募集中です。今回のゲストはスマートバンクCTOの堀井雄太さんでした〜!

このインタビューに出てきた人

icon

takejune このブログの書き手。6月生まれのサービスデザイナー。「家計簿プリカ B/43」を運営するスマートバンク社の創業者のひとり。PodCast初心者。 Twitter / Blog / Portfolio

icon

堀井 雄太 スマートバンクCTO。VOYAGE GROUP で広告配信システムの開発やインフラ構築を担当。 その後、フリマアプリを開発する Fablic, Inc. を共同創業しCTOとして従事した後、現職。 サーバサイド全般とメインでVisa決済、カード発行基盤の開発を担当。