見出し画像

gamba!の開発10年を振り返ってみて 〜 前編

この10年間、私自身、gamba!をずーっと開発してきました。

いまでこそ2名のエンジニアがgamba!の開発に従事してくれていますが、私一人で開発・マーケ・財務を担当するという、超絶マルチタスクをこなしながら次から次へとやってくる試練を乗り越える、絶望的無理ゲーのような時期が長らくありました。

そんな中、gamba!はこれまで、大きく3回の全面的なアーキテクチャの更新を行ってきました。

  • 第1世代
    創業当時にプロトタイプとして開発したバージョン。まだ自分のエンジニアとしてのスキルも低く、Ruby on Railsの参考書をみながら自分一人で作った、かなり荒削りなシステムです。

  • 第2世代
    このバージョンから有料化し本格的なサービスを開始しました。エンジニア2〜3名で開発し、いまのgamba!につながる多くの機能が実装されました。

  • 第3世代
    フロント側に当時誕生したばかりのReact.jsフレームワークを採用し、サーバ側をAPI化して、モダンなアーキテクチャになりました。

  • 第4世代
    フロント側にReact Nativeを採用し、iOS/Android向けの本格的なネイティブアプリの提供を開始しました(第3世代はWebViewをはめ込んだだけのガワアプリでした)。

gamba!の開発を行う上で、私が重視してきたことは、とにかく「少ないリソースで効率的に機能改善を継続できるようにするには、どうしたらいいか?」ということに尽きます。

世の中のSaaSのスタートアップにとって、経営上、最も大変なことは開発資金の確保だと思います。エンジニアの人件費は高騰の一途で、しかも日々進歩し変化する技術に追従しつつ、競合を出し抜き、お客様を惹きつけるための新たな機能を提供するために、常に多くの開発リソースを投入し続ける必要があるからです。

ですが、当時のgamba!にそれだけの資金を調達する力はありませんでした。で、どうしたか?

徹底的にコストをかけずに開発できる仕組みを整えることで、乗り切ってきました。

もちろん、私自身が開発エンジニアとして多くの時間をサービスの改善に直接コミットできたことは、gamba!にとってとてもラッキーなことだったと思います。が、それだけで乗り越えられるほど、簡単な問題ではありません。

gamba!の開発プロセスやアーキテクチャは、以下のようなことを実現することに重点を置いて構築してきました。

  • テストの自動化

  • デプロイの自動化

  • デザイン工数の削減

  • コードの共通化

きは「gamba!の開発10年を振り返ってみて 〜 中編」で!

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