в целом я за подход: серебряной пули не существует, каждой задаче - свой инструмент. А если идеализировать, то согласен с позицией Тимура. В частности, PostgreSQL действительно очень крут и универсален, ActiveRecord - от лукавого и т.д. А в реалии все равно будет так: есть бизнес задача, есть бюджет, сроки, требования - вот и делай, вертись крутись, создавай scalable architecture, если можешь\время есть. Это, если ты можешь принимать подобные решения. А если нет, вот стек такой-то, используем express, делай как старший велит. GRASP, SOLID? Да круто, используем конечно, но, чувак, вот эту задачку надо еще вчера было сделать. Давай пили как получится, а потом отрефакторим, может быть...
А все почему? да ниша такая у js (многими архитекторами так воспринимается поныне). Минимальными вложениями, решить бизнес-задачу. А там уже если выстрелит, переписать на "нормальном" языке.
Опять таки, без абсолюта, не всегда и не везде так.
И вот тут приходит Тимур со своим видением правильного.
Да, ребята, кто уже с опытом, видят спорные моменты.
Однако, Тимур, плохого то не говорит, только полезное, все по полочкам и через призму своего опыта.
Поэтому, мое мнение, если вы "джуниор" или начинающий "миддл", просто учитесь у него, запоминайте. Если побывали в бою и тертый калач, то у вас свое обоснованное мнение по тем или иным вопросам. И вы уже САМИ способны все взвесить и принять обоснованное решение как должно быть У ВАС в проекте.