【フルリモート/週5/Ruby】エンタープライズSaaSの「巨大モノリス」を解きほぐすモジュラーモノリス化およびパフォーマンス改善

案件要件
- 職種
- エンジニア
- 業務内容
- システム開発・運用SES
- 報酬目安
- 5,800 ~ 6,500円/時
- 稼働時間目安
- 週5日 (時間目安 160時間)
- はたらく場所
- フルリモート
- スキル
【フルリモート/週5/Ruby】エンタープライズSaaSの「巨大モノリス」を解きほぐすモジュラーモノリス化およびパフォーマンス改善
お任せしたいこと
[役割]バックエンドエンジニアとして、数千社の大企業が導入する「統合型HR(人事・労務管理)SaaS」のRuby on Railsを用いた新機能開発、および10年以上の運用で限界を迎えつつある巨大なモノリシック・アプリケーションのアーキテクチャ刷新をお任せします。
[役割に対して求める成果]複雑に絡み合ったActiveRecordのコールバックやFat Modelを紐解き、Packwerk等のツールを用いてドメインごとの境界を明確にする「モジュラーモノリス化」を推進すること。また、毎月数百万人の給与計算や評価データ集計が走る月末・月初においても、Sidekiqのジョブ詰まりやメモリ肥大化(Memory Bloat)を防ぎ、エンタープライズ企業が求める厳しいSLA(応答速度・可用性)をクリアし続ける堅牢なバックエンドを構築すること。
具体的な業務内容
・Ruby on Railsを用いた、BtoB SaaS向けバックエンドAPIおよび複雑な業務ロジックの詳細設計、実装、テスト
・長年の増改築によって依存関係がスパゲッティ化した巨大なRailsアプリケーションの、Packwerkを活用したモジュール分割(境界付けられたコンテキストの定義)
・SorbetまたはRBS(Steep)を導入・活用した、静的型付けによるコードの安全性向上とリファクタリングの推進
・「評価」「給与」「組織改編」といった複雑なドメイン知識に対する、Service ObjectやForm Object、独自PORO(Plain Old Ruby Object)を用いた適切な責務の分離
・数千万レコードに対する複雑な集計処理における、ActiveRecordのN+1問題の特定・解消、および生SQLへの書き換えを含むインデックスチューニング
・SidekiqとRedisを利用した、大量の非同期ジョブ(帳票出力、CSV一括インポート等)のメモリ最適化およびリトライ設計
・RSpecおよびFactoryBotを用いた、複雑な事前条件(データステート)を伴うテストコードの拡充と、CI(GitHub Actions)の実行時間短縮
・DatadogやNew Relicを利用した、スロークエリの検知とRubyプロセスのメモリリーク調査
必須スキル・経験
・Webアプリケーション、またはバックエンドシステムの実務開発経験(3年以上)
・RubyおよびRuby on Railsを用いた開発・運用経験(2年以上)
・RDBMS(MySQL等)を用いたデータベース設計、および複雑なSQLの記述・パフォーマンスチューニング経験
・Git/GitHubを用いたプルリクエストベースでのチーム開発経験
歓迎スキル・経験
・BtoB SaaS、または大規模なエンタープライズ向けシステムの開発・運用経験
・巨大なRailsアプリケーションのアーキテクチャ刷新(モジュラーモノリス化、マイクロサービス抽出など)を主導した経験
・RSpecを用いたテストコードの記述、およびテスト駆動開発(TDD)の経験
・Sorbet、RBS等のRubyにおける静的型付けの実務導入・運用経験
・ドメイン駆動設計(DDD)、またはクリーンアーキテクチャの概念を取り入れた開発経験
・Sidekiq等のバックグラウンドジョブ処理基盤の高度なチューニング経験
・AWS(ECS, RDS, ElastiCache等)を利用したクラウドインフラ環境での開発経験
開発・業務環境
開発言語:Ruby 3.x
フレームワーク:Ruby on Rails 7.x
データベース・KVS:MySQL (Amazon Aurora), Redis
非同期処理:Sidekiq
型検査・モジュール管理:Sorbet (または RBS), Packwerk
インフラ:AWS (ECS Fargate, RDS, S3等), Docker
テスト・CI/CD:RSpec, FactoryBot, GitHub Actions
監視・ツール:Datadog, GitHub, Jira, Confluence, Slack
プロジェクトチームについて
プロダクト開発部のバックエンドチームへの配属となります。「スタートアップ期に書かれたレガシーコードを悪者扱いしない」というリスペクトの精神を持ちつつも、次の10年を戦うために「技術的負債の返済」を新機能開発と同等に重要視するカルチャーです。コードレビューでは、Railsのレール(ActiveRecordの便利さ)に乗るべき箇所と、ドメイン層をピュアなRubyクラスとして切り出してレールから降りるべき箇所の境界線について、アーキテクチャの観点から深く論理的な議論が交わされます。
求める人物像
・「すべてを最新言語でマイクロサービスに書き直したい」という理想論ではなく、現在稼働している巨大なRailsの強み(生産性)を活かしつつ、モジュール化によって統制を効かせていく泥臭いアプローチにやりがいを感じる方
・ActiveRecordの裏側でどのようなSQLが発行されているか、あるいはRubyのガベージコレクション(GC)がどう動いているかなど、フレームワークの魔法の裏側にある「仕組み」を探求できる方
・複雑なビジネスルール(人事制度や法律など)を紐解き、PdMやドメインエキスパートと議論しながら、それをシンプルで美しいデータモデルとして表現することに知的な喜びを感じる方
仕事の魅力
日本のRuby界隈で現在最も注目度が高く、かつ難易度も高い「巨大Railsアプリのモジュラーモノリス化」というテーマに最前線で取り組むことができます。10年モノのレガシーシステムを止めることなく、Packwerkや静的型付けを駆使してアーキテクチャをモダンに刷新していく経験は、エンタープライズ規模のRubyエンジニアとして圧倒的な市場価値と技術的知見をあなたにもたらします。
働き方
リモート環境
[フルリモート] 基本的にフルリモートで働いていただけます。
株式会社Kaizen Tech Agent
株式会社Kaizen Tech Agentは、「人と技術をつなぐ」ことを企業理念に掲げ、日々向上していく『技術』と『人』を最適な形でむつび付け提供することで、
お客様にとって真にプラスとなる価値でありたいと考えております。
私たちはそれぞれの個性を尊重し、ほっとする和みの社風でありながら、変化する時代に対して受け身にならず、未来への挑戦心を宿しています。
事業領域は、WEBアプリ開発、業務システム開発、スマホアプリ開発、インフラ構築など幅広く展開しており、
フリーランス様に対して最適な案件をご提案させて頂いております。どんな些細な事でも結構ですので是非いつでもお気軽にご相談ください。
