Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Основы Теории U (The Essentials of Theory U. Core Principles and Applications)

Три года назад я прочел книгу "Основы Теории U" за авторством Отто Шармера, которую в 2019 году выпустило издательство МИФ. Тогда книга показалась мне слишком эзотерической - в ней системное мышление густо переплетается с "обновлением наших психологических и организационных операционных систем во всех секторах социума".
Изначальная книга по теории U в три раза больше книги про Основы и видимо еще более замороченная, а вот "Основы теории U" читается неплохо и состоит из трех частей:
1. Основа видения поля - про познание внутреннего состояния, из которого проистекают наши действия
2. Метод системных измений, учитывающих сознание - методы и инструменты для инициатора изменений
3. Осмысление эволюционных преобразований в обществе - про глобальные изменения и инициативу U.lab

В общем, интересная книга ... для расширения сознания

#Management #Leadership
👍4🔥2
Release It!, 2nd Edition

Второе издание этой крутой книги вышло 5 лет назад и с тех пор не стало сильно менее актуальным. А в недавнем выпуске книжного клуба goto конференции Trisha Gee взяла интервью у автора книги, Mike Nygard, и они обсудили темы вокруг этой книги
- What is new in the second edition
- New (anti-)patterns in modern applications (Testing: Should we stop QA? и Internal platforms)
- Meetings & Manual Deployments
- Challenges for organizations using Continuous Delivery
- The impact of DevOps on the second edition of the book
- Mike’s personal development


Отдельно предлагаю вспомнить основные части второго издания этой книги
I. Create Stability
II. Design for Production
III. Deliver Your System
IV. Solve Systemic Problems

#Devops #SRE #Management #SoftwareDevelopment #Software
9👍2🤓2
Вчера был одним днем в Питере и в рамках недели карьеры выступил перед студентами СПбГУ с факультета математики и компьютерных наук.
На этом факультете три интересных кафедры: математика, науки о данных, современное программирование, где можно заняться как фундаментальными математическими исследованиями, так и разработкой программного обеспечения, исследованиями по распределенными системам или пойти в сторону Data Science:)
Посещение СПбГУ напомнило мне времена обучения в МФТИ, когда я хоть и не был очень прилежным студентом, но целыми днями зависал в аудиториях на парах:)

Вчера я рассказывал ребятам про эволюцию подходов разработки софта. Для презентации я соединил разные свои выступления, статьи и посты в tg, среди которых были следующие
- Современные подходы к разработке программного обеспечения
- Курс Essential Architecture #Code
- Курс Essential Architecture #Data
- Code of Architecture — “Distributed Systems, 4th Ed” #2 (Architecture)
- Как подготовиться и пройти System Design Interview
- Devops культура: мифы и реальность
- Про управление проектами и продуктами
- The Pipeline-Driven Organization • Roy Osherove • GOTO 2022

#SoftwareDevelopment #Software #SoftwareArchitecture #Engineering #SystemThinking
👍23🔥6👏2
В прошлый понедельник мы провели седьмой стрим клуба Code of Architecture по книге “Distributed Systems”, в котором мы обсудили вопросы консистентности и репликации. После выпуска я успел выступить на Teamlead Conf, сходить на балет в Большой, сгонять в Питер выступить в СПбГУ и свалиться в пятницу после работы с температурой 38.5. Пару дней прошло как в тумане и только под вечер в понедельник я оклемался так, чтобы доделать краткое саммари по седьмому выпуску и выложить его.

Напомню, что мы общались вдвоем с Виталием Кондратовым, который круто шарит в распределенных системах, и говорили про темы
- Для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности)
 - Какие модели консистентности бывают: дата-центричные и клиенто-центричные
 - Какие бывают дата-центричные модели консистентности (sequential, causal, eventual, continuous)
- Какие бывают клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper
 - Как управлять репликами (replica management)
 - Какие протоколы косистентности бывают
А также напоследок рассмотрим как работает кеширование и репликация в современном Web

Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
👍126
Открытый картинг X-TI Pilot

Целую неделю я проболел и я так плохо мне не было с 2018 года, когда я неудачно покатался на сноуборде и схватил ушиб головного мозга:)

Но теперь все позади и я возвращаюсь к своему стандартному режиму, поэтому сегодня расскажу как сгонял с детьми в московский картинг рядом с Медведково.

Мы приехали с 7 и 16 летним сыновьями на гонку, куда был записан только младший из двух. На гонке не хватало людей и нам со старшим предложили тоже прокатится с ветерком. Сам картинг открытый, а сегодня был снег и трасса была похожа больше не на картодром, а на заснеженный трек для биатлонистов:)

В итоге, у нас было три заезда: классификация и два заезда в зачет, очки из которых складывались. Само катание на картинке напоминало дрифт-прохождение поворотов в управляемом заносе, то было очень интересно и непривычно по сравнению с катанием на картинге в обычных indoor условиях.

В итоге, мы с Максимом (7 летний сын) получили по бронзовому кубку за 3 место в своих категориях:)

P.S.

Мне картинг понравился
1) он хорошо расположен
2) картинги хорошо подготовлены, как и персонал
3) наверху есть кафе, где родителям можно подождать пока идут заезды и посмотреть на детишек

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

#karting #ForKids
👍158🎉2
Вакансия solution architect в hh.ru

У меня не так много вакансий напрямую ко мне, но я обещал постить сюда интересные вакансии. В итоге, я решил иногда постить вакансии от друзей, поэтому сегодня я расскажу про вакансию от Максима Евдокимова. Макс сейчас является CPO HeadHunter, но в прошлом мы вместе работали в Tinkoff. Тогда я был сфокусирован на развитии ИТ в Онлайн Привлечении, а Максим был вице-президентом, который определял как выглядит наш Мобильный Банк. Так что я знаю, что с Максимом прикольно работать вместе:)
Подробнее про саму вакансию читайте в описании, но от себя могу отметить, что у кандидата будет возможность на новом месте улучшить UX поиска работы для миллионов ITшнников - а это хорошо для кармы:)

#Vacancy #Architecture #Architect #Software
🔥14👍2
Как нанимать технических руководителей (выступление на Teamlead Conf 2023)

Пару недель назад я выступал на Teamlead Conf с таким докладом, а сейчас уже подъехала запись выступления.
Расшифровка была доступна уже 2 недели назад в моей статье на Medium.
Список рекомендованных материалов был вынесены в отдельный пост в tg.

#Management #Leadership #Processes #Conference #SystemDesign #Engineering
👍193
Devops Conf 2023

Сегодня и завтра я буду на конференцию Devops Conf 2023, где выступал год назад, рассказывая про наши собеседования для SRE по Troubleshooting.
В этом году я без доклада, потому что вместо меня отдувается мой коллега, Даниэль Халиулин, technical product manager наших мобильных команд надежности и производительности.
Даниэль завтра расскажет про "Особенности SRE и Observability в мобильных приложениях", про которые Google как-то рассказывал в отчете "Engineering Reliable Mobile Applications".
Кстати, я разбирал этот отчет еще 3 года назад в своей статье на Medium

#SRE #Devops #Conference #Architecture
👍12
Девятый и последний выпуск клуба "Code of Architecture" по книге "Распределенные системы" ван Стина и Таненбаума

Сегодня в 18.00 мы обсудим главу про безопасность, в которой поговорим про следующие вопросы
- Для чего нам нужна безопасность в распределенной системе
 - Какие подходы к безопасности бывают: через confidentiality и integrity и через модель угроз (security threats)
 - Как разделять политики безопасности и механизмы для их реализации
 - Какие существуют принципы для проектирования надежных систем
 - Какие базовые моменты по криптографии надо знать для понимания работы современных протоколов
 - Как работает аутентификация и авторизация
 - Как размышлять о доверии (trust) в распределенной системе
 - Как обеспечивать отслеживание проникнования в систему (intrusion) за счет мониторинга и логов

В выпуске участвуют
- Игорь Маслов @ Tinkoff
 - Илья Зонов @ Tinkoff
 - Александр Поломодов @ Tinkoff

Присоедняйтесь к трансляции сегодня в 18.00.

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
🔥142👍2
Понимать, но не предвидеть. Предвидеть, но не понимать (Comprendre sans prevoir, prevoir sans comprendre)

В этой книге французский ученый-популяризатор науки, Юбер Кривин, рассказывает про то, как работает обычная наука, в которой на основе данных строятся модели, объясняющие происходящее и имеющие предсказательную силу. А потом он противопоставляет этому современный подход к машинному обучению, где на основе больших данных отслеживаются корреляции и создаются предсказания, которые сложно интерпретировать и понимать. Дальше автор размышляет так ли нужна фундаментальная наука в эпоху chatgpt (которого не было 5 лет назад, когда была издана книга) и приходит к выводу, что фундаментальная наука никуда не денется.

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

#PopularScience #AI #Physics #Math
🔥11
Вчера мы провели последний стрим клуба Code of Architecture по книге “Distributed Systems”, в котором мы обсудили вопросы security. А точнее мы обсудили модели угроз, политики безопасности и механики для их обеспечения, вопросы аутентификации и авторизации, а также доверия в распределенных системах. Закончили темой мониторинга и аудита.
В этот раз мы общались на троих с Игорем Масловым, Ильей Зоновым и мной:)

Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
14👍5👏2
1985

Несколько лет назад я прочел книгу Энтони Бёрджеса "1985". Как можно догадаться из названия она тесно связана с известнейшей книгой Джорджа Оруэлла "1984", в которой Джордж из послевоенного 1948 рассказал антиутопию о будущем. Первая часть книги Энтони посвящена полемике относительно картины, нарисованной его предшественником. И эта картина выглядит так:
В мире "1984" осталось 3 глобальных военно-политических блока, которые ведут непрерывную войну. Но это война не на победу, а на поддержание статуса кво. Общество состоит из трех кругов: внутренняя партия, внешняя и пролы (пролеториат). Партия вещает от имени мифического Старшего Брата, используя новояз, который поддерживает двоемыслие как залог успешного существования в этом мире. Также есть в структуре управления есть:
- Министерство Мира, что отвечает за войну
- Министерство Правды, что отвечает за пропоганду
- Министерство Любви, что отвечает за пытки
Энтони Берджес, написавший книгу в 70х годах, разбил ее на 2 части. Вся первая часть состоит из полемики относительно мира Оруэлла 1984 года. А во второй он рисует совсем другую картину соседнего 1985 года. В его мире к власти пришел пролетариат, но ... управляют всем профсоюзы. Причем профсоюзы борются с собственным государством, устраивая забастовки. Например, роман начинается с забастовки пожарных, во время которой жена главного героя сгорает в больнице, которую просто некому тушить. Главный герой восстает против режима принуждения и выходит из профсоюза, а дальше становится фактически никем и скатывается на самое дно как асоциальный элемент. Дальнейший сюжет раскрывать не буду, но поделюсь рядом цитат, что мне понравились:
1) в первой части книги, где шла полемика относительно романа 1984
- "тревожно отмечать, что как раз в демократиях, основанных на неприкосновенности свободы воли, принцип манипулирования сознанием может стать общепринятым"
2) во второй части
- в описании званий армии, которую собирают некие силы, присутствует оксюмороны: "полноправный свободный рядовой, свободный капрал, старшшина взвода, ротный демократ"
- про убеждение верующего относительно профсоюзов и власти пролетариата: "двенадцать апостолов были первым профсоюзом и что Христа обрекли на мученическую смерть за принцип свободной самоорганизации трудящихся, а что Царство Небесное означает пролетарскую демократию"
И конечно интервью в эпилоге шедевральное. Если вы не готовы читать всю книгу, то прочтите хотя бы его.

#SciFi
16👍3
Не опаздывай, Медведь! (L'Ours contre la montre)

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

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

#ForKids #Time
18👍8😁3🔥1
I Made Everything Loosely Coupled. Does My App Fall Apart? (Рубрика #Architecture)

Это keynote выступление Gregor Hohpe было на goto конференции в рамках EDA Day (event-driven architecture). Сам Gregor Hohpe еще 20 лет назад написал книгу "Enterprise Integration Patterns"
В рамках этого выступления Gregor обсуждает много вопросов:
- Делает интро в EDA
- Обсуждает роль архитектора и говорит, что они не просто рисуют красивые картинки, а скорее думают в определенном формате и рассказывает как выглядит "thinking like an architect":
-- архитекторы делают скетчи, а не blueprints
-- архитекторы видят больше размерностей с разных точек зрения
-- архитекторы умеют менять масштаб рассмотрения абстракций (zoom in & zoom-out)
-- архитекторы избегают абсолютных утверждений и различают оттенки серого (понимают как работают компромиссы ака tradeoffs)
- Переходит к обсуждению рисования boxes & lines и показывает почему важны именно стрелки, которые связывают boxes. Суть в том, что именно стрелки определяют как компоненты связаны между собой. Дальше автор рассматривает какие реально технологии могут лежать в основе boxes и какой у нас есть контроль над ними. А кроме того, как эти кубики матчатся на команды.
- Делает zoom in в обсуждение того, как рисуются линии в архитектуре. Что означает линия под капотом: data or control flow, interaction model, sync/async, polling, pub/sub or point-to-point и так далее. А дальше он дает совет о разделении вашего подхода к архитектуре от выбора конкретных технологий и продуктов, которые вы будете использовать для ее реализации
- А дальше наступает время обсуждения connection & coupling. В самом начале он дает свое определение coupling - "coupling is a measure of independent variability between connected systems", дальше говорит о том, что decoupling имеет свою цену и что это понятие не черно-белое, а многомерное. Здесь автор обсуждает вопросы использования buzzwords и принятия решений - условно, что дает loose coupling:
-- limit change radius (at design time), что дает higher agility & velocity
-- limit error radius (at runtime), что дает reliable, tolerant operations
и дальше он рекламирует будущую книгу Влада Хононова "Balancing coupling in software design" и заключает, что "the appropriate level of (design-time) coupling depends on the level of control you have over the endpoints"
- Потом идете обсуждение messages & events. Тут автор вспоминает про свое определение messaging из упомянутой выше книги. А дальше переходит к тому, что events - это особый тип messages с определенной семантикой. Помимо events еще бывают commands и documents. Дальше автор вспоминает про семантику каналов, посредством которых происходит обмен сообщениями и событиями. Дальше обсуждается вопросы как матчится producers и cosumers, как организована логика в виде оркестрации или complex event processing
- Ну и в конце автор показывает как можно делать EDA системы в cloud стиле с использованием AWS CDK, где автор пишет не код приложения, а код интеграции и размышляет в тех терминах, что были описаны выше. И именно такое описание автор называет everything loosely coupled:)

#EDA #Conference #SoftwareArchitecture #Architecture #DistributedSystems #SystemDesign
👍134
Анонс спецвыпуска Code of Architecture про авторизацию по модели ReBAC (aka Google Zanzibar)

В последней серии с обсуждением книги по распределенным системам (Distributed Systems) мы говорили про вопросы безопасности и кратко обсудили тему авторизации. Нам показалось, что авторы книги пропустили достаточно важную модель называемую ReBAC (Relationship-Based Access Control). Популярность к этой модели пришла после того, как Google в 2019 году опубликовал white paper "Zanzibar: Google’s Consistent, Global Authorization System". В этом документе авторы рассказали о том, как конфигурировать авторизационную модель, как выражать взаимосвязи в виде триплетов и как собственно проверять наличие или отсутствие прав. Отдельно стоит отметить, что с 2019 года несколько компаний сделали коммерческие и open source реализации этой модели, например, SpiceDB, что позволяет желающим использовать этот подход в своих проектах. В итоге, в этом выпуске мы поговорим про проблематику авторизации более глубоко и дальше обсудим модель ReBAC, погрузившись в white paper про Zanzibar и немного в open source реализацию на примере SpiceDB.

В выпуске будут два гостя:
- Сергей Клименко - руководитель отдела, который отвечает за аутентификацию и авторизацию в Тинькофф, в частности сервис Тинькофф ID, а также занимается развитием экосистемы
- Даниил Кулешов, архитектор новой системы авторизации для клиентов Тинькофф

Подключайтесь в понедельник 20 марта в 18:00 по Москве к трансляции на ютуб-каналe IT's Tinkoff.

#CoA #SystemDesign #DistributedSystems #Authz #WhitePaper
🔥134👍3