Premature Optimization - Design

There’s something wrong with the Java mindset.

Everything needs to be a freaking interface. Everything is designed to have modules plug in and out of a system. Spring is the embodyment of this broken philosophy.

Here’s the thing: swapping out core modules of a system simply does not happen. I’m sure there has been something where it’s happened, but in all my years of programming in Java, since virtually the beginning, I’ve never actually seen it myself.

People deceive themselves that their system is going to be the one. Everything is super modular.

Modularity comes at a cost. It comes at the cost of time. Time during the design process. Time during coding the more complex system. Time maintaining the code as it ages. Time to teach the complex freaking system to new hires. Hell, even time at runtime as the CPU needs to work through the additional layers of abstraction.

There is no win here.

It’s just self-congratulatory mental masturbation proving that “oh look, I’m so smart.”

Take a step back.

Maybe doing something simpler is actually the smart thing to do.

Previous
Previous

AI and Winning

Next
Next

I love the later sunsets