Engineering Blog

So Long Scrum. Hello Scrumban.

Over the past five years I’ve used Scrum with several teams at multiple companies. It was a big improvement on the waterfall processes it replaced, but there were always some nagging issues. Recently my team switched to Scrumban, a Scrum-Kanban hybrid. Here’s why we switched, and how it’s worked for us. A Batch Process in […]

Scaling Data Ingestion with Akka Streams and Kafka

Iterable helps companies use data about their users and events to send more relevant and effective marketing campaigns. Iterable’s customers span many different industries and sizes, and together they send Iterable hundreds of millions of user updates and billions of events every day. This article will describe some ways that Iterable’s architecture has improved over […]

Publishing an open source Scala library

At Iterable we use open source libraries a lot in our Scala code. Typically we use libraries hosted on Maven Central, so adding the dependency in sbt is as simple as: libraryDependencies += “com.example” %% “mylibrary” % “1.0.0” But how do you publish your library for other people to consume in this way? The process […]

Implementing the Notification Center

Marketers use Iterable to launch a variety of powerful campaigns and workflows. There are a lot of complex moving parts and they would ideally be able to know the status/completion of certain actions and be warned or alerted about errors that occur. For instance, they might want to know when a workflow webhook they have […]