Maciej “MJ” Jedrzejewski (Yen-dzhe-yev-ski) has written a free ebook: “Understand Your Domain First: An Introduction to Event Storming and Domain-Driven Design”.
I designed this book to be as close to a workshop experience as possible, and I did my best to make it so.
That’s what he said in the Preface of the book.
So to get my brain engaged while reading, I tried to imitate the Event Storming diagrams in the book using Miro, which is the diagramming tool recommended in the book.
Here are the diagrams I produced:
Gym App - Event Storming - Big Picture Level
Gym App - Event Storming - Process Level - Publishing an offer
Gym App - Event Storming - Process Level - Signing a contract
Gym App - Event Storming - Process Level - Pass registration
“MJ” has also written a book titled “Master Software Architecture”.
In the Preface of that book, he said something that many software engineers can relate to:
In the last eight years, I have made almost every mistake related to software architecture that you can think of. To name a few, I:
• applied Onion, Clean or Hexagonal architecture everywhere I could;
• assumed that people not doing test-driven development, continuous deployments or trunk-based development are crazy;
• used microservices in almost every application;
• ran all my tiny applications in Kubernetes;
• used cache everywhere.
Do you see a pattern here? I mindlessly followed each concept without deeper thinking.
Whatever I heard, I applied. I easily justified it to myself because these were always described as silver bullet solutions, and of course, I wanted to follow best practices.
This contradicts pragmatism.
The rest of the guides you though how to produce software effectively.
I have not yet finished the book. I have read up to chapter 6 only. But I think this is one of the best book I have read on software development. I’m planning to re-read it from the start to finish before the year ends.