Are you looking for practical knowledge
about software architecture?
Check out my content - from articles to videos
My name is Oskar Dudycz. For more than 18 years, I've built software close to the business.
I run workshops and training about Event Sourcing, CQRS, and event-driven architecture.
I maintain Emmett, an open-source library for implementing Event Sourcing.
On this blog, I share practical ways to build well-designed, modular applications.
Latest articles
Vertical slices, their ownership and external dependencies
A few questions about Vertical Slices come up again and again, and they’re good ones. If a slice cuts through all the layers, do we get a…
Fixing bugs in Event Sourcing is hard, for real?
Every system ends up with bad data. Some of it comes from integrations, some from users doing things nobody predicted, and a good part of it…
Throw, Result, or neither?
There is one question I keep getting about my event-sourced code: why don’t I use ? It usually comes after someone sees a decision throwing…
On swimming, learning and my journey to being the last one
Work impacts how we live, and our lives impact how we do our work. My name is Oskar Dudycz, not Paulo Coelho, and today I’m not going to…
Addition by subtraction in Software Design
I want it all, and I want it now. This is not only a Freddie Mercury quote but also, too often, a general plan for our software product. The…
Announcing Strictland - new contract testing library for message compatibility
I just released something. It’s called Strictland. And it’s a contract testing library. Why did I do it? Before I go further, if you can’t…
You can fork a package, but can you own it?
Fork your dependencies, trim them to only your use case, never update unless it breaks for your users. I’ve been vocal about this for 1…
How soon is now in PostgreSQL?
How soon is now? In PostgreSQL, it’s not always as soon as you’d think. I learned that the hard way recently, so you don’t have to. It took…
On mashing up modelling techniques for fun and profit
Many people believe there should be one, and only one, way to model software. I think differently, I like to mix different techniques. For…
Don't overestimate domain expertise
I was toying with LLM-based domain research. It reminded me of the common mistake we make when we try to practice DDD: overreliance on what…
Vibing, Harness and OODA loop
Hey, have a look at what I made during the weekend. I had some time, grabbed a beer, turned on the computer and tried to code this feature…
Yoda Principle for better integrations
Try not. Do. Or do not. There is no try! I’m calling this the Yoda Principle. Master Yoda said that to Luke Skywalker a long time ago in a…