AccountIQ

AccountIQ

2 Followers
Automation for Payments and Finance

Decisions 1

Danylo Yeleiko

Tech lead @ AccountIQ at Bambora

We searched an effect monad to replace scala.concurrent.Future and move our tech stack away from 'Scala as better Java'.

The requirements for the replacement were:

  • Battle-tested & documented;
  • Type-safe;
  • Fiber-safe (not leaking concurrent resources).

ZIO was picked for the following reasons:

  • ZLayers (with zio-magic) that enabled us to structure the application & do DI in a functional way;
  • Typed error channel for safer handling of business-logic exceptions;
  • Built-in Scheduler and retries / cancellation;
  • Steeper learning curve when compared to cats-effect.
4 23.7K