Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

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

STOP Over-Engineering Software!

Can we, as application developers, stop over-engineering software? I hate to use the term engineering even to describe it! I’m guilty of it too. I was writing “clever” code that was overly complex, hard to understand, and hard to change. Here are some of the pitfalls I see and what I think about to guide me down a more straightforward path. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. “What if” Game One of the traps I think developers can get into is playing the “what… Read More »STOP Over-Engineering Software!

Data Partitioning! Don’t let growth SLOW you down!

Why would you want data partitioning? Data keeps growing. Hopefully, you’re working on a system with active customers with a good lifespan! If so, the amount of stored data will keep growing over time. The challenge can be managing data growth, which can start to impact performance. I will discuss ways to use this data and strategies to avoid it affecting performance. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Multi-Tenant In a multi-tenant application, there are multiple ways to silo data. First, you can use… Read More »Data Partitioning! Don’t let growth SLOW you down!

Event Choreography for Loosely Coupled Workflow

What’s Event Choreography Workflow? Let’s back up a bit to answer that. Event Driven Architecture is a way to make your system more extensible and loosely coupled. Using events as a way to communicate between service boundaries. But how do you handle long-running business processes and workflows that involve multiple services? Using RPC is going back to tight coupling, which we’re trying to avoid with Event Driven Architecture. So what’s a solution? Event Choreography. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. RPC So why not… Read More »Event Choreography for Loosely Coupled Workflow