Why Over-Engineering Can Hold Your Startup Back
In a recent blog post (Does Your Startup Really Need Complex Cloud Infrastructure?), Hadi Javeed argues that startups should focus on simplicity, iteration, and finding market fit and defer decisions on highly-scalable infrastructure until market demand has been established and a clear need is evidenced.
This is a viewpoint that we support, and which is a core tenet of the Lean Startup Methodology that we follow at NuBinary. Hadi’s argument is dead-on, and you should go read it if you’re doing software architecture at a startup.
Why Startups Often Choose Complexity Over Simplicity
I find it interesting how many startups go down the “over-engineered” route. I think several factors are at play:
- Young developers doing architectural work for the first time and unsure of their abilities. They don’t want to paint the employer into a corner, so that look at what the “Big Boys” do and emulate it, not realizing that the Big Boys’ designs are addressing a wholly different set of challenges that don’t apply to their startup.
- Expediency and pressure to get it done quickly, rather than doing it right. Startups need to work quickly, and it can be far easier and faster to follow an online template and spin up cloud infrastructure vs. dealing with modularity and concurrency in a monolith. This is penny-wise, pound-foolish and costs the startup in the medium term.
- Technical decisions justified by resume-engineering rather than cost-engineering are far too common. I once took over a project where half the APIs were REST and the other half were GraphQL. Three different front end caching technologies were in use. “Why?” I asked… “Oh, because we wanted to give it a try and see what it was like”. I was stunned – obviously personal development is important, but NOT at the expense of complexity and technical debt in your employer’s production application. That’s what side projects are for!
Do you have that person on your team? If not, talk to us at NuBinary. We can help.
Contact us at info@nubinary.com for more information or book a meeting to meet with our CTOs here.