Skip to content

Database Coupling: How to FIX a Spaghetti Code System

If you’re working in a system that’s hard to change, it can be incredibly frustrating. It feels brittle, as if making a change in one part causes a bug or some negative side effect in another part that you had no idea about. You want to improve your system, but how? How do you go about this when it feels like a disaster? There is a way, and I’m going to share a strategy with you: look at your database first, you likely have database coupling that is the root cause. YouTube Check out my YouTube channel, where I post all kinds… Read More »Database Coupling: How to FIX a Spaghetti Code System

Sponsor: Using RabbitMQ or Azure Service Bus in your .NET systems? Well, you could just use their SDKs and roll your own serialization, routing, outbox, retries, and telemetry. I mean, seriously, how hard could it be?

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

10 Years of Software Architecture: Best And Worst Decisions

For the last 10 years, I’ve been developing a single product, greenfield, designing the architecture from scratch, and evolving it over time. Over this decade-long journey, I’ve made some architectural decisions I’m proud of—and some I definitely regret. Today, I want to share those experiences with you, diving deep into the good and bad decisions I made, and what I learned along the way. One theme that runs throughout my experience is the importance of isolation. How you isolate parts of your system, define boundaries, and manage dependencies can make or break your ability to evolve your architecture over time.… Read More »10 Years of Software Architecture: Best And Worst Decisions

CRUD APIs are Poor Design

I’m convinced that CRUD APIs and CRUD-driven systems—meaning systems built around Create, Read, Update, and Delete operations—are, in the long run, the hardest to change and evolve. This might sound unintuitive at first, especially since many of us have read blog posts, watched videos, or taken courses on building HTTP APIs under the guise of REST. But often, what we’re really doing is just CRUD-driven development over a database record using HTTP methods and JSON. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Beyond CRUD Ultimately,… Read More »CRUD APIs are Poor Design