Perils of Over Engineering

Ideakart
ruby-rails-tips
Published in
2 min readJun 19, 2022

As an engineer working mostly with startups over a decade, what I have realised is that too many of them are over engineering. And some of them really didn’t needed them. If you are from tech, you would definitely know what I mean. They over engineer to the point that it becomes difficult for them to continue.

There might come a point where you want to move away from monolith to micro-services, but don’t do it because that’s the ‘it’ thing right now.

Over engineering leads to multiple problems like cost, hiring, loosing the real sight of the problem, managing people and many more. I am just listing down the issues which I have lived through personally. I am writing this so that the new startup founders don’t fall into this trap early. You will know when you need it, just put the monitoring in place.

Cost

As the best practices for engineering like CI, CD, Scalability, Elasticity and all the `-ilities` of software architecture, all have substantial cost associated with them. If you are not careful the cost can start giving you headaches, choose very carefully and invest wisely. Your processes should do justice to the money you are investing.

Hiring

Hiring is not easy, and the retention is even harder. As you start to over engineer you will start to move to micro-services, any one who has worked on micro-services know how hard they are to manage, how many people it needs even for a small domain. And specifically the agility comes from having teams working on their respective domains. But if done earlier then needed, it can lead to chaos.

Loosing Real Goal

The real goal of a startup is to be profitable, this charade of we need scale/funding to be profitable is not true in most of the cases. Yet we do it. If your entire team is focused on scaling, however, if that is not aligned with the profit making, then something is really wrong.

I have found very few people who care about the `why`, but more who care about the `what`. If you have people in your org belonging to second group, make sure you create a culture where they can start to move to the first approach.

All big companies, we hear of like Amazon, Netflix and others, only moved to those architectures, because there was a need. Don’t make it a necessity, like them you will also know when to do it, until then focus on profit and building great team culture.

I know as an engineer, our heart tells us to learn new things always, but that should be in alignment with the business, focusing on both early on, can make you lose both.

Again I am reiterating, do it only when you need it, not after not before.

--

--