Agreed, or found out there is no market and never used. This is a constant battle I have with the more pure engineers in a startup. Speed to feature release to allow marketability to be proven is #1. Only after it is proven, can you start to add better design. I'm even a fan of doing some process manually until it's untenable. By then I have a proven process, and know what parts need to be automated and scaled.
Of course this is different in established companies or those projects beyond the typical CRUD app.
Right, that's why there is a lot of time pressure. You start with 20 or so different overlapping ideas in your head that each might or might not be viable, and then it's a race to see how many you can get through before running out the clock.
To me though this is a strong case for why total cost of ownership matters. If your startup's chances for success are determined by how many ideas you can try out in the market before running out of money or whatever, then why wouldn't you want a codebase that makes it as fast and easy as possible to transition from one variant of the idea to the next? To me that is a form of technical excellence.
Yeah, it’s often treated as a binary proposition, when in reality it’s about the right tradeoffs just like anything else. One problem in SV culture is tenures are too short and there is too much boom/bust with rapid hiring and layoffs. When you actually stick around to see long-term impact of technical decisions you start to develop a sense for which things matter and where it makes sense to cut corners versus where you are painting yourself into one.
Agreed, or found out there is no market and never used. This is a constant battle I have with the more pure engineers in a startup. Speed to feature release to allow marketability to be proven is #1. Only after it is proven, can you start to add better design. I'm even a fan of doing some process manually until it's untenable. By then I have a proven process, and know what parts need to be automated and scaled.
Of course this is different in established companies or those projects beyond the typical CRUD app.