Skip to content

Why Database Generated IDs Can Complicate Your System Design

When you’re creating something in your system, where does the ID come from? For most, it’s probably the database. Database generated IDs are pretty straightforward, and you’re probably used to them if you’ve done a lot of CRUD. But why is your database responsible for generating the ID? This seemingly simple decision can have a pretty big impact on your overall system design when you start thinking about asynchronous processing, messaging, and different boundaries. YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this video showing everything in this post. You have… Read More »Why Database Generated IDs Can Complicate Your System Design

5 Event Driven Architecture Problems (And How to Avoid Them)

“We switched to event driven architecture. Now we can’t debug anything.” A member of my channel shared a post with me where a team went all in on event driven architecture and ran into a bunch of problems. The thing is, they’re not wrong about the pain they experienced. But the problems weren’t directly because of event driven architecture. They were mostly caused by how they understood it and how they were applying it. So let’s break down the five pain points they had, why they had that pain, and how you can avoid it. YouTube Check out my YouTube channel, where… Read More »5 Event Driven Architecture Problems (And How to Avoid Them)

CRUD vs Task Driven: Are You Losing User Intent?

What happens when everything in your system just becomes an update? You need to cancel an order: change the status. You need to approve something: change the status. Some workflow completes: just change the status. Everything becomes an update. And it can feel great because it is simple, but you have lost one really important thing: intent. You know what changed, but you do not really know why it changed. You can try to infer it, but you do not really understand what the user was trying to do and why they were trying to do it. That is where… Read More »CRUD vs Task Driven: Are You Losing User Intent?