Kiki Carter

Kiki Carter

Promise Theory

@kikisworldrace · Brazil
Principal Enterprise Architect at Lightbend, Inc



I have a passion for leading enterprise transformations, creating innovative solutions using emerging technologies to modernize heritage environments. I find a certain joy developing large scale distributed systems using Reactive Principles, especially when building with Lightbend Reactive Platform - Akka and friends. I have slight Scala bias, but at least half of my time is spent with Java. I enjoy the benefits of broad industry experience having worked in entertainment, hospitality, retail, life science and others. I do play favorites, but you’ll have to ask on the right day. My personal passion project involves non-profit missions in anti human trafficking with focus on prevention and aftercare. For fun, I live “simultaneously” on different continents and wander all the earth and seas between.


Promise & Purpose: Why understanding Promise Theory can make you better at DDD.

One of the most interesting and difficult things to manage to develop with DDD is the Bounded Context and communication in between. It’s also quite difficult sometimes for people to reason about or understand why bounded contexts are important in system design. One main, though not only reason for properly designing bounded contexts relates to managing state in systems. The DDD Bounded Context as a design principal has some very strong theoretical methods to support this relationship to state management. In this talk, we’ll be looking at one well developed theory, Promise Theory, and how understanding this can increase clarity around proper state management in DDD. In our investigation into Promise Theory we’ll attempt to extract practical applications and techniques, such as event sourcing that allow you to derive short term and long term benefit in your day to day system design activities.


Practical Event-Sourcing with Java

There’s theory, then there’s application. In this workshop, we’ll be applying a state-management technique, event sourcing, using Lagom - a framework that is designed with principles of DDD at its heart. We will work through a number of exercises that show the evolution of an application from a monolithic design with shared state, to a distributed system design with bounded state management. For this workshop, we’ll be using the Java API. Participants will need to have basic knowledge of Java lambdas and futures.

The Premier Software Modelling & Design Conference

Missed #DDDEU?

Get tickets for the next edition

Amsterdam, Jan 30 – Feb 2, 2018



More speakers to be announced


Contact us at for sponsor opportunities.