📌
Что почитать программисту? Подборка из 15 книг. Часть 3Чистая архитектура. Искусство разработки программного обеспеченияАвтор: Роберт Мартин
Английское название: Clean Architecture. A Craftsman's Guide to Software Structure and Design)
Уровень: любой
Роберт Мартин объясняет, почему самое важное свойство систем — это их способность изменяться под новые требования и условия. Обеспечить эти изменения помогает подходящая архитектура.
Автор начинает с основ — объясняет, что такое зависимости, поток данных и связанность компонент, как писать чистый код. Затем — переходит к архитектуре, её роли и подходам к её проектированию.
Книга написана простым языком, поэтому будет полезна не только разработчикам и архитекторам, но и всем, кто работает с техническими командами. Например, менеджерам и системным аналитикам.
Современный подход к программной архитектуреАвторы: Нил Форд, Марк Ричардс, Прамод Садаладж и Жамак Дехгани
Английское название: Software Architecture. The Hard Parts. Modern Trade-Off Analyses for Distributed Architectures
Уровень: middle
Чтобы развиваться, важно понимать не только как работает фрагмент кода или программа, но и как выглядит архитектура системы и взаимодействуют её компоненты. На примере вымышленной команды авторы разбирают, какие есть подходы к проектированию систем и для каких задач их применять. Например, чем отличается монолитная архитектура от архитектуры на основе сервисов и микросервисов.
Software Engineering The Soft PartsАвтор: Адди Османи
Уровень: новичок и middle
Автор делится выводами, которые он сделал за 10 лет работы в Google, и даёт обзор на софтскилы, важные для разработчиков. Например, как принимать решения, использовать в разработке навыки из других областей, обучаться через опыт, общаться с другими специалистами. Может стать первой книгой о карьере разработчика в библиотеке.
Предметно-ориентированное проектирование (DDD). Структуризация сложных программных системАвтор: Эрик Эванс
Английское название: Domain-Driven Design: Tackling Complexity in the Heart of Software
Уровень: опытный
Автор рассказывает о проектировании систем в условиях, когда мало информации о том, какими они должны быть. В реальных проектах действительно не всегда понятно, с чего начать и как действовать. Эванс рассказывает, как бороться с неопределённостью. Он пишет, что тесное сотрудничество разработчиков друг с другом и с бизнесом поможет создавать эффективные и предсказуемые системы.
Программист-фанатикАвтор: Чед Фаулер
Английское название: Passionate Programmer
Уровень: новичок и опытный
Книга о том, как разработчику развиваться и строить карьеру. Фаулер даёт советы, как не пускать всё на самотек, а ставить и реализовывать карьерные цели более осмысленно.
👉
@bfbook