📌Что почитать программисту? Подборка из 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