Few months into a consultant job with a young A-round start-up job here in the states, i have discovered that several bad architecture decisions were made years ago by senior programmers that means their product wont scale without massive amounts of re-engineering. Simple stuff, lack of cloud architecture, zero capacity planning, low test coverage, no redundancy/load-balancing.
As the customer base grew, my daily job has moved from building out functionality, to keeping the server going for 24 more hours in the face of load issues, and the development team seem transfixed on building out new features instead of addressing the underlying rot.
A lot of me is fearful that the company is buying time until the founders can exit, and pass the problem on to the new owners.
In this position, do you stay, and hope the company wakes up to its scaling issues (that management are more than aware of), do you take it on yourself to engineer the fix with no support and risk owning the new design, or do you walk away from the project, knowing its doomed to fail if it carries on its current trajectory?
A startup with a product users love but creaking infrastructure is better off than one with excellent infrastructure and a product that's a dog.
Startups with both a product users love and excellent infrastructure? A lot rarer than you might think, especially at this stage.