Tural Asgarov’s Post

View profile for Tural Asgarov, graphic

Senior Software Engineer / Developer educator

Something I tell all my consulting clients - if you can work productively with the codebase, then it’s clean enough, even if it doesn’t follow all the principles you read about. The sole purpose of software design is to help you maintain the codebase. Applying DDD to the letter means nothing you have to spend more time thinking about the proper structure than the features you’re building. I can't stress this enough. Not everything has to match a specific design pattern. Not everything has to be a part of a complex class hierarchy. Not every domain can be modeled after a specific architecture Architecture is a means to an end, not a goal on its own. The reason we try to make our codebases cleaner, more understandable, and easier to work with is so they can be maintained over a long period of time. You'd never refactor a bash script that you have to run once. Why? Because you'll never have to look at it again. Your codebase, however, can live for years. But in our attempts to make everything better, cleaner, and structured, we stray away from that idea. Time and time again, I see teams struggle because of over-engineering rather than under-engineering. Eşq olsun Alexander Kondov!

To view or add a comment, sign in

Explore topics