Software architect
Сразу к самооценкеМеняется горизонт: отвечаете не за свой модуль, а за систему целиком и за то, что её можно будет менять годами.
Сделать сейчас
- Записываю выбор архитектурного стиля вместе с его ценойМогу объяснить, почему здесь модульный монолит, а не микросервисы.
- Провожу границы по предметной области и проверяю их языком бизнесаМои модули совпадают с тем, как заказчик рассказывает о своей работе.
- Называю места, где согласованность не мгновенная, и что видит в этот момент пользовательЗнаю, где данные расходятся, и это описано, а не подразумевается.
- Возвращаюсь в код своей системы регулярноЧитаю и правлю то, что спроектировал, а не только рисую схемы.
Куда дальше
Вбок из роли
Что на ступени спрашивают
Выбираю архитектурный стиль под задачу и знаю его цену
Могу объяснить, почему здесь модульный монолит, а не микросервисы.Записываю решения так, чтобы их можно было пересмотреть
У каждого крупного выбора есть ADR с контекстом и условиями пересмотра.Провожу границы по предметной области, а не по слоям кода
Мои модули совпадают с тем, как бизнес думает о своей работе.Понимаю, что делает распределённость с данными
Знаю, где у нас согласованность в конечном счёте, и что видит пользователь в этот момент.
Обычные ошибки
- Проектировать по моде: микросервисы без нужды достаются команде вместе с распределёнными отказами.
- Оторваться от кода: схемы перестают совпадать с системой, и выясняется это на инциденте.
- Оставить решение без условий пересмотра: его отменят молча, и никто не вспомнит почему.
Что учить
- Проектирование системАрхитектурные паттерныDomain-Driven DesignРаспределённые системы