The one thing people seem to be focusing on these days is patterns. If you have a problem there is probably a pattern to fix it. Patterns also come in different flavors. Architectural, design, UX, … You name it and we will find you a pattern for it.
The problem seems to be that most people first find a pattern and then try to solve all their problems with it. Then decide it doesn’t work for them and decide never to use that pattern again because by now the pattern has become an anti pattern.
Have you ever tried DDD? Have you ever seen how poor it can perform? Have you ever tried making it perform better and then come to the conclusion that you are no longer doing DDD like it was meant to be? Did you read the part in the book that says DDD is no suitable for all projects? I see a pattern there.
MVC is bad let’s invent MOVE and use that, or better yet let’s use MVVM.
People seem to start of with a pattern and then build their software around that and then they start hitting some walls and they build ladders to get around those walls. And then instead of getting a maintainable app you get a big mess, because you are trying to use a pattern for a problem that it wasn’t meant to solve.
Before you use a pattern you better make sure you have a problem that needs fixing.
CRUD apps aren’t a problem that hasn’t been solved before, but I see so many attempts to find yet another way of solving it. Most likely because it is just boring.
Patterns are there to solve common problems but it seems that people are just creating problems so they can fit their pattern to that.
KISS is so much more maintainable then adding layer upon layer of abstraction.
And don’t forget you are writing software so you can add value to the business side of things and not to boost your ego.
Just some ramblings of an old man.