Общее описание
Небольшая книга, состоящая из примерно 8–10 ненумерованных глав, каждая из которых покрывает 2–3 небольшие темы. Изображений в книге нет, ровно как и кода, диаграмм, блок-схем или любого другого типа материала за исключением текста. Книга читается довольно легко и быстро.
Краткий обзор
Первая глава, которая так и называется «Введение», состоит из того, что автор делится своей историей становления как разработчика, отмечая ошибки и уроки, которые легли в основу профессионального опыта. Описывается, что одного знания языка программирования недостаточно и нужен комплекс компетенций, включая методологии и инструменты. Поднимается проблематика замкнутого круга, в котором компании не принимают неопытных специалистов, а без работы невозможно получить опыт. Основная цель главы — настроить читателя на системную работу над развитием карьеры.
Глава «Проект и задачи» показывает, как организовать рабочий проект: структурировать задачи и роли участников, уделяется важное внимание документации.
Далее идет глава про проектирование программного обеспечения. Здесь описывается важность архитектуры, выбора шаблонов и паттернов проектирования и инструментов. Акцентируется внимание на выборе в зависимости от требований проекта. Главное — понимать не просто синтаксис, а подходы и парадигмы, лежащие в основе выбранного языка.
Далее идет глава про управление версиями. Здесь про Git, но и не только.
Глава «Качество кода» затрагивает и обсуждает стандарты кодирования, code review и рефакторинг.
Далее идет глава про тестирование программного обеспечения и важность тестов для надёжности продукта.
Одна из последних глав посвящена интеграции и поставке ПО. Разъясняется CI/CD и DevOps.
Завершается книга методологиями разработки ПО. Обсуждается Agile, в том числе XP и Scrum. Как и во всех книгах, есть заключение в виде основных тезисов книги.
Мнение
Пожалуй, основной и главной аудиторией этой книги являются те люди, которые только собираются войти в IT или сделали это совсем недавно. Это своего рода поверхностный роадмап по основным направлениям, которые стоит изучать дальше, а также по основным скиллам, которыми было бы неплохо обладать разработчику. Опытным программистам книга не будет информативной.