Janan Al-Hassani
← Back to case studies

Fitch Ratings

Modernizing a High-Scale Analyst Assignment Platform

As a Senior Software Engineer, I took a leading role in redesigning the rules architecture, improving batch performance, and strengthening the service's reliability and engineering quality.

Business problem

A financial-services platform at Fitch Ratings assigns approximately 1,600 analysts to more than 21,000 ratable entities using over 200 business rules. The existing rules engine was difficult to maintain, while a critical weekly batch process took roughly 4.5 hours and could experience silent failures—slowing operations and eroding trust in assignment outcomes.

Architecture

Technologies

  • YAML-based business rules
  • Rules-engine rewrite
  • Batch processing optimization
  • Dead-letter queues
  • Automated unit testing
  • SonarQube
  • DataDog tracing

Challenges

  • Expressing 200+ complex assignment rules in a maintainable, human-readable form.
  • Reducing a ~4.5-hour weekly batch without sacrificing correctness at 1,600 analysts and 21,000+ entities.
  • Eliminating silent failures where work could be lost without recovery.
  • Raising engineering quality from approximately 5% automated coverage while clearing outstanding SonarQube issues.

Decisions

  • Designed a human-readable YAML format so complex assignment rules could be expressed consistently.
  • Completely rewrote the rules engine responsible for interpreting and executing those rules.
  • Optimized the weekly batch-processing workflow for material runtime reduction.
  • Introduced a dead-letter queue so failed work could be identified and recovered.
  • Increased automated test coverage and added production tracing with DataDog.

Results

  • Reduced weekly batch runtime by approximately 67%, from 4.5 hours to 1.5 hours.
  • Delivered a scalable engine supporting 200+ rules, 1,600 analysts, and 21,000+ entities.
  • Increased unit-test coverage from approximately 5% to 95%.
  • Resolved all outstanding SonarQube issues.
  • Added DataDog tracing, improving visibility into performance and production failures.
  • Established a more reliable and maintainable foundation for future rule changes.

Lessons learned

  • Human-readable rules formats pay off when business logic must change faster than engineering capacity.
  • Operational reliability requires explicit failure paths—silent batch loss is a product defect.
  • Quality investments (tests, static analysis, tracing) make large modernization safer to ship and evolve.