Не пытаюсь наехать, если что) Я узнал много интересного из ваших вебинаров про "выйди и зайди", спасибо за это.
Хабр, линкедин и гитхаб не дают особого представления о том какими коммерческими проектами на ноде вы занимались) Да, вы контрибьютите в ноду - мое почтение. Impress - выглядит круто, но почему-то не взлетел, увы.
Просто вы делаете очень серьезные заявления, например о том что нам всем нужно выкинуть монгу и использовать только постгрес. Но львиная доля бекенда на ноде это сервисы пилящиеся парой человек с десятоком crud эндпоинтов, базой на несколько гигов, сотней запросов в минуту и авторизацией на основе нескольких ролей. И есть ли смысл упарываться правильностью паттернов? Да, код должен быть чистым, solid нужно стараться применять, dry и kiss наши лучшие друзья. Но точно ли мы должны выкинуть express, mongoose, passport, nodemon и прочее ради эфимерной "правильной архитектуры"?
Вопрос о долженствовании отсылает к проблеме авторитета: религии, государства, общины, индивида. Вы либо признаете авторитет указанных институций/индивидов и делаете согласно их предписаниям, либо нет. Шире – следуете одним предписанием и игнорируете другие.
Если кратко – вы ничего никому не должны. Это ваш собственный выбор – делать что-то или нет.
Тут вопрос в другом. Нужно ли это все лично вам?
Нравится вам работать на проектах, где люди не задумываются об "эфемерной 'правильной архитектуре'" и используют монгус и паспорт – ваше дело.
Нравится работать с нетипизированным кодом – тоже отлично.
Однако, помимо проблемы личного отношения существует еще проблема профессионализма.
Быть профессионалом (помимо сугубо технических навыков) – говорить на одном (мета)языке с другими профессионалами.
Это как в академической среде: какими бы ваши мысли не были "умными", если вы не соблюли формальные правила написания научной статьи – всем будет плевать. И это хорошо!
Как пример: чтобы использовать ангуляровские сервисы не обязательно знать, что такое блум фильтры, или как работает их DI фреймворк.
Чтобы писать на экспрессе, и шире – на ноде, не обязательно знать шаблоны проектирования, системные ЯП и сетевые протоколы.
Можно быть вполне себе веб-девом (и таких немало!), обходясь без вышеперечисленного. Этого вполне может быть достаточно для того, чтобы получать удовольствие (и даже деньги) от написания (говно)кода на коленке на 10 круд эндпоинтов.
Делает ли это вас плохим человеком? Нет.
Делает ли это вас плохим специалистом? Да.
Вот и вся разница. И должен/не должен здесь не причем.