В настоящий момент уровень проектирования в индустрии, в среднем, очень невысок. Многие фокусируются на реализации, забыв задать себе вопрос, для кого это делается.

Этот уровень хорошо демонстрируется публичным вопросом (цитата):



"Итак, предположим есть куча микросервисов. Один из них работает с юзерами. Предположим пришел новый сотрудник, мы сделали нового юзера. Как только это произошло, надо запустить кучу других процессов. Например: надо отправить нового сотрудника на Security Training, после этого ему можно дать доступ в сеть, выдать ему комп, создать аккаунт и все такое. Это мы сделаем через workflow. Но есть функционал, который можно направить в сервис прямиком. Например: вдруг выяснилось, что дата рождения была неправильно записана, надо ее просто изменить, просто тупо изменить данные в таблице. Итак, возникает такая маленькая проблемка: иногда нужно перехватывать вызовы к микросервису и стартовать workflow, а иногда можно и просто вызывать сервис. Где хранить эту логику?"



Здесь в картине мира разработчика нет ничего, кроме "какого-то" кода и "микросервисов", под которыми понимаются произвольно размазанные по узлам сети компоненты приложения