Hard&Soft Skills – Telegram
Hard&Soft Skills
4.95K subscribers
725 photos
10 videos
3 files
515 links
Центр экспертизы для опытных инженеров и архитекторов в IT
https://hardsoftskills.dev

Курсы:
Технический лидер
Solution Architect
CTO Starter Pack

Участвуйте в мероприятиях
https://hardsoftskills.dev/calendar

Чат: @chathardsoftskills
Download Telegram
Гигиенический чеклист техлида при делегировании задач

Корректное делегирование задач — ключ к эффективности команды, но даже опытные техлиды часто упускают важные детали.

⚠️ Ошибка: Делегировать задачу, не передавая полномочия принимать решения

Если даёшь исполнителю только список действий, но не назначаешь за ним конечный результат и свободу выбора метода достижения, он будет постоянно переспрашивать.

Вместо этого сформулируйте не просто задачу, а ожидаемый результат: какой итог вам нужен и как вы поймёте, что цель достигнута.

🔸 Чёткий результат: опишите конечный исход и критерии успеха, а не просто набор шагов.
🔸 Полномочия: обозначьте, какие решения человек может принимать самостоятельно и где нужно с вами согласовать изменения.
🔸 Рамки ответственности: уточните ограничения, в которых исполнитель действует, и как поступать при возникновении сложностей или вопросов.

❗️ Ошибка: Недостаточно контекста и приоритета у исполнителя

Без полного контекста разработчик не видит общей картины задачи и может тратить время на уточнения или неверную работу.

Что включить в делегирование:

🔹 Бизнес-контекст: "клиент X грозит уйти, если не решим до конца квартала"
🔹 Технический контекст: ссылка на ADR, связанные PR, метрики до/после
🔹 Explicit приоритет: P0 (бросаем всё), P1 (в текущий спринт), P2 (backlog). Без P0/P1/P2 задача не делегирована
🔹 Зависимости: "блокирует миграцию БД, нужна до 15 ноября"

Ошибка: Делегировать не тому человеку или в неподходящий момент

Поручая задачу человеку без нужных навыков, мотивации или свободного времени, вы рискуете получить плохой результат или задержку. Аналогично наваливать новую работу на период релизов, отпусков или сдачи спринта — неверный подход.

Учитывайте сильные стороны и текущую загрузку команды: выбирайте того, кто сможет качественно выполнить задачу и заинтересован в её результате.

Планируйте делегирование заранее, учитывайте, когда у исполнителя есть возможность сконцентрироваться на новой работе.

Про что нужно помнить:

🔸 Capacity check: у человека есть 60–70% времени на новую задачу? Если нет — это не делегирование, а перегрузка
🔸 Growth zone: задача чуть сложнее текущего уровня (70% умеет, 30% новое). Если 100% знакомо — скучно, если 50% новое — стресс
🔸 Bus factor: не давайте критические задачи одним и тем же людям. Распределяйте экспертизу

🔄 Ошибка: Превращать контроль в микроменеджмент или не контролировать вовсе

Частые проверки мелких деталей подавляют инициативу, а полное отсутствие контроля может привести к неприятным сюрпризам на завершающих этапах.

Найдите баланс: доверьте исполнителю свободу действий, но введите прозрачный цикл обратной связи. Регулярно проверяйте прогресс через отчёты или короткие митинги и корректируйте курс по необходимости.

🔹 Checkpoint 30%: "покажи дизайн/RFC, обсудим риски" — на этом этапе дешево менять направление
🔹 Checkpoint 70%: "code review драфта, проверим интеграцию" — исправляем архитектурные косяки
🔹 Checkpoint 100%: "demo + метрики, готовность к production"

🔹 Критерии успеха: согласуйте заранее, что конкретно должно быть сделано (например, в виде Acceptance Criteria или тестового списка), чтобы в конце не было разногласий.
🔹 Автономия с отчётностью: позвольте исполнителю самому выбирать подход, но попросите периодически информировать вас о ходе и возникающих проблемах.

🧱 Ошибка: Не убирать системные блокеры и не закреплять результат в процессах

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

После выполнения задачи убедитесь, что её результат интегрирован в процессы: обновите документацию, внесите изменения в план работ и автоматизируйте новый процесс – это поможет закрепить результат и избежать возврата к задаче в будущем.
🔥12👍43😁1
🎙Друзья, редкий в наше время Архитектурный Трёп − уже завтра!

🗓 4 ноября, 20:00 (GMT+3)

Тема − огонь🔥: если вы когда-либо совмещали несколько проектов, думали о втором источнике дохода или проходили через удачный (или не очень) опыт работы на двух фронтах − приходите обсудить и поделиться опытом.

Модерирует Настя Бакулова, ей тоже есть что рассказать. Ждём честного, живого разговора.

💬 Приходите участвовать вживую! Напоминаем, что Трёпы не записываются. Пожалуйста, не подключайте свои AI-тулы для записи бесед − мы будем их удалять со встречи из соображений безопасности.

Подробности и регистрация по ссылке🔗
🔥73🕊2
🔥 Как это было: From Code to Talk в Алматы!

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

Спасибо всем, кто пришёл — вы создали невероятно тёплую атмосферу ❤️

Отдельная благодарность нашим спикерам, которые поделились своими историями и опытом:
Юра Морозов, CTO Paylink (и по совместительству непревзойденный ведущий вечера 💪)
Ваня Луценко, Android Tech Lead в Bereke Bank
Тимур Дуюсов, Technical Product Owner в Bereke Bank

🤝 Спасибо нашим партнёрам Bereke Bank и Paylink — за поддержку и участие.

📸 Делимся кадрами с мероприятия и уже ждем новой встречи!
🔥19👍2💘2
⚡️ High-load будущего: serverless, edge computing и AI-driven оптимизации

Как меняются архитектуры под нагрузкой и зачем крупные компании уходят в edge и serverless? Разберём, где заканчивается бесконечный скейл и как ИИ помогает в автоскейлинге, capacity planning и anomaly detection.

🎙 Спикер: Андрей Якушин, Solution Architect и Engineering Manager с 18+ годами опыта в IT.

📅 Сегодня в 20.00 GMT+3

👉 Регистрация
👎3🔥32🤯2
12 зон ответственности CTO – и главная ошибка, из-за которой ломаются компании

💥 70 % digital-трансформаций проваливаются – и не из-за технологий.

Когда CTO зацикливается на технологиях – компания теряет скорость.
Когда CTO фокусируется только на людях – теряет качество.
Когда CTO забывает про бизнес – теряет смысл.

🔭 Мы собрали карту из 12 зон ответственности CTO – от архитектуры и инноваций до найма, безопасности и бюджета.

Но на практике почти каждый CTO проваливает одну и ту же вещь: Коммуникации и доверие.

CTO может идеально считать ROI, управлять облачными расходами и внедрять GenAI –но если команда не доверяет друг другу, все эти метрики ничего не стоят.

🗣 Бизнес рушится не из-за багов или неэффективных пайплайнов, а из-за сломанных коммуникаций.

Современный CTO – не главный инженер. Он – главный переводчик между технологиями и бизнесом.Он создает ясность, культуру и направление, когда вокруг хаос.

Согласно опросу Gartner Peer Community 2023 года, 63% опрошенных назвали навыки межличностного общения и 55% – навыки ведения переговоров – самыми важными качествами CTO для успеха в бизнес-роли, тогда как чисто технические навыки подразумеваются как базовые.

А значит, что лучшие технические директора сейчас – это переводчики. Интерпретаторы неоднозначности. Не потому, что они забыли, как писать код. А потому, что они научились более важному: когда нужно отступить и позволить другим заниматься разработкой.

А в какой из 12 зон вы чаще всего «проваливаетесь» – технологии, люди или бизнес?
👍9🔥4🥱2👎1
Почему одни команды работают стабильно и предсказуемо, а другие регулярно роняют продакшен? – Результаты исследования уровня инженерной зрелости

Месяц назад мы рассказывали, что совместно с Алексеем Обыскаловым, CTO и автором канала «CTO: порядок из хаоса» проводим исследование, чтобы выявить инженерные практики, которые сильнее всего влияют на зрелость инженерных процессов.

🔭 В исследовании приняли участие 106 инженеров. После обработки данных и проверки 1900 статистических гипотез, мы выявили 10 практик, внедрение которых кратно повышает качество процессов, интересные взаимосвязи между размером команды и инженерной зрелостью, а главное, что настоящая инженерная зрелость – это когда система устойчиво растёт без героизма.

👉 Полные выводы исследования читайте в статье на нашем сайте

👉 Также мы подготовили тест, в котором вы сможете оценить инженерную зрелость в своей команде

А пока, вот некоторые результаты:

🔥 Хаос не масштабируется. Команды с 30+ разработчиками не опускаются ниже индекса зрелости 4 из 10. Вероятно, при таком размере со слабыми процессами просто не выживают.

🔢 80% зрелости дают всего 4 блока практик. Самый влиятельный блок – тестирование. Тесты с управляемыми данными, которым доверяет команда, дают почти половину прироста зрелости. Подробнее в статье.

🕸 Чем больше команды, тем сильнее они похожи друг на друга. Если небольшие компании еще могут себе позволить не обновлять документацию, релизить по готовности, а не в рамках четкого цикла, то с ростом числа разработчиков приходится отлаживать процессы и вводить best practices.

Всего одна практика позволяет существенно улучшить ревью и инцидент-менеджмент, и, тем самым, существенно прибавить зрелости команде. Это внедрение PR/MR “паспортов” (цель, тест-ноты, откат).
🔥10👏1🤩1
🔌 Networking as a System: как построить сеть, которая приносит офферы

18 ноября в 20:00 (GMT+3) говорим о том, как осознанно прокачать свой нетворкинг.

В программе:
• Как пробить “стену” AI-рекрутеров и сотен резюме на вакансию
• Социальный капитал и «слабые связи»: почему они работают лучше всего
• Архетипы нетворкеров – какой ваш?
• Как превратить хаотичные связи в систему, которая работает даже без вас

Спикер:
Никита Щетько – человек, который объединяет IT-шников. Ментор HardSoftSkills, организатор IT SOUL CAMP ⛺️, Frontend Lead в 3dway.io и кофаундер healthtech-стартапа.

Регистрация🔗
🔥12👍6
"Двойная жизнь" разработчика: выводы Архитектурного Трепа #128

💻 Планирование и физическое разграничение

Ключ к выживанию – жёсткие границы. Эффективно работает разделение по времени: один проект утром, второй – вечером.

Идеально, если клиенты находятся в разных часовых поясах. Физическое разделение – обязательно для фокуса.

У меня два ноутбука. То есть один клиент на одном ноутбуке, второй клиент на втором. И вот этот момент очень круто сработал, потому что фокус внимания смещается

Для переключения контекста помогают «точки остановок» – фиксация в конце дня (или недели), что сделано, а что нет. Многим удобнее всего вести их в бумажном блокноте.

Я вернулась к старому доброму способу. Я каждое утро пишу точку остановок. В конце дня я зачеркиваю, что сделано. У меня ушла тревога, что я что-то забуду

⚖️ Юридические рамки и конфликт интересов

Внимательно читаем контракт. Часто встречаются прямые запреты на работу с конкурентами, в той же доменной области или даже на тех же технологиях.

У меня по контракту я не могу работать на той же технологии, на которой я работаю с основным заказчиком. То есть идет конфликт интересов


Важные юридические моменты:

🔹 Проверьте пункты о Non-compete и NDA.
🔹 Контракты со сложными или стремными пунктами лучше отдать на ревью юристу, который поможет найти лазейки.
🔹 Для фриланс-проектов удобно использовать статусы ИП или самозанятого, чтобы легализовать доход.

🚀 Эффективность vs Выгорание

Две работы резко повышают личную дисциплину. Уже нет времени на «раскачку», мозг ищет кратчайший путь к решению и перестает бояться просить о помощи.

То, что ты раньше делал 8 часов, тебе желательно впихнуть в 6, а еще лучше в 4. Мозг работает максимально


Обратная сторона: есть риск потерять время на рефлексию и стратегическое мышление, так как фокус смещается на решение тактических задач в моменте.

Нет времени на вот эту рефлексию. Ты как бы эффективен, но ты эффективен в моменте. Ты не можешь думать наперед


Восстановление становится критически важным: ритуалы (режим дня), спорт или массаж, и делегирование бытовых задач (клининг, готовка). Многие также делегируют рефлексию психологу.

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

🗣 Коммуникация и ожидания

Говорить ли о второй работе? Консенсус: не афишировать с флагом, но и не врать, если спросят. Важно выстроить прозрачные отношения через регулярные 1:1, чтобы убедиться, что качество вашей работы не страдает.

У нас есть one-to-one митинги, когда я спрашиваю у своего менеджера, типа, все окей, всем все нравится?


Идеальный второй проект – тот, где нет микроменеджмента и жёсткого контроля, а фокус на результате. Иногда можно преподнести вторую занятость как платное хобби (например, менторство или свой проект).

🏁 Стратегия совмещения и горизонт

Мотивы со временем меняются: часто начинают из-за денег, но потом остаются ради интереса, изучения нового стека или развития soft skills.

В первую очередь для меня были важны деньги, а уже остальное ушло на второй план. Сейчас я начинаю кайфовать, мне очень нравится


Ключевое – иметь стратегию выхода или пересмотра:

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

Я дала себе год. Через год я буду садиться и уже решать, в каком варианте я останусь. Возьму одну в фулл-тайм, вторая, скорее всего, что это будет свой личный проект


На следующей неделе встретимся, чтобы обсудить найм инженеров: как определить толкового специалиста, как проводить собеседования и как оценивать soft skills и что вообще происходит на рынке.

🔗 Регистрируйтесь по ссылке
🔥136💯2👍1
Друзья, рады сообщить, что впереди нас ждут два Трёпа, и ближайший уже завтра! 🚀

🎙 Архитектурный Трёп №129
📅 20 ноября, 20:00 (GMT+3)

Тема: Как искать толковых инженеров и проводить собеседования, когда рынок перегрет

Обсудим самое важное и живое:

1️⃣ Кто такой “толковый инженер” сегодня?
2️⃣ Как проектировать интервью: задачи, архитектурные кейсы, обсуждение фейлов — что реально раскрывает кандидата?
3️⃣ Soft skills: что и как оцениваем?
4️⃣ Эра LLM и новая инженерная роль — что теперь важнее?
…и многое другое!

👤 Модератор: Юрий Морозов

🔗 Регистрация
🔥13👏3😁1
Слабые места всех команд разработки – выводы исследования инженерной зрелости

Мы проанализировали ответы 106 инженеров и CTO, чтобы понять, из чего на самом деле состоит инженерная зрелость. Полный разбор исследования с графиками, картой аномалий и рекомендациями для команд разного размера читайте в статье на нашем сайте.

Пройдите наш тест, чтобы узнать, на каком уровне зрелости находится ваша команда.

А теперь к выводам.

CI/CD научились настраивать почти все – в 2025 году это уже базовая гигиена. А вот процессы, требующие коммуникации и дисциплины, остаются слабым местом даже у крупных команд.

📄 Документация: Хронический техдолг

Блок Documentation & Processes остается на низком уровне у всех групп респондентов (рост всего с 3.65 до 5.24 по десятибалльной шкале). Эта область не лечится простым увеличением штата или бюджета.

Документация – вечная боль инженерных команд. Чтобы писать доки, нужно выделять рабочее время, которое можно потратить на другие, более приоритетные задачи. Но если этого не делать, то со временем разработчики перестают читать документацию, и тогда она остается “для галочки”.

В исследовании мы увидели, что документация работает как скрытый мультипликатор. Она не двигает метрики сами по себе, но усиливает эффект всех остальных практик.

Что реально работает:

🔹 Живой Engineering Handbook: не мертвая вики, а обновляемый гайд, который является «источником правды» для команды

🔹 Культура ADR (Architecture Decision Records): фиксация контекста важных решений, чтобы через год не гадать, почему выбрали именно эту базу данных

🔹 Онбординг-гайды: практика с высоким ROI, которая напрямую влияет на скорость включения новичков и снижает нагрузку на лидов

Что еще можно сделать, чтобы улучшить документацию, читайте в нашем посте.

🚀 Release Management: От "как готово" к DRI

С ростом размера команды метрика Release Management растет незначительно (3.54 → 5.12). Если в малых командах (до 10 человек) релизят по готовности и без четкого цикла, то на масштабе 50+ человек такой подход превращается в хаос.

Главный инсайт: большие команды становятся похожи друг на друга, потому что хаос перестает масштабироваться. Выживают только те, кто внедряет жесткие процессы.

Признаки зрелого релизного цикла:

🔸 DRI (Directly Responsible Individual): назначение конкретного ответственного за релиз, чтобы избежать коллективной безответственности

🔸 Feature flags: возможность выкатывать код, не ломая прод, и отвязывать деплой от релиза бизнес-фичи

🔸 Rollback-тренировки: понимание, как быстро откатиться, если что-то пошло не так, вместо панического фикса на живую

👀 Code Review: Культура важнее инструментов

Качество ревью растет очень умеренно (5.17 → 5.79) даже при кратном росте команд.

Наличие code owners и линтеров помогает, но не решает фундаментальную проблему. Если в культуре принято аппрувить не глядя или, наоборот, устраивать холивары из-за отступов, никакие инструменты не спасут.

Эффективные практики здесь – чисто организационные:

🔹 Включенный PR/MR size-guard: жесткое ограничение размера пулл-реквеста. Чем меньше изменений, тем качественнее ревью

🔹 PR-паспорт: обязательное описание цели, тест-ноты и план отката прямо в описании задачи. Это дает максимальный эффект при минимальных усилиях (+3.96 к удовлетворенности инцидент-менеджментом)

💎 Куда инвестировать усилия: Матрица ROI

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

🔸 Управляемые тест-данные (фикстуры/снепшоты): база для доверия к тестам. Без этого вы будете бояться собственных релизов

🔸 Централизованные секреты (Vault): влияет сразу на 5 метрик зрелости, включая безопасность и CI/CD

🔸 Burn-rate алерты по SLO: переход от “упал сервер” к “мы тратим бюджет ошибок слишком быстро”

Другие значимые практики, связи между ними, а также то, как они влияют на общую инженерную зрелость команды, вы найдете в статье у нас на сайте
🔥7👍1
Мы готовим закрытый митап про архитектуру системы под названием "техлид".

27 ноября Павел проведет закрытое мероприятие для техлидов.

Если вы раньше интересовались нашим курсом «Технический лидер» или были на консультации с Павлом, проверте почту или чатбот @HardSoftSkills_Assistant_bot – там может быть ваше приглашение.

Что будет на митапе:

- из каких компонентов состоит техлид;
- как взаимодействуют между собой компоненты техлида;
- SLA техлида;
- типичные кейсы неправильного использования техлида на уровне компонентов и их взаимодействия;
- как апгрейдить компоненты техлида;
- чек-лист «10 признаков стабильного техлида».

Запись только для участников.
🔥10😱2
📣 Друзья, сегодня вечером всех ждем на Архитектурном Трёпе №130!

📅 25 ноября, 20:00 (GMT+3)

Тема: Боли и радости построения производственного процесса в IT

Что обсудим:
1️⃣ Процессы: водопад, скрам, канбан, SAFe — когда что работает и где подводные камни.
2️⃣ Жизненный цикл потребности: как работать с бэклогом, роли, приоритезация, статусы, управление рисками.
3️⃣ Метрики: какие действительно помогают, как собирать и где можно промахнуться.

👤 Модератор: Елизавета Булыгина

Регистрация
🔥74
Найм инженеров сегодня: в поиске человеческой адекватности – выводы Архитектурного Трепа #129.

💻 Хард-скиллы: фундамент вместо тестовых

Приоритеты в оценке навыков меняются. Интервьюеры отказываются от долгих форматов в пользу интерактивных:

🔸 Домашние задания — уходят в прошлое. Сеньоры не готовы тратить на них выходные, а джуниоры приносят идеально сгенерированный AI-код без понимания сути.

🔸 Лайвкодинг и System Design — становятся базой. Важно проверять не знание синтаксиса наизусть, а умение рассуждать и строить системы в реальном времени.

🔸 SQL и базы данных — новый фильтр адекватности. Даже при работе с ORM непонимание процессов под капотом выдает пробелы в квалификации.

Я лучше посмотрю, как кандидат 15 минут гуглит ошибку в IDE, чем прочитаю идеально вылизанное тестовое, которое он делал (или не он) три дня.


🤖 ИИ на собеседовании: инструмент или читерство?

Бороться с использованием LLM бесполезно, индустрия приходит к принятию этого инструмента.

Вопрос не в том, списал ли кандидат, а в том, способен ли он валидировать ответ нейросети.

Хорошей практикой становится открытое использование Copilot на лайвкодинге: это показывает реальный процесс работы инженера.

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

Если кандидат использует ChatGPT как "умный T9" для бойлерплейта — это плюс. Если он копирует вопрос и ждет ответа, не понимая контекста, — это отказ.

Если мы запрещаем гуглить и использовать AI на собеседовании, мы нанимаем людей для работы в вакууме, а не в реальном мире.


Архитектура интервью: сколько этапов нужно на самом деле


Оптимальная воронка стремится к компактности. Растягивание процесса на 5-6 этапов резко снижает конверсию, особенно среди сильных кандидатов, у которых на руках уже есть офферы.

Золотой стандарт для Senior-позиции — это 2-3 технических этапа плюс финальное знакомство.

Знакомство с командой (culture fit) часто недооценивают, ставя его в самый конец или вообще пропуская. Но именно на этом этапе выясняется, сработаются ли люди.

Лучше отсеять кандидата до оффера, чем уволить через месяц из-за несовпадения ценностей.


🚩 Soft Skills и красные флаги: токсичность дороже компетенций

Технически гениальный, но токсичный сотрудник способен развалить команду за полгода. Проверка софт-скиллов перестала быть формальностью HR-отдела и стала обязанностью техлидов.

Важно провоцировать кандидата на сложные ситуации: как он реагирует на критику своего кода? Как объясняет сложные вещи простым языком?

Особое внимание стоит уделять красным флагам, которые часто всплывают в мелочах:

🔹 Обвинение прошлых коллег: если у кандидата "вокруг были одни идиоты", скорее всего, проблема не в окружении.

🔹 Неспособность признать ошибку: попытки оправдать очевидный баг вместо анализа причины.

🔹 Отсутствие вовлеченности в бизнес: позиция "я пишу код, а деньги меня не касаются" для сеньора уже неприемлема.

🔹 Перебивание и высокомерие: стиль общения на интервью с вероятностью 100% перенесется на код-ревью.

Хард-скиллы помогут тебе пройти интервью, но только софт-скиллы помогут тебе не вылететь на испытательном.


🎓 Джуны, аутстафф и фриланс: специфика воронок


В найме джуниоров резюме почти не работают — там у всех одинаковые пет-проекты и курсы. Здесь решает блеск в глазах и базовая обучаемость.

Хороший маркер — наличие завершенного, пусть и кривого, проекта, который живет где-то в продакшене, а не только на GitHub.

С аутстаффом и фрилансерами главная проблема — кот в мешке. Часто под видом сеньора продают мидла. Здесь критически важна жесткая техническая валидация на входе, так как цена ошибки выше из-за отсутствия долгосрочной лояльности к продукту.

Мы нанимаем джунов не за то, что они умеют сейчас, а за то, кем они станут через год при нашей поддержке.
👍12🔥91😁1
Архитектурные катастрофы — часть 5: как Cloudflare упал из-за кривого SQL-запроса

18 ноября 2025 года Cloudflare пережил, возможно, свой худший сбой с 2019 года. Глобальный прокси, защищающий и ускоряющий значительную часть интернета, начал отдавать 5xx ошибки, утянув за собой тысячи клиентов.

🔥 Что произошло?

В 11:20 UTC мониторинг зафиксировал резкий скачок 5xx ошибок на уровне Core Network. Трафик перестал маршрутизироваться корректно.

Симптомы напоминали классическую мощную DDoS-атаку: система то падала, то восстанавливалась (флуктуировала). Это сбило команду с толку — инженеры начали искать внешнего врага.

Однако реальность оказалась прозаичнее: система убила сама себя изнутри. Проблема затронула не только клиентский трафик, но и внутренние сервисы: Turnstile, Workers KV и Dashboard.

🧠 В чем причина?

Корень зла крылся в изменении прав доступа в кластере ClickHouse, который генерирует конфигурационные файлы для системы Bot Management.

🔹 Триггер: Инженеры выкатывали улучшение безопасности, делая доступ к таблицам явным. В 11:05 был применен патч, который позволил запросам видеть метаданные не только виртуальной базы default, но и физической базы r0 (шарды).

🔹 Логическая ошибка: SQL-запрос, собирающий "фичи" для ML-модели, выглядел так:
SELECT name, type FROM system.columns WHERE table = 'http_requests_features' order by name;


Он не фильтровал по имени базы данных. Раньше это работало, потому что видна была только одна база. После апдейта прав запрос вернул дубликаты столбцов (от default и от r0).

🔹 Эффект снежного кома:

1. Файл конфигурации ("feature file") удвоился в размере из-за дубликатов.

2. Этот файл улетел на все прокси-серверы сети (FL — Frontline).

3. Код на Rust, читающий этот файл, имел hard limit на количество фичей (около 200) для преаллокации памяти. Реальное использование было ~60, но дубликаты пробили лимит.

4. Результат — паника в Rust:
thread fl2_worker_thread panicked: called Result::unwrap() on an Err value.


Да, глобальная сеть упала из-за unwrap() на ошибке валидации размера конфига.

📉 Последствия и ущерб

Хотя точные финансовые потери не разглашаются, репутационный удар оказался мощным. Cloudflare позиционирует себя как гарант надежности, но в итоге сам стал точкой отказа для огромной части интернета.

Последствия от падения сервисов:

🔸 Core CDN & Security: 5xx ошибки для конечных пользователей.
🔸 Turnstile: Капча перестала грузиться, заблокировав входы на тысячи сайтов.
🔸 Workers KV: Отказ шлюза из-за падения прокси.
🔸 Dashboard: Клиенты Cloudflare не могли залогиниться, чтобы понять, что происходит (потому что логин защищен упавшим Turnstile).

🙉 Ирония дня: Status Page (хостится отдельно) тоже упал, но по совпадению, что окончательно убедило инженеров в версии "нас атакуют по всем фронтам".

Из-за этого сбоя были недоступны X (который Twitter), ChatGPT, сервисы Anthropic и другие.

🛠 Как инженеры Cloudflare исправили ситуацию?

Первые полтора часа ушли на ложный след (DDoS) и попытки изолировать проблему трафиком.

🔹 Диагностика: Когда стало понятно, что атаки нет, инженеры коррелировали сбой с генерацией конфигурации Bot Management. Флуктуации объяснялись тем, что ClickHouse кластер обновлялся постепенно: "старые" ноды генерировали хороший конфиг, "новые" — плохой.

🔹Локализация: В 14:24 была полностью остановлена автоматическая пропагация новых конфигурационных файлов.

🔹Rollback: Инженеры вручную залили "известно хорошую" (last known good) версию файла в очередь дистрибуции.

🔹Перезагрузка: Пришлось форсированно перезагружать Core Proxy, чтобы сервисы вышли из состояния паники. Основной трафик восстановился к 14:30.

Полное восстановление заняло почти 6 часов (с 11:20 до 17:06 UTC).

🔍 Что можно было сделать, чтобы не допустить такое происшествие?

Напишите в комментариях, что, по вашему мнению, помогло бы избежать этого инцидента.
🔥10👏3😁32
🔐 Security Risk Management | 2 декабря в 20.00 (GMT+3)

Как построить работающую систему управления рисками безопасности - от первых тревожных сигналов до конкретных действий?

Что обсудим:
1️⃣ Как выявлять угрозы на уровне архитектуры: threat modeling, типовые атаки, связь решений и рисков
2️⃣ Inherent vs Residual Risk — что это и почему важно различать
3️⃣ Как собрать рабочую risk-model: фреймворки, матрицы, приоритизация
4️⃣ Как архитектура напрямую влияет на безопасность продукта
5️⃣ Как переходить от анализа к действию: mitigation, response, чек-листы, кейсы

🎙 Спикер: Андрей Якушин, Solution Architect и Engineering Manager с 18+ годами опыта в IT.

Регистрация
🔥4👍2👎2
Какие навыки развивать сеньору, чтобы не отставать от рынка и расти по карьере?

📺 Приглашаем на открытый митап [Технический Лидер] с Павлом Вейником.

Павел — ex-Architect Miro и EPAM, CTO стартапов и основатель Hard&Soft Skills. За его плечами 20+ лет в разработке и более 1000 обученных инженеров, из которых 450+ — техлиды, архитекторы и CTO. Он точно знает, как устроен переход на следующий грейд.

🗣 Что будем обсуждать

🔹 Рост инженера: как преодолеть стеклянный потолок сеньора, изменить мышление и понять, чего не хватает для следующего шага.

🔹 Влияние AI: реальная ситуация на рынке труда и стоит ли разработчикам и архитекторам опасаться “тумана AI”.

🔹 Рынок и деньги: обзор зарплат и спроса на техлидов и архитекторов в СНГ и Европе.

🔹 Битва ролей: четко разграничим зоны ответственности Tech Lead, Team Lead и Architect.

Вы разберетесь в актуальных трендах IT-рынка, поймете фундаментальные отличия грейдов и сможете построить личную стратегию карьерного и финансового роста на 2026 год. Также вы сможете задать свои вопросы эксперту по сложным архитектурным и карьерным кейсам.

👋 Кому будет полезно

Ждем backend-разработчиков уровня Senior, действующих техлидов и solution-архитекторов, которые хотят развиваться и ищут новые вызовы.

🗓 Дата и время: 16 декабря в 19:00 (GMT+3)

🔗 Регистрируйтесь по ссылке и задавайте свои вопросы!
🔥5
Внутрянка Enterprise-разработки: как выживают большие банки между SAFe, безопасниками и техдолгом — выводы Архитектурного трёпа #130

🏢 Структура Enterprise: Трайбы, Арты и выбор методологии

Когда IT-департамент разрастается до 600+ человек (плюс вендоры), плоская структура умирает. Иерархия выстраивается от Трайбов (по линиям бизнеса) к IT-стримам, которые делятся на Арты (отвечают за системы или их части), и только в конце цепочки стоят конкретные команды

Выбор между Scrum и Kanban здесь — это не вопрос вкуса, а вопрос функции

Продуктовые команды, сфокусированные на изменениях (Change) и новых фичах, живут по Scrum

Команды, работающие с операционкой, поддержкой и стабильным потоком задач (Run), выбирают Kanban

Поверх всего этого лежит фреймворк SAFe, который синхронизирует десятки команд через общее квартальное планирование

Kanban — для операционки, у них сплошной поток задач. Scrum — для проектной деятельности, когда мы планируем и разрабатываем инкремент


🔄 Жизненный цикл бизнес-потребности и планирование

Чтобы бизнес-идея дошла до продакшена, процесс выстроен через жесткие фильтры и этапы согласования:

🔸 Ролевая трансформация: Потребность формулируют бизнес-технологи, а IT-технологи (аналог системных аналитиков) превращают их в BPMN-схемы для архитекторов

🔸 Дорогое планирование: Раз в квартал вся разработка останавливается на три дня, чтобы команды синхронизировались и проставили зависимости друг на друга

🔸 Проектная надстройка: Для сложных внедрений, затрагивающих множество систем, вводится слой проектного управления, где PM управляет ресурсами сразу нескольких команд, иногда конфликтуя с их текущими планами

Бизнес всегда формулирует потребности больше, чем может сделать IT. Что успели — выполнили, что не успели — переприоритизируйте и повышайте важность


📉 Священные 20% на Технический долг

В зрелом Enterprise борьба с энтропией заложена в процесс. Неважно, горит ли план у бизнеса — 20% емкости команды железно резервируется под техдолг

Приоритизацией этого долга занимаются IT-лидеры (техлиды направлений) и архитекторы

Существует понятие «критический архитектурный долг» — ситуация, когда развитие системы принудительно останавливают, чтобы переписать фундамент, иначе невозможно выполнить требования регуляторов или бизнеса

Как бы бизнес ни хотел присунуть еще какую-нибудь потребность, команды четко считают, чтобы 20% осталось на технический долг


⏱️ Оценка сроков и войны с Project Manager'ами

Разработчики склонны мыслить "идеальным" временем кодинга, забывая про реальность

Чтобы не срывать сроки, опытным путем вывели формулу трех времен:

🔹 Чистое время — сколько часов нужно, чтобы просто написать код

🔹 Грязное время — код плюс кофе, митинги и контекстные переключения

🔹 Календарное время — грязное время плюс выходные, праздники и код-фризы

PM часто пытаются продавить команду на сделать побыстрее/подешевле. Защита строится на метриках (velocity/capacity) и эскалации рисков

Архитектор может согласиться на дешевое решение, но только под подпись, что это создаст техдолг, который придется отдавать в следующем спринте

Программист поставил 8 часов. Но грязного времени это будет 12-16, а календарное еще и с выходными. Заказчику надо календарное время показывать, иначе вы все время будете срывать срок


🔐 Инфраструктурные ограничения, безопасность и сервисная модель

Инфраструктура банка и организационные изменения накладывают свои ограничения на скорость и удобство работы:

🔸 Геометрия безопасности: Контуры безопасности выстроены не матрешкой, а сложной геометрией смежных зон: часто система не может постучаться к соседу из-за сетевых запретов

🔸 Тренд на ITSM: Архитекторы, DevOps и QA выводятся из команд в отдельные сервисы и заказываются по запросу, как услуги

🔸 Риск потери контекста: Главная проблема модели — приходящему "как сервис" специалисту нужно слишком много времени на погружение в незнакомую систему

Контуры не вложены один в другой, как матрешка, а граничат между собой, как сложносочиненная фигура. Из одной системы сделать запрос в другую запрещается безопасностью
🔥8❤‍🔥5