Most over engineered solution EVER…

Most over engineered solution EVER…

I recently saw this “ah hem” challenge posted on X:

What is the most overengineered library/tool/framework/environment that you ever used at work? —Mario Fusco

I looked no further than my own coding experience to find an answer!

Early in my career I had read the GoF's Design Patterns.

When I read it, it was like magic! Naturally I had to use those patterns. I was that impressed by those incarnations of OOP.

So in my next project, a small one with few fellow teammates, I began using them.

All of them.

My solution was probably triple what it really needed to be.

And there was no one there to tell me that what I’d built was ridiculous.

Later on when the anti-pattern movement arose and book after book was published, I realized what a foolish decision that had been.

I have since become a bigger fan of The Poutsma Principle.

Before I explain what The Poutsma Principle is and why YOU should adopt it, check out a word from today's sponsor...


Coding isn’t just about algorithms. There’s more. A LOT more. CI, security, team communication, meetings, career tips, you name it.

I wrote 12 Rules for Pro Coders to give you actionable advice to accelerate your career. As a veteran pro coder, I want YOU to learn the same valuable lessons I did…but faster.

This advice has been put to the test. In my own process of being cut in the acquisition, I have actually leaned into what I wrote in the midst of coming up to speed on my new endeavors over at Cockroach Labs. This book can help you too.

So grab your copy and learn what your university or boot camp didn’t have time to teach you!


Now back to our regularly scheduled article.

So what, exactly, is this Poutsma Principle that you probably have never heard of?

A tongue in cheek idea, it says that if Arjen Poutsma (creator of Spring's @MVC-based web controllers and RestTemplate among others the things) doesn’t understand what you wrote, you’re probably wrong.

A more serious phrasing is to not do “cute” stuff but instead to strive to make things as simple and straightforward as possible. And if you can’t find a less “hacky“ solution, perhaps you need to hold off on your supposed “solution”.

Complex and hacky solutions only put additional maintenance on our own plate and demand further hacks and tricks to sustain it. A keen consequence of "slick" stuff is that it may be very niche in where it applies. For a solution to have a wider usage and applicability, we need to look for simpler solutions.

It doesn't mean the patterns in the GoF book were necessarily wrong. But when we look at a pattern as having universal application and forget to apply reason and analysis, we can easily get in over our head.

What about you? What’s the most over engineered thing you have done?

If you’re a pro coder or plan to become one then stay tuned for my next article. But if you simply can’t wait then check out this video where we discuss whether or not Java is actually an okay language to learn!

-Greg



要查看或添加评论,请登录

Greg Turnquist的更多文章

  • Been hacked? I have.

    Been hacked? I have.

    Taking on ALL the roles as tech support for my wife’s LLC can be a harrowing experience. Being a pro coder, there is no…

    1 条评论
  • Are you ready to commit yourself to being a pro coder in 2025?

    Are you ready to commit yourself to being a pro coder in 2025?

    Something every pro coder must embrace if they wish to truly make this more than a hobby There is a keen fact that…

    1 条评论
  • Making rookie mistakes

    Making rookie mistakes

    As a pro coder, I made a terrible rookie mistake! It was really embarrassing. Just spent three days tracking down why…

  • What are you thankful for?

    What are you thankful for?

    It was one year ago at the beginning of December that I felt a really BIG test thrust upon me. I had been let go maybe…

    3 条评论
  • The time to ditch all my Spring content...is now!

    The time to ditch all my Spring content...is now!

    I just did it. Something I've known for months I needed to do, but was afraid to pull the trigger.

  • SQL is the past...AND the future!

    SQL is the past...AND the future!

    You ever watch TRON? You know, the uber-tech world movie that all pro coders watch once a year? (Okay, maybe you SHOULD…

    1 条评论
  • Why do indexes speed up queries?

    Why do indexes speed up queries?

    There is this one question that gets bandied about all the time: "What is an index?" Sometimes in comes in a different…

    1 条评论
  • I had this strange dream

    I had this strange dream

    I imagined I was presenting some of the new content I had written for our customers. Here's the rub: we are always…

  • Do you code for profit…or for?fun?

    Do you code for profit…or for?fun?

    I don’t know how first came up with this attention-farming post, but have heard the question posted… Do you write code…

  • Something NONE of us?need!

    Something NONE of us?need!

    There is a phenomena out there you may have run into, in one form or another… The Arrival Syndrome You’ve probably seen…

社区洞察

其他会员也浏览了