Зачастую тимлиды вырастают из разработчиков какого-то определенного стека, ранее занимавшиеся одним приложением, реже всей системой. Однако, переходя на уровень выше, тимлиды вынуждены работать сразу со всей системой, т.е. с набором приложений, уделять больше внимания системному дизайну, техническому качеству и оперированию продуктом/проектом.
Продолжая серию подборок книг для тимлидов, я не могу не поделиться “технической” подборкой полезной литературы.
#1. ШАБЛОНЫ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ
Автор: М. Фаулер
Ссылка: https://www.litres.ru/book/martin-fauler/shablony-korporativnyh-prilozheniy-48637483/
Коротко: Фаулер - в своем репертуаре. Его описание паттернов, таких как «Repository» и «Unit of Work», до сих пор актуально. Особенно полезна глава про lazy loading и его влияние на производительность.
#2. НЕПРЕРЫВНОЕ РАЗВЕРТЫВАНИЕ ПО: АВТОМАТИЗАЦИЯ ПРОЦЕССОВ СБОРКИ, ТЕСТИРОВАНИЯ И ВНЕДРЕНИЯ НОВЫХ ВЕРСИЙ ПРОГРАММ
Автор: Д. Фарли, Дж. Хамбл
Ссылка: https://www.litres.ru/book/dzhez-hambl/nepreryvnoe-razvertyvanie-po-avtomatizaciya-processov-sborki-t-48613766/
Коротко: хоть книга больше про процессы, чем про архитектуру, идея автоматизации доставки приложений сильно влияет на архитектурные решения. Особенно запомнилась глава про blue-green деплойменты.
#3. SITE RELIABILITY ENGINEERING. НАДЕЖНОСТЬ И БЕЗОТКАЗНОСТЬ КАК В GOOGLE
Автор: Б. Бейер, Кр. Джоунс
Ссылка: https://www.litres.ru/book/betsi-beyer-17338311/site-reliability-engineering-nadezhnost-i-bezotkaznos-39123367/
Коротко: глубокий взгляд на то, как Google управляет масштабными системами с высокой надежностью. Книга предлагает практические подходы к балансировке между разработкой новых функций и поддержанием стабильности, включая принцип "ошибки как возможности для обучения" и автоматизацию процессов. Авторы делятся опытом использования SRE для улучшения операционной эффективности, что делает книгу ценным ресурсом и для разработчиков, и для тимлидов.
#4. РЕФАКТОРИНГ. УЛУЧШЕНИЕ СУЩЕСТВУЮЩЕГО КОДА
Автор: М. Фаулер
Ссылка: https://www.ozon.ru/product/refaktoring-uluchshenie-proekta-sushchestvuyushchego-koda-628030432/
Коротко: ключевая идея книги — постоянное улучшение кода. Особенно понравился раздел про рефакторинг с сохранением функциональности. В своей работе я активно применял эти практики, чтобы избавляться от технического долга.
#5. ПРЕДМЕТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ (DDD). СТРУКТУРИЗАЦИЯ СЛОЖНЫХ ПРОГРАММНЫХ СИСТЕМ
Автор: Э. Эванс
Ссылка: https://www.labirint.ru/books/512940/
Коротко: основная книга, которая вам нужна, чтобы понять, где и как размещать новые приложения, и как по приложениям распределять функции для новых бизнес-процессов. Очень полезно, чтобы система оставалась управляемой и динамичной, что не даем вам страдать из-за тысячи страшных связей в будущем.
#6. МИКРОСЕРВИСЫ. ПАТТЕРНЫ РАЗРАБОТКИ И РЕФАКТОРИНГА
Автор: Кр. Ричардсон
Ссылка: https://www.litres.ru/book/kris-richardson-2184/mikroservisy-patterny-razrabotki-i-refaktoringa-pdf-e-50445630/
Коротко: достаточно полный материал по микросервисам. Затрагиваются вопросы и разделения (привет, DDD!), интеграции (CQRS, Async communication), дирижеры и хореографы, развертывание и работы с апишкой.
#7. ФУНДАМЕНТАЛЬНЫЙ ПОДХОД К ПРОГРАММНОЙ АРХИТЕКТУРЕ: ПАТТЕРНЫ, СВОЙСТВА, ПРОВЕРЕННЫЕ МЕТОДЫ
Автор: М. Ричардс
Ссылка: https://www.litres.ru/book/mark-richards-326443/fundamentalnyy-podhod-k-programmnoy-arhitekture-patte-69434368/
Коротко: отличное введение в архитектуру ПО. Особенно полезной была глава о компромиссах, на которые приходится идти при выборе между масштабируемостью и производительностью.
#8. СОВЕРШЕННЫЙ КОД
Автор: Ст. Макконел
Ссылка: https://www.ozon.ru/product/sovershennyy-kod-makkonnell-stiv-221777342/
Коротко: казалось, бы книга про код, а надо что-то уровнем выше… Но фокус в том, что код в книге рассматривается с разных сторон, в том числе качества кода, качества продукта, затрагиваются вопросы тестирования и даже характеры программистов. В общем, обязательно к прочтению.
БОНУС: RELEASE IT! ПРОЕКТИРОВАНИЕ И ДИЗАЙН ПО ДЛЯ ТЕХ, КОМУ НЕ ВСЁ РАВНО
Автор: М. Нейгард
Ссылка: https://www.litres.ru/book/maykl-neygard/release-it-proektirovanie-i-dizayn-po-dlya-teh-komu-ne-vse-r-16901930/
Коротко: автор книги очень хорошо освещает часто забываемую сторону - оперирование. Т.е то, что мы делаем после того, как софт уже вышел в прод: важные для оперирования вопросы, например, вычисление необходимых мощностей для инфраструктуры и так далее. Книга, в некоем роде, уникальна: всем рекомендую к прочтению.
Продолжая серию подборок книг для тимлидов, я не могу не поделиться “технической” подборкой полезной литературы.
#1. ШАБЛОНЫ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ
Автор: М. Фаулер
Ссылка: https://www.litres.ru/book/martin-fauler/shablony-korporativnyh-prilozheniy-48637483/
Коротко: Фаулер - в своем репертуаре. Его описание паттернов, таких как «Repository» и «Unit of Work», до сих пор актуально. Особенно полезна глава про lazy loading и его влияние на производительность.
#2. НЕПРЕРЫВНОЕ РАЗВЕРТЫВАНИЕ ПО: АВТОМАТИЗАЦИЯ ПРОЦЕССОВ СБОРКИ, ТЕСТИРОВАНИЯ И ВНЕДРЕНИЯ НОВЫХ ВЕРСИЙ ПРОГРАММ
Автор: Д. Фарли, Дж. Хамбл
Ссылка: https://www.litres.ru/book/dzhez-hambl/nepreryvnoe-razvertyvanie-po-avtomatizaciya-processov-sborki-t-48613766/
Коротко: хоть книга больше про процессы, чем про архитектуру, идея автоматизации доставки приложений сильно влияет на архитектурные решения. Особенно запомнилась глава про blue-green деплойменты.
#3. SITE RELIABILITY ENGINEERING. НАДЕЖНОСТЬ И БЕЗОТКАЗНОСТЬ КАК В GOOGLE
Автор: Б. Бейер, Кр. Джоунс
Ссылка: https://www.litres.ru/book/betsi-beyer-17338311/site-reliability-engineering-nadezhnost-i-bezotkaznos-39123367/
Коротко: глубокий взгляд на то, как Google управляет масштабными системами с высокой надежностью. Книга предлагает практические подходы к балансировке между разработкой новых функций и поддержанием стабильности, включая принцип "ошибки как возможности для обучения" и автоматизацию процессов. Авторы делятся опытом использования SRE для улучшения операционной эффективности, что делает книгу ценным ресурсом и для разработчиков, и для тимлидов.
#4. РЕФАКТОРИНГ. УЛУЧШЕНИЕ СУЩЕСТВУЮЩЕГО КОДА
Автор: М. Фаулер
Ссылка: https://www.ozon.ru/product/refaktoring-uluchshenie-proekta-sushchestvuyushchego-koda-628030432/
Коротко: ключевая идея книги — постоянное улучшение кода. Особенно понравился раздел про рефакторинг с сохранением функциональности. В своей работе я активно применял эти практики, чтобы избавляться от технического долга.
#5. ПРЕДМЕТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ (DDD). СТРУКТУРИЗАЦИЯ СЛОЖНЫХ ПРОГРАММНЫХ СИСТЕМ
Автор: Э. Эванс
Ссылка: https://www.labirint.ru/books/512940/
Коротко: основная книга, которая вам нужна, чтобы понять, где и как размещать новые приложения, и как по приложениям распределять функции для новых бизнес-процессов. Очень полезно, чтобы система оставалась управляемой и динамичной, что не даем вам страдать из-за тысячи страшных связей в будущем.
#6. МИКРОСЕРВИСЫ. ПАТТЕРНЫ РАЗРАБОТКИ И РЕФАКТОРИНГА
Автор: Кр. Ричардсон
Ссылка: https://www.litres.ru/book/kris-richardson-2184/mikroservisy-patterny-razrabotki-i-refaktoringa-pdf-e-50445630/
Коротко: достаточно полный материал по микросервисам. Затрагиваются вопросы и разделения (привет, DDD!), интеграции (CQRS, Async communication), дирижеры и хореографы, развертывание и работы с апишкой.
#7. ФУНДАМЕНТАЛЬНЫЙ ПОДХОД К ПРОГРАММНОЙ АРХИТЕКТУРЕ: ПАТТЕРНЫ, СВОЙСТВА, ПРОВЕРЕННЫЕ МЕТОДЫ
Автор: М. Ричардс
Ссылка: https://www.litres.ru/book/mark-richards-326443/fundamentalnyy-podhod-k-programmnoy-arhitekture-patte-69434368/
Коротко: отличное введение в архитектуру ПО. Особенно полезной была глава о компромиссах, на которые приходится идти при выборе между масштабируемостью и производительностью.
#8. СОВЕРШЕННЫЙ КОД
Автор: Ст. Макконел
Ссылка: https://www.ozon.ru/product/sovershennyy-kod-makkonnell-stiv-221777342/
Коротко: казалось, бы книга про код, а надо что-то уровнем выше… Но фокус в том, что код в книге рассматривается с разных сторон, в том числе качества кода, качества продукта, затрагиваются вопросы тестирования и даже характеры программистов. В общем, обязательно к прочтению.
БОНУС: RELEASE IT! ПРОЕКТИРОВАНИЕ И ДИЗАЙН ПО ДЛЯ ТЕХ, КОМУ НЕ ВСЁ РАВНО
Автор: М. Нейгард
Ссылка: https://www.litres.ru/book/maykl-neygard/release-it-proektirovanie-i-dizayn-po-dlya-teh-komu-ne-vse-r-16901930/
Коротко: автор книги очень хорошо освещает часто забываемую сторону - оперирование. Т.е то, что мы делаем после того, как софт уже вышел в прод: важные для оперирования вопросы, например, вычисление необходимых мощностей для инфраструктуры и так далее. Книга, в некоем роде, уникальна: всем рекомендую к прочтению.