Давай я про себя пример приведу, а ты мб скажешь как делать лучше или как ты делаешь
Когда есть новая задача, я обычно смотрю
- на саму задачу
- людей (которым с этим работать)
- сроки
- дальнейшую поддержку
- какие есть наработки
И вот бывает, что какие-то факторы намного важнее других
Если очень сильно жмут сроки и задача важная (ее нельзя отменить) - можно и большого монстра из готовых наработок запустить, или руками что-то зафигачить без git & Ansible))
Или вот у меня был вопрос, тащить ли Куб в проект
Пока не пришли ещё люди, готовые поддерживать куб, я его не хотел использовать, т.к. после моего вероятного ухода из проекта его некому было бы поддерживать
Больших монстров из готовых наработок я повыкидывал. Потратил больше времени, чем мог бы, не будь тут этих монстров вовсе. Потому что эти монстры представляли из себя очень спорные технические решения, были непрозрачны в плане поддержки и требовали куда больше времени на постоянные хотфиксы/расследования, чем "выкинуть и сделать нормально". Мой опыт каждый раз показывал, что абсолютно любое "быстрое, временное, ради сроков" решение в конечном итоге оттянет на себя просто пропасть времени. И в конечном итоге все равно будет потрачено время на то, чтобы сделать нормально. Так почему бы не пропускать часть с поеданием кактусов?
У меня не горит сейчас жопа и я не испытываю давление при моих подходах. Просто за счет того, что экономлю многие часы на разговорах с разработкой каждую неделю. У меня имеется опыт программирования на nodejs, jquery, использовал несколько фронтовых фреймворков, писал много автоматизации на питоне, делал веб-приложения на django и, прости господи, php. Все это позволяет мне не задавать лишние вопросы разработке. Я и сам прекрасно вижу что там может сломаться и о чем мне пытается сказать java своим километровым трейсбеком.