Добавлю 5-ый пункт в план по поиску решения:
Если решение не очевидно или интуиция подсказывает, что вы придумали «не красивого монстра, которого мы потом отрефакторим» — то не надо боятся показаться некомпетентным, а стоит открыто вынести проблему на обсуждение с командой, друзьями (причем иногда бывает полезнее обратится не к профильными IT-шникам, а к технически грамотным людям из других сфер — они еще не испорчены шаблонами, платформами, фреймворками). Во-первых вы получите другие точки зрения, во-вторых разделите ответственность за выбор. И самое главное — пока вы будете объяснять кому-то суть проблемы и доказывать свое решение — скорее всего вы сами сделаете верный выбор.
Добавлю 5-ый пункт в план по поиску решения:
Если решение не очевидно или интуиция подсказывает, что вы придумали «не красивого монстра, которого мы потом отрефакторим» — то не надо боятся показаться некомпетентным, а стоит открыто вынести проблему на обсуждение с командой, друзьями (причем иногда бывает полезнее обратится не к профильными IT-шникам, а к технически грамотным людям из других сфер — они еще не испорчены шаблонами, платформами, фреймворками). Во-первых вы получите другие точки зрения, во-вторых разделите ответственность за выбор. И самое главное — пока вы будете объяснять кому-то суть проблемы и доказывать свое решение — скорее всего вы сами сделаете верный выбор.