Over-engineering can cripple your startup.
Here are 13 ways you can prevent this from happening.
If you are a technical solo founder or an all technical founding team you may need to read this.
Example Scenario:
Early stage startup. Tech solo founder or all technical founders. Pre PMF, little to no revenue yet.
Got an idea to ‘change an industry’ and seeking to validate that through learning from user engagement & feedback. Fully prepared to pivot as you learn more.
1: The Golden Rule
Avoid premature tech optimisation. For example: Building to handle millions of users when your goal is 100s users.
The software architecture that Netflix or AirBnB have in-place now was NOT their architecture when they started out.
2: The right software architecture depends on the context
Choosing the wrong software architecture will slow down your development velocity and increase your infra spend.
3: Focus on what matters
Define your core business metrics. EG AARRR or others.
What metrics can ensure your business survives? Not just survive but thrive. The needles you must move.
Focus your activity towards moving these needles.
4: Figure out what the hard part is
Ensure the bulk of the teams effort is focused on the hard part. As a technical founder this may not be the tech. Often for you the tech will be the ‘fun part’.
Make sure you prioritise. Up skill and / or hire to fill the gaps.
5: Avoid Magpie Syndrome or Shiny Object Syndrome
What Tech stack should you choose? What you are most productive with is usually the right answer.
Learning new tech comes at a cost of time. What is the best possible use of the time?
6: Marketing
If you think this is a dirty word you are in trouble.
If you don’t have marketing skills on your team then you are all the marketers now.
Congrats.
Same goes for sales. Upskill and / or hire to fill the gaps.
7: Fight the urge to over complicate
Leverage boilerplate or template applications, no-code, PaaS options to avoid reinventing wheels. Free up your energy to focus on what really matters to your startup. See number 3 above.
8: Avoid EGO driven development
When you make tech decisions based on what tech you want to show on your CV. This is EGO driven development.
This isn’t about you. It’s a race to tap into an opportunity.
9: If you build it…..
Developers love to build product. But building a product is a sub set of building a startup. How will you deal with managing what you need to do versus what you love to do?
10: Seek Advice
Most importantly. Seek advice from those who have been in the trenches. Such as a startup eco system. They can help you see your blind spots.
11: Embrace tech debt is a lever
Controversial. Paying off tech debt fully is for startups with validation, revenue, funding.
Take on tech debt and pay back when you can.
Better yet practise KISS, YAGNI, Clean Code to keep tech debt to a minimum
Have you earned ‘earned the right’ to deal with it?. Leverage debt and pay it off when you can afford to. If you get to that point. Congrats!
90% of startups don’t make it.
12: KIS. YAGNI
Keep it simple. You Aren’t Gonna Need It
Tip: Daily mantra to be repeated at every team standup.
13: Problem V Solution
Problem space versus solution space.
Depending on the startup stage you are at, the weight of importance slides between ‘problem space’ and ‘solution space’.
As devs we have a urge to skip the more ambiguous first (problem space) and instead jump straight into the second (solution space).
But the solution doesn’t matter if you are solving a problem no one cares about.
And how about you? How do you prevent over-engineering a startup?