ブルーモ証券の照屋です。ソフトウェアエンジニアとして、プロダクト開発全般を担当しています。
スタートアップで開発していると、「まず作って出してみる」ことの大切さを日々感じます。
最初から完璧なものを作ろうとするよりも、早く届けて、顧客の反応を見ながら改善していく。その積み重ねが、プロダクトを前に進める力になります。
一方で、証券サービスを作っていると、それだけでは進められない場面にもよく出会います。
画面の見せ方ひとつ、状態の持ち方ひとつ、運用上の判断ひとつが、思った以上に大きな意味を持つことがあります。「間違っていたら後で直せばいい」と割り切りづらい領域に遭遇します。
とはいえ、慎重に作ることと、遅く作ることは同じではありません。
むしろ大事なのは、どこを慎重に扱うべきかを見極めながら、速く作れる構造を作ることだと思っています。
この記事では、証券スタートアップであるブルーモ証券が、開発スピードと信頼性の両立にどう向き合っているのか、また、金融ドメイン未経験のエンジニアがどのようにキャッチアップしているのかについて書いていきます。
証券ドメインは、全員が全部を理解するには広すぎる
証券ドメインと一言で言っても、その中身はかなり広いです。
口座開設、本人確認、取引、入出金、顧客資産、帳票、通知、オペレーション、外部システム連携など、それぞれに異なる前提知識があります。
さらに、それぞれの領域には顧客体験としての正しさ、業務としての正しさ、システムとしての正しさがあります。
例えば、顧客から見れば「取引履歴が正しく表示されているか」という話でも、裏側では約定、受渡、為替、手数料、帳票、外部システムとの連携などが関係します。
あるいは、規約や同意のロジックひとつを取っても、単に画面にチェックボックスを置けばよいわけではなく、どのタイミングで何に同意してもらうべきか、その状態をどう保持し、後続の業務や顧客体験にどう影響するかまでを考える必要があります。
全員がこれらすべてを深く理解しようとすると、開発者が常に大量の業務知識を頭に入れなければならず、認知負荷が高くなります。
一方で、「この領域はあの人しか分からない」という状態にすると、属人化によって開発速度が落ちるという課題もあります。
つまり、証券ドメインでは特に、知識をどう分け、どこに集約するかが開発速度に直結します。
サブドメインによって、知るべき範囲を絞る
では、この広い証券ドメインをどう扱っているのか。
ブルーモ証券では、プロダクトの領域をサブドメインとして整理しています。
目的は、全員が全部を知るのではなく、チームごとに深く見る範囲を決めることです。
例えば、口座開設や顧客獲得に近い領域では、顧客が迷わずサービスを始められる体験や、登録・認証・通知などの設計が重要になります。
証券取引や顧客資産に近い領域もあります。
ここでは、取引依頼、取引状態、入出金、資産表示、帳票に必要な情報などを正しく扱う必要があります。特にセンシティブな領域です。
また、証券業務や社内オペレーションに近い領域もあります。
証券業務を安定して回すための画面や処理、例外ケースが起きたときの運用まで考える必要があります。
このように、領域によって必要な知識も、気をつけるべきポイントも違います。
だからこそ、担当する領域はチームとして深く理解し、担当外の領域とは決められた接点を通じて連携できる状態を目指しています。
知るべき範囲を絞ることは、ドメイン理解を浅くするためではなく、必要な場所に深く向き合いながら、全体としての認知負荷を下げるための工夫です。
SLOで、守るべき品質ラインを明確にする
速く作るためには、どこまで品質を守るべきかをチームで揃えておくことも重要です。
金融サービスだからといって、すべての指標で100%を目指すわけではありません。
もちろん守るべきところは守る必要がありますが、全部を同じ重さで扱ってしまうと、何を優先すべきか分からなくなります。
そこで、ブルーモ証券ではSLO(Service Level Objective)を使っています。
リクエスト成功率やレイテンシ、バッチ処理の成功率・実行時間などをもとに、顧客体験や信頼性として守るべき水準を定義しています。
このラインがあることで、「今は機能開発を優先してよいのか」「信頼性改善に寄せるべきなのか」を判断しやすくなります。
例えば、アプリの起動速度やサーバー応答速度の改善があります。
もちろん、画面は速く表示されるに越したことはありません。ただ、どこまで速くすれば顧客体験として十分なのかが決まっていないと、改善にどこまで時間やコストをかけるべきか判断できません。
SLOがあることで、「今すぐ大きなコストをかけて改善するべきなのか」「顧客体験として許容できるラインを維持しながら、段階的に改善していくべきなのか」をチームで話しやすくなります。
一方で、SLOに抵触するような性能劣化や信頼性低下が見えている場合は、新機能開発よりも改善を優先します。速く作ることは大事ですが、守るべきラインを下回っている状態で、さらに機能を積み上げても意味がありません。
つまりSLOは、開発を止めるためのものではなく、どこまでなら前に進めるのか、どこからは立ち止まるべきなのかを、チームで判断するための基準です。
チームや職種を横断し、全体最適を図る
サブドメインで責任範囲を分ける一方で、チームや職種が分断されすぎないことも重要です。
証券サービスでは、顧客に見える機能だけを作れば終わりではありません。
機能仕様として正しいか、顧客体験として自然か、オペレーションチームが無理なく扱えるか、例外ケースが発生したときにどう処理するかまで含めて考える必要があります。
大きな組織では、顧客向けの機能、オペレーション向けの機能、システム運用がそれぞれ別の優先順位で動き、局所最適になりやすい場面があります。顧客向け機能を優先するあまり、オペレーション向けの機能が後回しになり、結果として運用負荷やリスクが高まることもあります。
ブルーモ証券はまだ40名ほどの小さな組織なので、エンジニア、PdM、デザイナー、オペレーションが横断的に議論しながら、時々の優先事項に応じて全体最適で判断しやすい環境があります。
顧客向けの体験を優先するのか、オペレーションの負荷を下げるのか、将来のリスクを減らすのか。その判断を部門ごとの局所最適ではなく、プロダクト全体として考えられることは、小さな証券スタートアップならではの強みだと思います。
これは、単に「距離が近くて話しやすい」という話ではありません。
少人数でプロダクトを作り、運営しているからこそ、顧客体験、証券業務、将来の開発しやすさを切り離さずに考える必要があります。
それぞれの職種が自分の担当範囲に閉じるのではなく、プロダクト全体にとって何が良いかを一緒に考えられることが、ブルーモ証券の開発の進めやすさにつながっています。
早く気づき、早く動くために、インシデントプロセスを磨く
ここまで書いてきたように、証券サービスを速く作るには、守るべきところを見極めながら優先順位をつける必要があります。ただ、限られた人数で開発・運用している以上、どれだけ気をつけてもミスが起こることはあります。
だからこそ、ミスが起きたときにどう動くかを整えておくことも重要です。
ブルーモ証券では、「重大なことが起きたら動く」というより、重大かどうか分からないものほど早くインシデントプロセスに載せる考え方を取っています。
軽微に見える不具合でも、調べてみると顧客資産や取引結果、規約・同意、オペレーションに影響している可能性があります。最初の時点で重大かどうかを正確に判断できるとは限りません。
そのため、少しでも気になることがあれば、まずはインシデントとして扱います。状況を整理し、顧客や業務への影響を確認し、必要であればすぐに応急対応を進めます。社内外への報告や顧客影響の確認が必要な場合は、コンプライアンス担当も巻き込みながら対応します。
結果として重大ではないと分かれば、それはそれでよい。
早めにインシデントプロセスへ載せることで、判断の遅れや影響拡大を防ぐことを重視しています。
対応後はポストモーテムを行い、何が起きたのか、なぜ起きたのか、次にどう防ぐのかを整理します。個人を責めるためではなく、同じ種類の問題をより早く検知し、より小さな影響で止めるための学習です。
こうした学びをチームに蓄積していくことで、信頼性だけでなく、次に似た状況が起きたときの判断や対応の速さにもつながります。
証券未経験でも、必要な領域からキャッチアップできる
ブルーモ証券では、金融や証券の業界経験がないエンジニアも多く働いており、私もその1人です。
だからこそ、入社時点でドメイン知識があることを前提にするのではなく、必要な領域からキャッチアップできる構造を作ることが重要だと考えています。
サブドメインによって知るべき範囲を絞る。
SLOによって守るべき品質ラインを明確にする。
チームや職種横断で判断する。
怪しいものはインシデントプロセスに載せて学習する。
こうした仕組みがあるからこそ、証券未経験のエンジニアでも、複雑なドメインに向き合いながらプロダクトを作っていけるのだと思います。
壊せない場所で速く作るのは、簡単ではありません。だからこそエンジニアリングとして面白い領域でもあります。
単に技術的にきれいなものを作るだけではなく、顧客体験、業務、信頼性、チームの認知負荷まで含めて設計する。そうした複雑さに向き合いながら、スタートアップとして速く前に進む。
ブルーモ証券のエンジニアリングには、その難しさと面白さがあると思っています。
私自身もまだ学ぶことは多いですが、そうした複雑さに一つひとつ向き合いながら、信頼されるプロダクトづくりに貢献できるエンジニアでありたいと思っています。
ブルーモ証券では各職種を積極採用しています。
ぜひご応募ください。
採用ポジション一覧