Один раз я написал статью о том, как увлечение новым языком программирования спасло меня от выгорания. Её прочитало много людей, и меня позвали работать в стартап. Предложение было заманчивым, ребята звали меня делать реальные вещи, а не абстрактное дерьмо. Я согласился.
Почему это должно быть откровением? Это даже логично. Сначала, для проверки идеи, фигачится код напропалую, лишь бы работало. Твоя задача, как бизнеса, в этот период вложить как можно меньше а выхлопа получить как можно больше. Затем, когда бизнес взлетает, прототип становится продакшеном, появляются деньги, можно рефакторить и улучшать, распиливать монолит, перекраивать архитектуру, средства на это уже должны быть, а новые фичи тупо сложно будет внедрять из-за кривой архитектуры. Просто всему свое время, хороший программист тем и отличается от плохого, что он понимает, в какой период развития бизнеса какая архитектура и подход уместны. Можно месяцами рожать идеальную архитектуру и ничего не делать, а твои конкуренты тупо займут нишу на рынке. Есть другая крайность - делать лажу в нормально построенной системе, при том, что бизнес откровенно говорит, что делать надо нормально. И опять же, в большинстве случаев "нормально" значит расширяемо.
Можно месяцами рожать идеальную архитектуруа потом понять, что 9 из 10 гипотез были неверными и этот функционал не нужен.
'начала, для проверки идеи, фигачится код напропалую, лишь бы работало'
MVP это все же 'Valuable Product', пусть и 'Minimal', достаточно странно иметь отношение к продукту на уровне 'лишь бы работало'.
Ну и потом есть определенная недооценка масштаба: что-то похожее на продукт создается за год-полтора работы, это легко может быть 150-100к строчек кода, что уже нужно как-то сопровождать.
Это только потом, если продукт станет успешным можно будет вешать окружающим лапшу на уши: 'делали мы в подвале, на коленке, беременные тремя детьми и питаясь дошираками. Страдали и молились'.