Книжный куб
9.83K subscribers
2.24K photos
4 videos
3 files
1.54K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора в T Tech
Download Telegram
Суини Тодд, маньяк-цирюльник с Флит-стрит (Театр на Таганке)

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

P.S.
Версию этой истории от КиШ я в живую не видел, так что сравнивать не могу. Но эта постановка в Театре на Таганке мне понравилась.

#Theater
Code of Leadership #5  Project Phoenix

Вышел пятый выпуск подкаста "Code of Leadership", в котором я обсуждаю с гостями книги, полезные для IT руководителей. В этот раз речь идет про книгу "Проект Феникс", которая написана в жанре производственного романа и похожа на книгу "Цель" ("Goal") или "Критическая цепь" ("Critical Chain") Голдратта. Правда, здесь основные действия разворачиваются не на заводе, а в среде обитания it'шников внутри производственной компании Parts Unlimited.

Книгу мы разбираем с Иваном Михеевым, который является co-founder и CTO в компании Youtravel.me, маркетплейсе авторских туров. Иван успешно руководил как малыми командами, так и большими отделами на 150+ человек. Одно из его увлечений – путешествия и открытие новых уголков мира, что также вдохновляет его в профессиональной деятельности.

#Management #Software #Processes #Project #ProductManagement #Engineering #Processes #Leadership
Please open Telegram to view this post
VIEW IN TELEGRAM
How Flow Works & Other Curiosities • James Lewis • YOW! 2023

Интересный доклад от James Lewis на тему оптимизации потока создания ценности при разработке софта.
Автор начинает с того, что вспоминает что появилось за последние 15 лет (AWS, Android, Git, Continuous Delivery, Microservices, K8s, Platform Engineering, ML &AI). Рассказывает кратко про теорию очередей и закон Литтла. Автор дает отсылки на книги
- "Continuous Delivery" (я про нее рассказывал)
- "Building microservices" (я рассказывал про продолжение этой книги "Monolith to Microservices")
- "Building evolutionary architecture" (я рассказывал про эту книгу + у нас было ее обсуждение в клубе "Code of Architecture", а также я рассказывал доклад на эту тему)
- "The Principles of Product Development Flow" (эту книгу я еще не читал)
- "Accelerate" (я делал обзор этой книги в трех частях: 1, 2 и 3)
- "Team topologies" (я делал обзор в трех частях)

А дальше автор рассказывает про value stream mapping и как его можно использовать для улушения потока ценности. А также потом James рассказывает про NetLogo, которую можно использовать для моделирования процессов разработки и дальше показывает как покрутить параметры модели, чтобы смоделировать изменения системы. Например, есть моделька waterfall модели разработки большими батчами и agile команды, что практикует continuous delivery. Мне выступление понравилось именно тем, что тут есть пример моделирования процессов производственной системы.

P.S.
Помню как я игрался с программой NetLogo в рамках курса Model Thinking на Coursera, а потом еще при чтении книги Model Thinker, про которые вспоминал пару лет назад.
Очень рекомендую курс и книгу.

#Management #Software #SoftwareDevelopment #Processes #Architecture #Devops #Leadership
Первые пять выпусков "Code of Leadership"

За последние полтора месяца вышло пять серий моего подкаста "Code of Leadership", по которым можно было понять формат и насколько он интересен читателям этого канала. Ниже приведены материалы по вышедшим сериям, а в комментах было бы интересно услышать обратную связь и если есть предложения об улучшениях

1. Обсуждение "Team topologies", где гостем был Станислав Халуп, бывший CPO внутренней платформы разработки в Tinkoff. Материалы по выпуску: статья в блоге, видеоподкаст, аудиоподкаст, miro-доска
2. Обсуждение "Антихрупкости в IT", где гостем был Александр Бындю, автор книги, владелец аутсорс компании и консультант. Материалы по выпуску: статья в блоге, видеоподкаст, аудиоподкаст, miro-доска
3. Обсуждение "Herding Cats", где гостем был Евгений Кузовлев, технический директор платежей. Материалы по выпуску: статья в блоге, видеоподкаст, аудиоподкаст, miro-доска
4. Обсуждение "Turn the ship around", где гостем была Екатерина Шестимерова, технический проджект и бывший руководитель Тинькофф Образования. Материалы по выпуску: статья в блоге, видеоподкаст, аудиоподкаст, miro-доска
5. Обсуждение "The Phoenix Project", где гостем был Иван Михеев, технический директор YouTravel.Me. Материалы по выпуску: статья в блоге, видеоподкаст, аудиоподкаст, miro-доска

#Management #Software #Processes #Project #ProductManagement #Engineering #Leadership
Code of Leadership #6 Staff+ инженеры, как мы их растим внутри и нанимаем с рынка

Шестой выпуск Code of Leadership посвящен теме инженеров высоких грейдов, которые в западной практике называются Staff+. В этом выпуске гостем является Алексей Тарасов - технический директор социальных платформ в Тинькофф. Мы вместе с Лешей обсуждаем как выглядит матрица SDE (software development engineer), какие треки развития есть у инженеров, как выглядит процесс роста внутри и найм сотрудников снаружи. Также ближе к концу дискуссии мы обсуждаем один из этапов собеседований, который называется "Architecture & SDLC", который мы проводим для кандидатов на Staff+ уровень.

P.S.
Источники, которые упоминаются в выпуске:
- Архитектура в масштабе на ArchDays 2020
- System Design Interview на ArchDays 2021
- Как подготовиться и пройти System Design Interview на ArchDays 2022
- Варианты роста инженера, если он уже Senior на Tinkoff Meetup 2023
- Как нанимать технических руководителей на Teamlead Conf 2023
- Книга Will Larson "Staff Engineer" и мои обзоры этой книги в двух частях: 1 и 2

#Management #Software #Processes #Project #ProductManagement #Engineering #Processes #Leadership #Staff #Architecture #Career
Monopoly Junior: Paw Patrol

Сегодня мой сын Кирилл, которому всего 3 года, выиграл нас с женой в "Монополию джуниор: Щенячий патруль". Отчасти это доказывает насколько ужасен геймдизайн этой игры - она настолько рандомная, что просто выкидывая кубик и покупая здания можно легко стать магнатом ... эхх если бы в жизни было так просто. Еще забавно, что моя жена, Настя, купила английскую версию игры, поэтому наши детишки сами пока играть не смогут. Но Кирилл как раз ходит в английский детский сад Ng Kids, поэтому есть вера, что когда-нибудь он сможет сам читать что написано в карточках заданий этой монополии:)

#ForKids #ForParents
The State of Application Security 2023 • Sebastian Brandes • GOTO 2023

Отличный доклад для воскресного утра про Application security от Себастьяна, ко-фаундера и CEO стартапа Heyhack. Доклад носит достаточно практичный характер и в нем не просто рассказывают про базовые концепции и приводят результаты исследования безопасности за 2023 год (что тоже очень интересно), но и демо топовых уязвимостей:)
Доклад состоит из следующих частей:
- Результаты исследования - Авторы исследовали автоматически почти 4 миллиона сервисов из 103 стран, больше 8 тысяч компаний. Для deep dive в результаты автор вспоминает про базу про CVSS (Common Vulnerability Scoring System) для оценки severity уязвимостей. Это нужно, чтобы показать, что 3/4 организаций имеют известные уязвимости высокого severity уровня (7+). Плюс интересно смотреть на распределение уязвимостей по странам (Россия достаточно хорошо выглядит на общем уровне или авторы не особо долбили российские сервисы)
- Deep dive в темы
-- File leaks - у 29% организаций еще были найдены утечки данных (код, бекапы, ключи, конфигурации, ...)
-- Dangling DNS records - Почти четверть компаний оказались с dangling DNS записями, когда доменное имя остается делегировано на ip адрес, который уже не принадлежит компании (например, когда в облаке погасил машинки, на которые делировал поддомен, а делегирование поддомена не убрал). Собственно, автор проводит демо как это может выглядеть и объясняет, что такую висящую DNS запись можно захватить и дальше украсть сессионные куки или повесить фрод на легитимный поддомен.
-- Vulnerable ftp servers - пример уязвимости proFTP 1.3.5 (CVE-2015-3306) и говорит, что 1.5% исследованных компаний имеют эту уязвимость:) А дальше проводит демо как ее эксплуатировать.
-- Cross-site scripting - это тип атаки, который заключается во внедрении в выдаваемую веб-системой страницу вредоносного кода и взаимодействии этого кода с веб-сервером злоумышленника. 4% компаний имеют известные уязвимости такого рода и они часто завязаны на wordpress плагины, nginx модули, keycloak, drupal плагины и вообще любые плагины известных веб-приложений. Здесь автор вспоминает OWASP (Open Worldwide Application Security Project) и конкретно проект OWASP Juice Shop - супер-дырявого приложения, которое специально спроектировали для тренировочных целей. Собственно в своем демо автор его активно использует. Плюс в демо используется BeEF - The Browser Exploitation Framework Project. Демо выглядит очень интересно и показывает на пальцах как выглядят уязвимости и к чему может привести безответственность в вопросах безопасности.
- Разбор кейса с Fortnite и EpicGames - пример того, как комбинация нескольких уязвимостей позволяет сломать систему. В данном случае это было приложение Fortnite. Саму уязвимость нашли ребята из Check Point и у них есть интересный разбор
- WAF и их частичная бесполезность - объяснение того, как работают WAF (web app firewall) и как они легко попадают в ошибки вида false positive и false negative:)

В финале автор рассказывает о главных выводах:
- Надеяться на WAF не стоит
- Нужно проактивно работать с уязвимостями и устранять их до того, как они привели к инцидентам безопасности
- Начать работать над app security просто

Ну и конкретно по вектору web attack предлагается такой план:
- Определить поверхность атаки (внешние домены) и понять уязвимые цели
- Пофиксить висящие DNS записи
- Обновить сервера (Apache, Nginx, ...)
- Настроить continuous testing критичных приложений
- Поработать с разработчиками и интегрировать с их инструментами средства безопасности для устранения найденных уязвимостей
- Протестировать заново найденные уязвимости и убедиться, что они исправлены
- И дальше работать так в цикле

Итого, это очень базовый доклад, но с интересной статистикой и с практичными советами по улучшению ситуации.

#Security #SRE #SoftwareArchitecture #Software #Engineering #Management #Leadership #Processes #SystemThinking #SystemEngineering
Developer productivity - Part I

В большой компании часто сложно понять насколько эффективно работает организация. Конечно можно ориентироваться на разные финансовые показатели, включая Cost to Income Ratio, но у них есть две особенности: они очень общие и сложно понять вклад отдельных частей организации, а также они сильно запаздывают во времени. Поэтому менеджеры высокого уровня обычно желают получить более эффективный инструмент. Когда я думал над этим, то понял, что мне удобнее сначала построить модельку и сузить область размышлений. Я взял модель Run-Change-Disrupt
- Run - это операционные процессы того, как мы делаем business as usual
 - Change - это те процессы, которые направлены на изменение ситуации: создание новых продуктов, развитие существующих продуктов
 - Disrupt -это процессы, связанные с внутренними стартапами, новым бизнес-моделям и трансформациями

Для системных улучшений мы должны работать в каждой области, но сегодня я хотел сфокусироваться на Change. Причем если компания является продуктовой, а не сервисной, то в свою очередь продуктовый процесс тоже разделяется на две части
 - Do the right things - это часть про бизнес и процесс discovery
 - Do the things right - это часть про разработку и процесс delivery

Причем сегодня я хотел обсудить часть delivery, где мне кажется, что обычно практикуют два дуальных подхода к повышению эффективности поставки ценности.

1) Bottom-up - улучшение процессов команд на местах силами линейных менеджеров. Дальше улучшение общих процессов подразделения силами middle менеджеров. Общий драйв к лучшему от топ-менеджеров. Для такого подхода в компаниях часто используются инсутрменты для статистического управления процессами. Этот подход напоминает то, как работает микроэкономическая теория для отдельного предприятия на рынке. То есть руководитель каждой команды сам отвечает за то, чтобы она эффективно работала в условиях спроса и предложения на рынке, внутренних процессов команды, цепочки взаимосвязей с другими командами и так далее.

2) Top-down - улучшение процессов за счет изменения глобальных параметров системы:
 - Создание PaaS и большого количества платформенных команд
 - Выделение функции SRE и системная работа над надежностью
 - QA-стратегия, где фокус на автоматизации
 - Data-стратегия и переход к DWH к Data Mesh
- Активное использование AI к месту и нет
Для таких больших изменений топ-менеджент обычно хочет понимать централизованный эффект, а также в идеале хочет уметь его моделировать. Это чем-то напоминает макроэкономическую теорию и роль государства в ней, которое может влиять на рынок через ставку рефинансирования, налоги, гостраты и так далее. Модели для сбора "макроэкономической статистики" по delivery часто у компаний нет, если не считать отдельные показатели с микроэкономического уровня, которые впрямую нельзя сравнивать и зачастую агрегировать. Но зачастую хотелось бы иметь показатель developer productivity и уметь на него влиять в положительную сторону.

Продолжение в постах: 2 и 3

#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership
Developer productivity - Part II

Продолжая тему developer productivity, поднятую в первой части статьи, хотелось вспомнить о том, а как к этому вопросу подходят во всем мире.

"Accelerate" и DORA метрики

- Книга вышла в 2018 году и ее написали  Forsgren, Humble, Kim.
- Все содержимое книги основано на опросах инженеров aka Devops Reports, что собирались пять лет примерно с 2012 года
- DORA метрики  состоят из  двух категорий:
-- Темп поставки: deployment frequency и lead time for changes
-- Стабильность: change failure rate и time to restore service
- В общем, эта фундаментальная история, которую хорошо бы знать. И у меня есть краткое саммари книги в трех частях: 1, 2 и 3

Фрейворк из whitepaper "The SPACE of Developer Productivity"
- Научная статья вышла в марте 2021 года и ее написали Forsgren, Storey Zimmermann, Houck, Butle
- В этом фреймворке пять категорий метрик, что объединяются в акроним SPACE (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow), каждый из которых раскладывается на 3 уровня (индивидуальный, командный, e2e)
- Интересно, что тут у нас уже комбинация метрик из опросов (satisfaction & well being) и метрик из процессов. Потенциально тут можно получить достаточно полную картину, но надо очень тщательно работать с данными и их интерпретацией
- Есть краткое саммари от меня

Фреймворка из whitepaper "DevEx: What Actually Drives Productivity"
- Научная статья вышла в мае 2023 года и написали ее Noda, Storey, Forsgren, Greiler
- В этом фреймворке три категории: feedback loops, cognitive load, flow state
- Каждая категория раскладывается на три части: perceptions, workflows (system & process behaviors) и KPIs (north star metrics)
- Авторы отмечают, что часть про perceptions можно вытащить только из опросов, а вот workflows надо тянуть из самих систем. А дальше они съезжают в часть дизайна опросов.
- Два из соавторов этого whitepaper представляют платформу DX (getdx.com), чей инструмент devex360 даже попал в техрадар от ThoughtWorks в сентябре 2023 года и эта платформа основана на опросах
- Есть краткое саммари от меня

Развитие фреймворка DevEx
- Научная статья вышла в январе 2024 года и ее написали Forsgren, Kalliamvakou, Noda, Greiler, Houck, Storey
- Этот whitepaper продолжает "DevEx: What Actually Drives Productivity"
- Категории все те же
- В этой статье проведен статистический анализ результатов опросов на платформе getdx.com, которую используют разные компании для проведения опросов по developer exp (примеры компаний: Etsy, Dropbox, Ebay, Amplitude, Monzo, P&G, DHL, …)
- Цель выяснить того, как каждая из трех категория влияет на outcomes трех уровней: individual, team, organization. Цель была достигнута и влияние продемонстрировано и это очень полезно для продаж платформы:)
- Есть краткое саммари от меня

А в последней части этой статьи я расскажу про платформы на рынке и то, что у нас есть в Тинькофф:)

#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership
Developer productivity - Part III

Продолжая посты 1 и 2 хочется вспомнить о том, какие платформы с инструментами для оценки developer productivity есть на рынке, предоставляют.
- Cortex scorecards- платформа, где можно создавать аля scorecard для команд. Эти scorecards основаны на метриках, которые можно вытащить из DORA метрик, SPACE метрик или даже опросов DevEx
- DevEx 360- платформа для проведения опросов на тему DevEx. Эта платформа активно драйвит фреймворк DevEx (и есть в техрадаре от ThoughtWorks)
- Code Climate - платформа для метрик developer productivity, что называется Code Climate Velocity и которая сфокусирована на метриках: DORA Metrics, OKR reporting, code review, PR activity.
- Pluralsight Flow - платформа для оценки командного cycle-time и статистики по активностям вида PR's

Если обобщать, то на рынке существуют неплохие инструменты для статистического управления процессами и их улучшения на уровне самих команд (аля метафора с микроэкономикой из первого поста). Но зачастую нет холистических инструментов для анализа макропоказателей на уровне всей компании, что становится крайне актуально на масштабе инжиниринговой команды 10+ тысяч инженеров (сейчас у нас в Тинькофф примерно такой масштаб). Интересно, что у нас тоже есть своя платформа в виде T-Meter для статистического анализа процессов, которую мы активно развиваем внутри и которую используют технические руководители. Также мы работаем над имплементацией SPACE фреймворка и улучшением опросов по DevEx. В одной из следующих серий Code of Leadership я позову в гости коллег, что драйвят эти направления и мы обсудим эти вопросы подробнее. А вот общих инструментов для оценки эффекта за счет изменения глобальных параметров системы я особо не знаю. Мне кажется, что такой инструментарий каждая компания делает для себя сама и он сильно пересекается с бизнесом, финансами, hr и остальными функциональными областями внутри компании:)

#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership
Leetcode - прогресс за второй месяц

Раньше я уже рассказывал про свой опыт с Leetcode, но теперь прошел еще один месяц и я оценил качество курса "Data Structures and Algorithms", который я пока прошел на 40%:) Этот курс действительно помогает вспомнить стандартные приемы и вернуть их на уровень легкого и осознанного применения. В итоге, мне стало казаться, что ежедневные задачки на leetcode стали проще, на что мой коллега, другой технический директор, предположил, что я просто научился лучше писать код:) А если говорить без шутко, то я каждый день утром или вечером хотя бы полчасика-часик уделял на leetcode и пропустил только один день на неделе, когда провалялся с давлением. И эта ритмичность помогала не соскочить и отложить тренировку на завтра:)

P.S.
Судя по картинке, можно увидеть, что темп чуток упал. Мне кажется, что это из-за того, что в феврале не было таких больших каникул как в январе, плюс я не решал запоем задачки по sql:)

#SelfDevelopment #Algorithm #Software #SoftwareDevelopment
Спортивное программирование (Competitive programming 3)

Мне нельзя подходить к книжным магазинам, так как я слишком легко превращаюсь в шопоголика. В итоге, я туда редко захожу, но сегодня меня позвали в гости на конференцию DevOps Conf в Сколково и уже тут я наткнулся на локальный развал книг от ДМК Пресс. В итоге, я не смог уйти без покупки и приобрел книгу по спортивному программированию:) Мне конечно уже поздно заниматься таким спортом, но почитать книгу будет интересно:)

#SelfDevelopment #Algorithm #Software #SoftwareDevelopment
Мастер и Маргарита (МХАТ)

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

В общем, ходить в театры интересно, а если ходить в них с детьми, то еще интереснее:)

#Theater #SelfDevelopment