hey folks has anyone implemented event sourcing as a platform team and done it well where developers building on top find the experience usable / intuitive?
08/25/2022, 12:43 PM
My experience has been:
Avoid Event Sourcing unless here’s a clear need. I see ES very needed for infrastructure as code (like terraform) or databases. Where the complexity that adds ES has proven to pay off.
There are frameworks that provide ES implementation under the hood. As long you don’t expose that complexity to the team, it’s a reasonable usage. But it should be as implementation detail handled by the framework as possible IMHO.
Otherwise, we had problems with less experienced people that the learning curve were too much and demotivated them 😞
Let’s talk about the scenario where ES makes sense. I would:
Aim to hide the complexity somehow so that people use a well define API on top of it instead of exposing the ES complexities that will require learning by the team members.
The main drivers of the decision are:
1. Don’t add complexity to the system in the first place unless is heavy needed
2. If needed, use a framework that handles the inner implementation
3. If not, aim you to hide it from others
4. If you cannot hide the implementation and the ES complexity is exposed, then perform trainings.