見出し画像

技術的負債(マネーフォワード社CTO中出さんの投稿)

を読んで…

技術的負債とその返済

7年前、2016年12月にCTOになって、最初の大きな決断は、すべてのサービスが一つの大きなデータベースに依存している状態から抜け出すことでした。私たちは小さなベンチャー企業でしたから、素早くサービスを立ち上げるためにデータベースを分割せず、大きなデータベースを共有するという技術的な意思決定がされていました。

しかし、その決定はサービスが軌道に乗るにつれて問題を引き起こすようになります。毎月、給料日になるとデータベースの負荷が高まり、全サービスがスローダウンしたり、あるいは1人のユーザーの操作によって全サービスが利用停止に追い込まれたり、信じられないことが頻繁に起こっていました。

トータルで8年です。会社設立から4年半で積み上げた技術的負債を返済するのに、その倍くらいの時間がかかりました。ユーザー影響やサービスの追加機能開発にできるだけ影響を与えず、根幹のアーキテクチャーを変更していくのは技術的にも難易度が高く、多くの開発チームとの連携が必要でした。

とはいえ、技術的負債を生み出した最初の意思決定が間違っていたとは考えていません。最も早くサービスを開発し、ユーザーに価値を提供できる方法がデータベースを共有する方法であり、そのおかげで私たちの事業は成長することができました。

こういった背景も含めて、それぞれの会社がどのようにサービスを提供しているか、技術を採用されているかも理解していくのはもちろんのこと、これからサービスや組織をつくっていく会社に対しても、どのような背景のもと意思決定をおこなっているか注視していくことも重要。

また、「技術的負債」に囚われすぎることなく、「ユーザーによりよいサービスを提供するために」という視点で意思決定がされているか、を意識して見ていくことも重要だし、そういう視点を持つことの重要性は仕事でも伝え続けていきたい。

この記事が気に入ったらサポートをしてみませんか?