Day 3 -

Aug 20th

Creative and Mix

16:10 - 16:50

Domain modeling for event-sourced data

In complex systems, separating read and write models can unlock flexibility, scalability, and adaptability and it also comes with other nice side effects: ease of schema evolution, flexibility of access patterns.

In this talk, we’ll explore how to model the read side of event-sourced systems using Scala, leveraging its type system and functional capabilities to create expressive and resilient models over non-SQL event stores.

We’ll cover:

  • Modeling read and write concerns separately for clarity and maintainability
  • Strategies for schema evolution in long-lived event systems
  • Common access patterns and performance considerations
  • Why Scala is well-suited for defining domain-specific languages (DSLs) for safe and composable access to read data

Along the way, we’ll discuss real-world problems and how this approach can reduce coupling, improve correctness, and enable agile evolution of both domain and infrastructure.

César Enrique Ramírez

Xebia

I’m a Staff Software Engineer at Xebia with over a decade of experience in software development. I’ve been working with Scala since 2014 and have a strong passion for functional programming. I enjoy applying Scala’s powerful abstractions to build clean, maintainable, and scalable systems. Outside of work, you’ll usually find me rock climbing or riding motorcycles—both help me recharge and stay focused.

Subscribe

Join our conference

Subscribe and follow @ScalaDays on BlueSky for the latest conference updates.