DEV Community

Kodengo
Kodengo

Posted on

Let me setup the database migration for the deployer of the code generator for the class for summing integers.

How do you know if you have overengineered a solution?

Top comments (3)

Collapse
 
andrewlucker profile image
Andrew Lucker

Over-engineering and clown-engineering are different. The latter is more common.

Over-engineering is only caused by anticipating things that will never happen. "But will it scale?"

Clown-engineering is ridiculous stuff that no one needs but does anyways. "Have you heard the good word about Hadoop?"

Collapse
 
kodengo_com profile image
Kodengo

Very good observation. I like the distinction between the two :)

I'm still struggling explaining to people the difference between the two and I cannot think of a smart approach of explaining that the system os clown-engineered rather than overengineered.

Collapse
 
andrewlucker profile image
Andrew Lucker

I wouldn't use that term professionally. It's likely to cause undue friction.

If you really want to unravel clown-engineering then play the 5-year-old card: why? why? why?

The more sincere your questioning (be creative, don't just ask "why?", but hide it in a more technical question), the less likely people are to get offended. The end result is the same: people run out to the end of their rope and can't explain why anymore. First get people frustrated with the current state of things, then ask if it can be improved or simplified.