大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用
スポンサーセッショントラックDJapanese
ファインディでは開発しているサービスのすべてのフロントエンドをモノレポ管理ツールであるNxと、そのエコシステムを活用したモノレポで構成し、開発生産性や開発者体験の向上維持に注力しています。
なかでも 「Findy Team+」のフロントエンドは100以上のモジュールと50万行を超えるコードを抱える巨大なモノレポです。
これまでの急速な機能追加や拡張、プロダクトの多言語化(i18n)を進めたことで、コードベースは急速に肥大化しました。そしてテストやビルドを含むCI時間が指数的に増加し、開発者体験の大きな課題となりました。
しかしモジュールの依存関係やキャッシュ戦略の再設計、リモートキャッシュの活用、そしてCIパイプラインの段階的チューニングをNxをベースとして実施することにより、CI時間を従来比で50%以上削減することに成功しています。
また現在もコードベースが拡大していくなかで、CI時間が伸びず、開発速度が失速しないアーキテクチャを確立しました。
本セッションではこの改善プロセスと、そこから得られたヒントを元に、巨大モノレポの秩序を守るためのプラクティスを紹介いたします。
ファインディ株式会社
「挑戦するエンジニアのプラットフォームをつくる。」をビジョンに掲げたスタートアップです。エンジニアスキルや生産性の可視化する独自技術をもとに、IT/Webエンジニアの転職サービス「Findy」「Findy Freelance」及び、エンジニア組織支援SaaS「Findy Team+」を展開しています。