Дисклеймер: статья написана лично мной и затем отредактирована с помощью нейросети — для исправления ошибок и улучшения стиля.

В процессе поиска работы я изучил множество вакансий, и в подавляющем большинстве среди обязательных требований значились знание паттернов проектирования, принципов SOLID и прочих «столпов» правильной архитектуры.

На собеседованиях меня нередко просили не просто рассказать о SOLID, а буквально расшифровать каждую букву и объяснить её смысл.

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

На практике обычно встречаются две крайности.

Первая — полностью хаотичная архитектура, где каждый писал «как чувствовал», без единых договорённостей и понимания общей картины.

Вторая — не менее болезненная: кодовая база, перегруженная паттернами и абстракциями ради самих паттернов. Когда простая задача — например, прокинуть новое поле из пункта А в пункт Б — превращается в квест с правками десятка DTO, мапперов, интерфейсов и сервисов. А затем ещё приходится тратить час, чтобы понять, в каком именно месте ты забыл внести изменение и почему данные так и не добрались до нужной точки.

Ирония в том, что и в первом, и во втором случае страдает одно и то же — здравый смысл.

Со временем начинаешь задаваться вопросом: а существует ли она вообще вне презентаций и докладов на конференциях?

Идеальная «чистая архитектура» часто выглядит как красивая концепция, но в реальной жизни почти недостижима. Причина проста — бизнесу, по большому счёту, безразлично, насколько элегантно устроен код под капотом. Ему важно, чтобы конкретная фича была реализована в срок и приносила результат.

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

В итоге разработка почти всегда становится компромиссом между «как правильно» и «как успеть».
И вот в этом балансе, как ни странно, и проявляется настоящая инженерия — не в следовании догмам, а в умении принимать взвешенные решения в условиях ограничений.


А вам доводилось видеть ту самую легендарную «чистую архитектуру»?