Что значит думать как архитектор? Подписчик по праву задал этот вопрос. Я часто на это ссылаюсь в канале, но кажется здесь никогда еще подробно не отвечал.

Это значит: 1. Фокусировка на том, что действительно важно 2. Tradeoff анализ Плюсы и минусы альтернатив. 3. Прагматичный взгляд. Понимание, что лучшие практики и паттерны – это хорошо, но они просто инструменты, которые в реальности очень часто мало применимы. Современная распределенная архитектура – это не монолит или микросервисы. Это комбинация кучи паттернов и не паттернов. 4. Объективная рациональность в принятии решений (decision).

Приведу пример мышления разработчика и архитектора (взято из одного пазла). Нам нужно разработать систему, где будут храниться аватары пользователей. ➖Разработчик положит эти аватары в S3 хранилище. Ведь это "наиболее эффективный способ и всегда так делают". ➕Архитектор положит аватары в уже сущестующий PostgreSQL, потому что они редко меняются, укладываются в лимиты и современные БД с файлами умеют прекрасно работать – это позволит значительно упростить систему. Разработчик скажет на это – да это ведь антипаттерн использовать БД для хранения файлов, архитектор у нас странный какой-то.

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

Если в компании никто не обладает мышлением архитектора, то компания плывет от тренда к тренду, от паттерна к паттерну. Состояние постоянного шторма.