Are you over-engineering? Move ahead with your Best known Answer

Harsh Vitra
3 min readJan 20, 2023

--

Engineers often get into the cycle of over-engineering. And this mostly happens to the ones who get really good at engineering.

When you have multiple solutions to the same problem you get stuck with “Choice overload” (when given more options to choose from, people tend to have a harder time deciding, are less satisfied with their choice, and are more likely to experience regret.)

Another thing that happens is when you stop thinking about urgent and important problems and think about this time in the future when your solution will take care of everything.

(Image: XKDC)

Over-engineering leaves you in a deadlock where you have to spend time trying to optimize the code again and again before shipping it, thinking about all the other possible solutions out there.

You are not wrong.

  • Yes, there are multiple different ways of doing it
  • Yes, there will be more optimized options
  • Yes, this may not handle all the different related use-cases

One of the most important things you should know about engineering is that you have to move ahead with the Best known Answer

Why?

  1. Because there are endless possibilities, and the environment keeps changing — you will never achieve your one final answer.
  2. There is a lifetime for your piece of code, even if you write the most durable code, it is possible that in the span of 2 years someone or you yourself will modify it and replace it.
  3. The world is changing too fast too soon. So even if your code is durable the business needs will change and you will have to update your code.

So here’s a hack — If something is working in different iterations, with important use cases, satisfies your requirements, and provides the necessary output you need — Move ahead with it, this is your best-known answer.

And it’s not just about engineering, it’s the same with any other discipline of science.

What is the speed of light, is it 299,792,458 m/s?

You think we know the what is the speed of light, but we don’t. We just know the speed of light in a round trip.

This is what Einstein mentioned about the speed of light —

(Learn more about it here — https://youtu.be/pTn6Ewhb27k)

But we have the best-known answer. And we have been doing all the other calculations based on that.

We even calculate the length of a meter using the known answer of the speed of light, and then we use the length of the meter to calculate everything else.

But this didn’t stop Einstein and other scientists to use the known speed of light and conducting further applications and building systems using those calculations. They moved ahead with their best-known answer.

So whenever you overthink or over-engineering your solution, find your “Best known answer” and move ahead.

Tell yourself — “Hey, I know you can do better, but today we need to move ahead”.

And remember this is not about creating a solution that will add to your technical debt later, more about that in some other post.

Hope this helps solve your Over-engineering cycle.

--

--

Harsh Vitra
Harsh Vitra

Written by Harsh Vitra

Problem Solver ★ Love to make things simple ★ Designer ★ Developer

No responses yet