Запомни одну важную истину — код можно переписать, а архитектурные решения живут долго и ломаются без предупреждения.
Поэтому мы собрали для тебя гримуары, которые учат думать о системе целиком.
Возьми их с собой, они еще обязательно пригодятся. Читай по уровню силы и в процессе следи за своей маной:
🔮 Базовые заклинания
Роберт Мартин — «Чистая архитектура»
Чтобы понять, что архитектура это не про фреймворки, а про границы, ответственность и направление зависимостей. Даёт язык для обсуждения архитектуры в команде.
Саймон Браун — «Software Architecture for Developers»
Коротко и по делу: как думать об архитектуре, не утонув в схемах.
Сэм Ньюман — «Building Microservices»
Хорошая вводная в распределённые системы: что в них реально усложняется и почему микросервисы — это выбор, а не апгрейд.
Дейв Фарли — «Современная программная инженерия. ПО в эпоху аджайла и непрерывного развёртывания»
Основная идея книги в том, что программирование — это не магия, а инженерная дисциплина, основанная на научном методе. Понятия «хорошей» архитектуры и качества Дейв сводит к двум базовым вещам: управлению сложностью и поддержанию скорости изменений.
🎬Кстати, у Дейва есть отличный канал на Ютубе.
🪄Сложные чары
Сюй Алекс — «System Design. Подготовка к сложному интервью»
Эта книга не только про интервью. Она учит структурировать рассуждения, задавать правильные вопросы и объяснять решения так, чтобы вас понимали.
Крис Ричардсон — «Микросервисы»
Про реальную стоимость микросервисов, компромиссы и сложности, о которых обычно забывают на старте.
Нил Форд, Марк Ричардс, Прамод Садаладж и Жамак Дехгани — «Software Architecture: The Hard Parts»
Про самые неудобные вопросы архитектуры: где провести границы, когда разделять систему и какие компромиссы действительно важны.
🧙♂️ Высшее искусство
Мартин Фаулер — «Patterns of Enterprise Application Architecture»
Многие паттерны из книги вы уже встречали в проде, просто не знали, как они называются. Помогает систематизировать опыт и лучше понимать чужие решения.
Нил Форд, Ребекка Парсонс, Патрик Куа, Прамод Садаладж — «Эволюционная архитектура»
От ребят из Thoughtworks. Главная идея: архитектура должна жить и дышать, а ключ к этому fitness functions, которые автоматически проверяют, не ушли ли вы в отрыв от заданных характеристик системы. По сути, авторы предлагают заменить скучные code review и архитектурные комитеты железобетонной автоматизацией. Местами книга напоминает экскурсию по инженерной кухне Thoughtworks с разбором реальных кейсов, что реально полезно.
Ли Атчисон — «Architecting for Scale»
Про мышление архитектора: как думать о росте, изменениях и последствиях решений ещё до того, как появляются проблемы.
☠️ Запретный том
Лен Басс, Пол Клементс, Рик Казман — «Software Architecture in Practice»
Сложная, плотная, не развлекательная, но именно она чаще всего оказывается ответом на вопрос «а почему мы вообще так сделали?».
А какие книги или материалы помогли вам больше всего? Делитесь своими рекомендациями в комментариях!
