Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.95K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Эволюционная архитектура на практике

Сегодня я решил вспомнить про свое выступление двухлетней давности об эволюционной архитектуре.
По мере развития систем часто возникает момент, когда для дальнейшего развития требуется вложить много сил в рефакторинг процессов работы команд и архитектуры системы. Я проходил через такое не один раз и собрал набор симптомов, корневых причин проблем и работающих методов их решения. В итоге, я решил рассказать про подходы к эволюционной архитектуре на Tinkoff Agile Conference 2021, которая прошла в октябре 2021 года. Так как аудитория конференции была в основном менеджерской, то глубоких технических деталей в докладе нет. Расшифровка доклада доступна в моем блоге.

P.S.
Мы обсуждали книгу "Building Evolutionary Architecture" в Code of Architecture и у меня есть сводная статья со всеми выпусками нашего видеоподкаста.

#CoA #SoftwareDevelopment #SoftwareArchitecture #Architecture #SystemDesign #ExternalReview #Conference
8👍6🔥1
More Buzzwords Won't Help: The Long History of DevOps Failures • Andrew Clay Shafer • GOTO 2023

Интересное выступление Andrew Clay Shafer на тему процессов и их оптимизации. Причем Andrew не говорит почти ничего про инструменты, а обсуждает в основном концепции и историю развития этих идей. В выступлении упоминается
- Немного упоминается Тейлоризм, система организации труда, основанная на специализации и рационализации трудовых операций, направленная на интенсификацию труда. Дальше упоминания автор не идет, но ради исторического экскурса надо отметить, что эта система была создана Фредериком Тейлором в конце 19 и начале 20. Это было начало научного менеджмента, но фокус был на эффективности производства за счет трех основных направлений: нормирование труда, систематический отбор и обучение персонала, денежные стимулы, как вознаграждение за конечный результат
- Гораздо более подробно разбираются концепции Деминга, которые привели к появлению японского подхода к работе (система Toyota) и дальше к lean management. Опять же автор подробно не говорит про опору на статистику, цикл PDCA (Деминга-Шухарта) и систему контроля качества, но там много интересного.
- Дальше автор переходит к обсуждению автономных команд, социотехнических систем, обсуждает менеджмент изменений и насколько это все сложно:)
- Основная суть сводится к тому, что многие компании хотят бенефиты от изменения процессов, но не готовы их менять. Тогда они берут из новых концепций только нейминг, а все остальное оставляют по старому и ... дальше удивляются почему не получают никаких результатов:)

Например, сисадмины -> devops инженеры (на пике популярности devops) -> sre инженеры (после популяризации подхода site reliability engineering). Но если меняется только лычки, а не формат работы, то ожидать изменений не стоит:)

P.S.
Мне повезло, что я большую часть информации про подходы к менеджменту изучал еще 15 лет назад, а поэтому дальше подходы к работе с процессами в IT воспринимались как некоторое повторение и эволюция старых добрых концепций:)

#Management #Leadership #Processes #Devops #SRE
👍8🔥32
Материалы к докладу "Проектируем надежные системы  -  стоит ли игра свеч"

Сегодня я выступаю на конференции Сбера "SmartDev" с одноименным докладом. Я уже рассказывал этот доклад 5 дней назад в Ульяновске, но с прошлого выступления я добавил небольшую часть про паттерны отказоустойчивых систем, про которые подробнее можно посмотреть в крутом докладе "Паттерны отказоустойчивой архитектуры" ребят из Яндекса.

Ниже приведены материалы, на которые я ссылаюсь в своем выступлении (а чуть позже я опубликую еще и расшифровку доклада)

- "Site Reliability Engineering" - книга от ребят из Google, с которой началась серия SRE книг и они рассказывают про процесс в общем
- "Building Secure and Reliable Systems" - книга от ребят из Google, где они рассказывают про принципы проектирования надежных систем (продолжает серию SRE книг)
- "AWS Fault Isolation Boundaries" - интересный white paper от AWS на тему границ изоляции сбоев в AWS (здесь интересно написано про инфраструктурные абстракции: зоны, регионы, globl, а также про разделение control plane и data plane при проектировании сервисов и концепцию static stability)
- "A Model-based, Quality Attribute-guided Architecture Re-Design Process at Google" - интересный white paper от ребят из Google, где показано как редизайнится система для повышения ее надежности, причем сам редизайн выполняется достаточно формально, чтобы по модели оценить позитивное влияние на надежность
- "Deployment Archetypes for Cloud Applications" - интересный white paper от ребят из Google, в котором они рассказывают про разные модели deployment приложений, которые позволяют достигать разных уровней availability (зональный, региональный, мультирегиональный, глобальный, гибридный, мультиоблачный)
- Глава про resilience из книги "Continuous Architecture in Practice" - глава крутой книги, в которой буквально на пальцах авторы объясняют чем старый high-availability подход отличается от нового подхода resilience к обеспечению надежности систем
- "Philosophy of Software Design" - отличная книга про то, как бороться со сложностью систем
- "503 Подкаст - System Design в разрезе надежности" - подкаст с Андреем Дмитриевым из JUG Ru Group, где я был гостем и мы обсуждали проектирование надежных систем
- "Architecting for Scale: High Availability for Your Growing Applications" - интересная книга Lee Atchison, где он обсуждает проектирование для масштабирования и затрагивает вопросы обеспечения availability. Книга пережила второе издание и это пошло ей на пользу.
- "Собеседование SRE: Troubleshooting и System Design" - моя статья про найм SRE инженеров в Tinkoff, где мы проверяем на практике работу инженеров в рамках инцидента
- Крутой доклад "Паттерны отказоустойчивой архитектуры" ребят из Яндекса про отказоустойчивые системы

#Software #Engineering #Architecture #SoftwareArchitecture #SystemDesign #DistributedSystems #SRE
🔥17👍53
Yandex Scale 2023

Во вторник 26 сентября посещу конференцию от Yanadex про современные облака, инфраструктуру, работу с данными и ML:) Это одна из немногих конференций, до которых я доберусь в этом году и на которой я не буду выступать, а просто побуду слушателем без дополнительной нагрузки в виде доклада. Так что если будете на конфе, то можем пообщаться на произвольные темы:)

#Conference #Data #ML
👍15🔥62
Как развиваться, если ты уже Senior System Analyst

Появилось видео с записью выступления на конференции Flow про карьерные треки системных аналитиков, а расшифровка доступна давно в моем блоге TellMeAbout.Tech. Рассказ был о том, что когда-то и системные аналитики дорастают до ведущих и оказываются перед развилкой. И дальше я рассматривал разные варианты роста — от типовых до эзотерических:
— Становление лидером профессии аналитиков;
— Рост в тимлида в кросс-функциональной команде;
— Переход в технического продакт-менеджера;
— Переход в архитектуру.

-----------------

К докладу у меня шел солидный список рекомендованных материалов для дальнейшего изучения

- Доклад "'Канал. Продукт. Платформа' или эволюция подходов к развитию мобильного банка Тинькофф"
 - Краткий обзор "Team topologies" в трех частях 
 - - Teams as means of Delivery
- - Team Topologies that work for flow
- - Evolving team interactions for innovation and rapid delivery
- Статья "Про performance review в командах разработки"
- Обзор white paper "DevEx: What Actually Drives Productivity"
 - Доклад "Современные подходы к разработке программного обеспечения"
 - Доклад "SOLID'ный тимлид, или основы менеджмента для технарей"
 - Доклад "Как нанимать технических руководителей"
 - Доклад "Как и куда развиваться, если ты уже Senior Software Engineer"
 - Доклад "Варианты роста инженера, если он уже Senior"
 - Доклады про system design interview
 - - в общем про system design в Тинькофф
 - - больше про то, как мы оцениваем прохождение собеседования
 - - как подготовиться к собеседованию
 - -пример на C++ Russia 2022 про проектирование ленты в сервисе видео
- - пример на ArchDays 2022 про проектирование букинга номеров в отелях
 - - пример на C++ Russia 2023 про проектирование умных парковок

#Career #SystemDesign #Software #SoftwareArchitecture #Architecture #Engineering
🔥133👍2
Minecraft: Мобиология (Minecraft: Mobestiary)

Мои детишки любят minecraft, чего мне пока не понять. И для того, чтобы разговаривать с ними про эту игру, я купил им книгу по биологии мобов, название которой сократили до Мобиологии:) Книга написана в стиле зарисовок натуралиста (аля Чарльз Дарвин), который путешествует по огромному миру и записывает информацию о привычках, особенностях и характере существ, что состоят из кубиков. Вся книга наполнена иллюстрациями, так что если вы не играли в Minecraft, то все равно поймете как выглядит тот или иной монстр:) Кстати, самому маленькому сыну особенно понравился дракон Края (ему вообще нравятся драконы и динозавры)

P.S.
Интересно, что оригинальное английское название отсылает к бестиарию (от лат. bestia «зверь»), средневековым сборникам зоологических статей (с иллюстрациями), в которых подробно описывались различные животные в прозе и стихах, главным образом, с аллегорическими и нравоучительными целями.

#ForKids
10👍3😁2🔥1
Дефрагментация мозга. Софтостроение изнутри

Эта книга Сергея Тарасова вышла десять лет назад и была посвящена созданию программного обеспечения. Я прочитал ее в первый раз семь лет назад и у меня осталось ощущение, что это стандартный рассказ про то, что раньше трава была зеленее, Солнце желтее, а небо голубее.
В выходные я перечитал книгу и понял, что мне не показалось, но в ней есть и полезное зерно. А теперь тезисно про книгу
- Автор всю жизнь занимался разработкой кастомных enterprise приложений (в основном учетных)
- Он описывает стандартную модель работы заказчик-подрядчик, где подрядчик подключается по модели fix-price или time and materials
- Автор неплохо рассказывает про концепцию layers, tiers, упоминает CORBA и SOA (это хорошо, что автор написал книгу до засилья микросервисов)
- Из всего богатства вариантов автор предпочитает 2-tier архитектуру с тонким клиентом и логикой в базе данных, из которой он упорно делает сервер приложений
- Автору не нравятся паттерны, так как они учат шаблонному мышлению и воспроизвести произвольный паттерн из GoF "для любого специалиста с навыками абстрактного мышления вряд ли должно уходить более часа"
- Автору не нравятся и процессы, особенно Agile, так как оттуда выбросили стадию архитектуры и проектирования решения. Правда, автор рассказывает про спиральную модель Барри Боэма, которая и сейчас звучит интересно (но мало кто про нее знает)
- Автор иногда увлекается рассказыванием историй о технологиях и деталях, что мало кому интересны

Из понравившихся мне моментов могу отметить
- Автор изъясняется ясно и делает фокус на понимании предметной области
- Автор точно подмечает суть и тыкает в слабые места подходов и методологий в своих рассказах
- Автор интересно рассказывает про учетные системы и проектирование бухгалтерской системы:)

В общем и целом, мне кажется, что эту книгу стоит читать опытным инженерам, чтобы иметь возможность оценить тенденциозные мысли автора и сравнить с собственным опытом:)

#Software #Architecture #SoftwareDevelopment #Engineering #Management
👍152🔥2
Публичное интервью по troubleshooting для SRE-инженеров на конференции Devoops

Год назад я рассказывал про этот вид собеседования на конференции, а в этом году пришла очередь провести публичное интервью и показать как оно выглядит на практике. В итоге, на конференции Devoops я проводил это интервью и мне помогал мой коллега, Салих Фахрутдинов, Senior SRE в Tinkoff Origination Platform, который выступал в качестве собеседуемого.

Само интервью началось с нулевого шага, а именно с описания регламента собеседования. По легенде кандидат и интервьюер работают совместно в SRE-команде. Кандидат исполняет роль Lead, а интервьюер — Junior. Собственно по той же легенде Lead уезжает на конференцию, а джуниор остается дежурить. А дальше происходит инцидент, который они вместе распутывают, так как Junior при старте инцидента сделал звонок другу (нашему кандидату) и попросил распутать инцидент совместно.

Подробнее можно посмотреть в статье в моем блоге TellMeAbout.Tech, а также на Youtube канале конференции.

#Engineering #SRE #Career #Interview #Processes #Postmortem #Management #Software #SoftwareDevelopment
🔥8👍51
Doubling Engineering Productivity at eBay Through DevOps • Randy Shoup • YOW! 2022

Интересное выступление Randy Shoup, VP of Engineering и Chief Architect в Ebay, который отвечает за работу платформенных команд. Рэнди рассказывает про то, как за 2 года инженерная команда Ebay, что состоит из 4к инженеров, научилась работать в два раза эффективнее. Если суммировать выступление, то никаких секретных компонентов в этой трансформации не было:
- Компания была в ж...е плохой ситуации с темпом разработки и Рэнди пришел это менять
- Они нарисовали product lifecyle (plan -> development -> delivery -> post-release iteration) и дальше сфокусировались на части про deployment & delivery, пытаясь ускорить изменения и уменьшить их стоимость
- Дальше они стали измерять DОRA метрики для каждого важного сервиса (lead time, release frequency, mttr после неудачных релизов, rate неудачных релизов). Здесь автор вспоминает книгу "Accelerate" (у меня есть ее обзор в трех частях: 1, 2, 3) и приводит данные о том, как в среднем выглядела ситуация по DORA метрикам в Ebay и в сравнении с отраслевым бенчмарком
- Потом они провели опрос продуктовых разработчиков в стиле "Если бы вам нужно было релизить условно ежедневно, то что мешало бы такой частоте релизов" - именно этот набор проблем стал бэклогом для платформенных команд. Здесь автор вспоминает книгу "Team Topologies" (у меня есть ее обзор в трех частях: Teams as means of Delivery, Team Topologies that work for flow, Evolving team interactions for innovation and rapid delivery)
- А дальше автор рассказывает как выглядела сама трансформация и что именно делали продуктовые и платформенные команды, чтобы удвоить продуктивность (как сфокусироваться на пилотных командах и системах, чтобы не размывать фокус, как деливерить результаты понемногу, но улучшая общую ситуацию, улучшать процессы разработки и перепроектировать критические части систем)
- Дальше автор рассказывает про совместную кооперативные треки движения платформенных команд (измерение velocity, улучшение билдов, локальных тестов, CI, стейджинга, mirroring трафика, автоматизация deployment, тренинги и воркшопы для инженеров), а также продуктовых команд (автор показывает как команды из разных доменов вовлекались в трансформацию)

Интересно, что ребята гнались за ускорением разработки, а по итогу получили более высокую продуктивность команд разработки и лучшую надежность сервисов.
Это соответствует тому, что утверждали авторы "Accelerate" - они отмечали, что в отличие от старого подхода к разработке, где надо было выбирать между стабильностью и скоростью, в новом подходе с повышением adoption правильных практик ты получаешь и то и другое в комплекте.

#Engineering #Software #SoftwareEngineering #Architecture #CI #Derlivery #Management #Leadership #Devops
🔥11👍3👏2
Анонс ревью white papers о продуктивности разработки

В последние несколько дней я тратил много дней на дорогу, поэтому успел прочитать три white papers, по которым пока пишу краткие обзоры.
Решил поделиться этим списком в формате анонса с читателями:
1. A Human-Centered Approach to Developer Productivity - white paper от ребят из Google про человеский подход к оценке продуктивности разработчиков. Тут ребята дают отсылки к Канеману "Thinking Fast and Slow", закон Конвея, а также фреймворк SPACE, в котором используется целый набор метрик.
2. Improving Design Reviews at Google - white paper ребят из Google на тему их процесса ревью архитектурных документов, который они ускоряли при помощи тулинга. Этот white paper неплохо продолжает тему первого.
3. CNCF Platforms White Paper - white paper от ребят из CNCF на тему платформ и как они помогают оптимзировать продуктивность работы продуктовых разработчиков. Вот так авторы объясняют что такое платформа "A platform for cloud-native computing is an integrated collection of capabilities defined and presented according to the needs of the platform’s users. It is a cross-cutting layer that ensures a consistent experience for acquiring and integrating typical capabilities and services for a broad set of applications and use cases. A good platform provides consistent user experiences for using and managing its capabilities and services, such as Web portals, project templates, and self-service APIs."

#Management #Leadership #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #Metrics #Devops #Processes
👍73🔥3👀1
Обзор white paper "A Human-Centered Approach to Developer Productivity"

На днях я прочитал интересную статью, вышедшую летом 2023 года, где были достаточно банальные тезисы, но интересные выводы:) В этой статье Ciera Jaspan и Collin Green (два лида из Google) рассказывали о том, что "software developers are human after all" и поэтому на вопросы продуктивности разработчиков надо смотреть не просто с механистической позиции, а подходить к этому по человечески:) Они рассмотрели вопросы "the impact of different engineering tools, infrastructure, processes, and best practices on engineering productivity", а также анонсировали серию статей про это, как это устроено в Google. А так как мне интересна эта тема исследований, то я решил изучить эту начальную статью и написать обзор в своем блоге TellMeAbout.Tech:)

#Management #Leadership #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #Metrics #Devops #Processes
👍62🔥2
Премия HighLoad++

В этом году на Highload++ будет во второй раз вручаться премия, которая отмечает вклад компаний и людей в развитие IT коммьюнити. Состав лауреатов в 2018-2019 году включал мастодонтов нашего цеха, которых большинство из нас знает поименно. В этом году Олег Бунин решил возобновить традицию и выбрать новую порцию героев. В этот раз есть основное голосование, в котором представлены компании, проекты и люди, что много сделали для развития коммьюнити. А также есть и дополнительная номинация "развивающих проектов", в которою попал мой блог TellMeAbout.Tech за обзоры профессиональных книг и white papers. Я бы добавил, что блог хорошо дополняет "книжный куб", в котором я пишу анонсы новых статей и короткие обзоры, что не тянут на большие статьи:)

Если вам интересно посмотреть весь список, то можно на него посмотреть здесь. Кроме того, вы можете выбрать тройку тех номинантов, кто по вашему мнению заслуживает стать лауреатом. А если вы потом еще придете 27 ноября 2023 года на 20ю конференцию HighLoad++, то сможете лично посетить церемонию награждения и при хоршем раскладе увидеть как вручают премию тем, за кого вы голосовали:)

#Conference #SelfDevelopment
🔥244👍3
Пластичность мозга (The Brain That Changes Itself)

На днях я закончил чтение книги Нормана Дойджа, канадского психиатра, автора книг и статей. В этой книге автор обсуждает концепцию нейропластичности мозга, когда мозг может меняться под воздействием опыта, а также восстанавливаться после повреждений и выстраивать новые связи, которые до некоторой степени компенсируют последствия таких повреждений. Интересно, что автор идет через историю конкретных ученых и пациентов, которые переломили ход болезней с помощью методик, использующих концепцию нейпропластичности. Среди этих болезней были инсульт, рассеяный склероз, растройства аутического спектра, а также болезни Паркинсонна. Помимо этого автор рассказывает про методики повышения уровня интеллекта, преодоление проблем с обучаемостью и старостью мозга. Отдельно стоит отметить, что автор рассказывает истории, связанные с целостным подходом к изучению и развитию мозга, а стандартными подходами для медицины обычно являются редукционисткие подходы, когда целое делится на части и части изучаются отдельно. Правда, книга вышла в 2007 году, а с тех пор утекло много времени и наука о мозге продвинулась вперед.

По названию глав можно понять, что книга состоит из крутых историй, которые можно читать как жизнеутверждающие эссе, что связаны сквозной темой нашего пластичного мозгга
1. Женщина, которая постоянно падала ... и была спасена человеком, открывшим пластичность наших органов чувств
2. Как усовершенствовать свой мозг. Жанщина считавшаяся умственно отсталой, находит способ самоизлечения
3. Как перестроить свой мозг. Ученый изменяет мозг: улучшение восприятие и памяти, скорости мышления
4. О вкусах и предпочтениях. Как нейропластичность влияет на наши представления о сексуальной привлекательности и любви
5. Возвращение к жизни. Жертвы инсульта учатся заново двигаться и говорить
6. Как снять блокировку мозга. Использовать нейропластичности для избавления от тревог, навязчивых идей, непреодолимых влечений и плохих привычек
7. Боль. Оборотная сторона пластичности
8. Воображение. Как действуют наши мысли
9. Расставание с прошлым. Психоанализ как метод нейропластической терапии
10. Омоложение. Открытие нейрональной стволовой клетки и уроки по сохранению мозга
11. Больше, чем сумма частей. История женщины, ставшей живым воплощением возможностей нейропластичности
Приложение 1. Культура и преобразование мозга. Не только мозг определяет культуру, но и культура формирует мозг
Приложение 2. Пластичность и идея прогресса

В общем, очень рекомендую к прочтению эту книгу - она добавила мне идей о том, почему мой мозг работает именно так, как он это делает сейчас, а также как повысить эффективность его работы:) Ну и параллельно я чуть лучше понял, что у людей вокруг меня он может работать чуток по другому и это надо учитывать при общении, обсуждении вопросов и выстраивании аргументации:)

#SelfDevelopment #Brain #PopularScience #Thinking
🔥106👍3