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

Avoiding a Legacy Codebase. Keep it Evergreen

Nobody wants their codebase to turn into a brownfield mess legacy codebase having to use outdated technology. Here are 3 tips for keeping your codebase evergreen. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Understanding Stability and Advancements How do you keep your codebase Evergreen and avoid it being a legacy codebase? Let’s say you recently started a greenfield project, and you know it will be maintained over the years, adding new functionality. You don’t want it to turn into legacy or something that’s considered brownfield.… Read More »Avoiding a Legacy Codebase. Keep it Evergreen

Never rewrite code?

Is it a bad idea to rewrite code or an entire system? At some point, developers want to rewrite for various reasons. Often, it’s because we simply don’t understand the existing codebase or think it’s a tire fire. But is the benefit there? Sometimes, yes. Sometimes, no. It’s a pretty nuanced topic around cost/benefit. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Rewrite When it comes to software development, the debate over whether to rewrite code never ends. Some developers always want or have the urge… Read More »Never rewrite code?

You’re not as loosely coupled as you think!

When you hear tight coupling or being loosely coupled, what does that even mean? There are many aspects to coupling that you need to think about. Temporal, Data Schema, Location, Technology. Removing one aspect usually involves having to deal with a whole new set of problems. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Technology Coupling When it comes to building better software systems, managing coupling is at the forefront. Many developers often think about coupling primarily in terms of dependencies; for instance, how system A… Read More »You’re not as loosely coupled as you think!