Technology is a detail
I feel lost when I look at a project and all I see is technology. Technology is the enabler of business goals, but it’s only a detail. This looks like a paradox so bear with me.
📝 Since we’re talking about software, everything is technology. To avoid confusion, when I say technology I mean the things that are outside the scope of your business domain, like databases, queuing systems, I/O, interacting with APIs, frameworks, etc.
Technology is pervasive and can hinder your codebase. However, many of us are technology evangelists so it’s easy to fall into that trap on a new project. Fast forward a few months and all you see are HTTP filters, monitors, JSON, command handlers, SQL, etc. Now look at your code, take a step back, and think about how you can make technology just a detail. Push it to the boundaries. Don’t let it take control of your codebase.
Don’t get hung up on the tech! Choose tools that are appropriate at the time and be prepared to change them when you need to. Design, approach, patterns and techniques matter much more, and last much longer, than specific technologies. Continuous Delivery Pipelines
Screaming architecture is one of my favorite practices. When you browse a codebase, it should be…