It does not take more time to design properly from the get go.
That, of course, assumes you have a CTO and a team capable of their job :)
It does not take more time to design properly from the get go.
That, of course, assumes you have a CTO and a team capable of their job :)
What usually happens is the first thing you build is wrong, and you need to iterate aggressively on not just the software but the entire business concept. Once you have product-market fit, then you are in a position to design an optimal architecture. If you go microservices before that, you are adding unjustifiable overhead, which will inarguably slow you down compared to a monolith when you are in the 1-3 engineer phase, and don't fool yourself about that.
It will all come down the the experience of the team, esp. the leadership - the managers, the leads.
A strong, experienced, mature and effective leadeship will enable a team to perform "magic" and set the right technology foundation that will prove its worth as the business grows over time
Building something quickly that can be broken up over time is the best way to an MVP, and you can deal with scalability issues when you HAVE scalability issues. I consider scalability to be a good problem to have, because by that time you have actual traction.
If you are a bigco with a big marketing budget in a field in which you already have experience and business then by all means scale to millions of users at day one. Don't take on the cost of it in a startup, because the problem is TRACTION not technology with regards to scaling.
Designing and building for scalability, flexibility, availability, etc does not mean going all out to boil the ocean and then find that you attempted to boil the wrong ocean.
If that did happen, you got the wrong team :)
You're making fantastical, hand-wavy claims that belie the hard tradeoffs that need to be made to get a startup off the ground. Microservices absolutely add complexity and require more effort to set up correctly and orchestrate, pretending that experienced leadership makes that problem go away is dangerously idealistic. What experienced leadership gives you is good judgement on whether the overhead is worth it given all the factors at play.
The way you speak about the team, and different roles makes me thing you've maybe worked at "startups" that are actually established businesses with traction which like to retain the mythology and allure of being a startup (perhaps to justify lack of profitability). Things are very different in a true startup where the tiny handful of employees all must wear many different hats.