Performance Memo
9 subscribers
15 photos
Download Telegram
Поколение «Approve»: почему я заставил команду переписать проект, который уже работал

В индустрии любят одну и ту же легенду: AI ускорил разработку в 3 раза, продукт теперь собирается за выходные, а команда стала «эффективнее». На бумаге это выглядит как победа. В реальности — часто начинается дорогой хаос.

Наша команда тоже прошла через это. Снаружи проект уже работал: задачи закрывались, код летел, сроки сокращались. Но внутри быстро вырос новый слой проблем — не скорость, а контроль. Кто проверяет логику? Кто отвечает за качество? Где граница между «сгенерировали» и «поняли»?

Именно поэтому я остановил процесс и заставил переписать часть проекта заново. Не потому что AI не работает. А потому что без системы он создаёт иллюзию прогресса, а не прогресс.

Что это меняет для команды:
1. скорость без ревью = будущий скандал;
2. AI снимает рутину, но не снимает ответственность;
3. если проект можно собрать быстрее, его нужно собирать жёстче.

Поколение «Approve» — это не про запрет AI. Это про новую дисциплину, где выигрывают не те, кто нажал быстрее, а те, кто умеет остановиться вовремя.
Kafka не ломает систему. Она ломает иллюзию, что сообщение обработается ровно один раз.

В очередях с consumer’ами главный конфликт обычно не в скорости, а в повторной обработке. Сообщение уже ушло, сервис его увидел, но дальше что-то пошло не так: таймаут, падение, retry — и вот тот же event прилетает второй раз. В проде это не «техническая мелочь», а источник дублей, неконсистентных статусов и ложных срабатываний в смежных сервисах ⚠️

Что важно держать в голове:
- Kafka гарантирует доставку, но не спасает от дублей
- retry без idempotency быстро превращается в хаос
- consumer должен уметь отличать новое сообщение от повторного
- бизнес-логика должна переживать повторный вход без последствий

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

В этом месте обычно и происходит скандал: разработка считает, что «брокер же доставил», продукт уверен, что «система должна сама», а операционная команда потом разгребает дубли руками. 🔥
Автоматизация тестирования в крупной компании часто выглядит как победа здравого смысла. А потом выясняется, что у каждой команды свой фреймворк, свои костыли и свой «единственно правильный» подход. Итог предсказуем: зоопарк инструментов, дублирование работы и ИИ, который не понимает контекст, а значит — только усиливает хаос.

В Сбере этот хаос попробовали не замаскировать, а централизовать. Собрали единый Perfeccionista-framework, подключили RAG и MCP-сервер, чтобы LLM работали не по абстрактным догадкам, а по реальному контексту тестов 🧩

Главный сдвиг здесь не в том, что «ИИ теперь пишет тесты». Сдвиг в другом: тестировщик перестает быть оператором рутины и становится человеком, который умеет формулировать задачу для модели, проверять качество результата и держать предметную область в голове.

Вывод жесткий: победит не тот, у кого больше автотестов. Победит тот, кто сумел навести порядок в архитектуре тестирования и сделать ИИ частью системы, а не очередной игрушкой поверх бардака.
Race Condition — это не «редкий баг», а классическая причина, почему системы внезапно начинают проигрывать сами себе.

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

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

У Race Condition есть три типовых формы:
1) гонка на чтение/запись;
2) гонка на проверку и действие;
3) гонка на ресурсах и лимитах.

Что делать команде:
— искать места, где один и тот же объект меняется из нескольких потоков;
— проверять критичные сценарии на параллельные запросы;
— ставить блокировки, транзакции и идемпотентность там, где ошибка стоит денег ⚠️

Если в продукте есть платежи, лимиты, бонусы или права доступа — это не «может быть когда-нибудь». Это зона обязательного аудита.
Платёжный контур чаще всего ломается не в API, а в уверенности команды, что «всё уже учтено».

Пока webhook приходит один раз, вовремя и с правильным статусом, система выглядит надёжной. Но первый сбой быстро расставляет роли:
— дубль события показывает слабый idempotency;
— задержка вебхука вскрывает ложную синхронизацию;
— чужой IP превращает интеграцию в дыру;
— расхождение локальной базы и ЮKassa делает отчётность фикцией.

Поэтому зрелая схема — это не «приняли оплату и обновили статус», а цепочка с защитой на каждом шаге:

| Узел | Что защищает |
|---|---|
| IP-check | от мусорных и поддельных запросов |
| event log | от потери истории и спорных статусов |
| idempotency key | от повторного capture |
| валидация суммы/валюты/metadata | от ошибок данных |
| аварийный confirm | от ручного тупика |

Главный вывод простой: платежи нельзя доверять «на глаз». Контур должен не только принимать webhook, но и уметь пережить сбой, догнать расхождение и вернуть систему к реальному статусу. Иначе выигрывает не продукт, а случай. ⚠️
Anthropic показала не просто «еще одну сильную модель», а инструмент, который уже лезет в продуктовый контур.

Кейс показательный: Claude Fable 5 одним промптом собрала браузерную игру — не демо-экран, а полноценный мини-продукт с идеей, механикой, балансом, интерфейсом и концовками. Внутри — симулятор админа ИИ-канала. Да, тот самый жанр, где хаос, дедлайны и вечный выбор между охватом и здравым смыслом.

Что это значит для paid-ads и growth:
1. Генерация креативных гипотез перестает быть узким местом.
2. Быстрее собираются MVP под тесты, лендинги, интерактивные механики.
3. Снижается цена ошибки на раннем этапе: можно проверять не «идею в вакууме», а почти готовый сценарий.

Но есть и проигравшие. Команды, которые все еще ждут, что ИИ «просто поможет копирайтеру», уже отстают. Модель начинает закрывать целые куски работы: от концепта до упаковки. ⚠️

Вывод для руководителя: ставка теперь не на отдельный промпт, а на процесс, где ИИ встроен в цикл теста, креатива и сборки продукта. Кто соберет этот контур первым, тот и заберет скорость.
Мемо недели: в C++ снова спорят об алиасинге памяти — и это не академическая драка, а конфликт с реальными проигравшими.

Старое правило звучало просто: если компилятор не уверен, что два указателя не пересекаются, он начинает «догадываться» сам. Для разработчика это выглядело как магия, для оптимизатора — как право переписать логику под свои нужды. Итог знакомый: код вроде корректный, а на проде — редкие, злые, почти неуловимые баги.

Комитет по стандарту пытается разрулить эту историю уже много лет. Проблема в том, что алиасинг — не отдельная ошибка, а узел из undefined behavior, наследия старых решений и попыток «починить всё одним пропозалом». Такие ремонты обычно заканчиваются одинаково: часть систем выигрывает, часть теряет, а большинство команд получает ещё один слой правил, который надо держать в голове.

Что это значит для perf-команд и инфраструктуры:
- не надеяться на «интуитивно очевидный» C++
- отдельно проверять места, где память может пересекаться
- помнить: компилятор оптимизирует не ваш замысел, а формальные гарантии

Главный вывод простой: в низкоуровневых языках проигрывает не самый слабый код, а самый неявный. ⚠️
Сайт на WordPress редко ломается из-за дизайна. Чаще — из-за «давайте ещё одну простую штуку добавим».

Формы с файлами, видео, несколько вложений, слайдеры, модалки, галереи на мобилках, согласие на ПДн — на словах это набор базовых требований. На практике это превращается в кладбище плагинов, где каждый обещает «всё и сразу», а потом конфликтует с половиной темы.

В 2025-м главный риск не в том, что что-то нельзя сделать. Риск в том, что это делают быстро, бесплатно и без архитектуры. Итог одинаковый:
— сайт тормозит,
— формы не отправляются,
— галерея на мобильном разваливается,
— обновление одного плагина ломает три других,
— владелец бизнеса думает, что виноват подрядчик, хотя виновата «экономия на старте».

Полезная логика простая: не искать плагин-героя, искать минимальный рабочий стек. Один плагин — на формы. Один — на модалки. Один — на галереи. И сразу проверка: мобильная версия, уведомления на почту, согласие на данные, совместимость с темой.

WordPress любит не тех, кто ставит больше, а тех, кто режет лишнее. Иначе джентльменский набор быстро превращается в набор проблем. ⚙️
У одного из самых недооценённых решений в арсенале маркетинга всегда был один и тот же враг — мода на «удобное».
Пока рынок влюблялся в красивые интерфейсы, старый матричный принтер спокойно делал работу, которую новый стек не мог закрыть так же дешево и надёжно.

Вот в чём конфликт:
- новое оборудование выглядит лучше,
- старое — часто масштабируется проще,
- а победа в операционке обычно достаётся не самым эффектным, а самым предсказуемым.

Автор держал Epson MX-80 не из ностальгии. Он оставил его, потому что для одной задачи он был идеален: печатать этикетки быстро, программно, без лишней ручной возни. И это очень похоже на performance-мышление: не выбирать «лучший канал вообще», а выбирать инструмент под конкретный KPI.

Вывод для команды:
1. Не путать обновление стека с улучшением результата.
2. Считать стоимость рутины, а не только стоимость девайса.
3. Оставлять в системе «старые» решения, если они дают лучший unit economics.

В маркетинге слишком часто увольняют не людей, а рабочие процессы. А потом удивляются, почему масштабирование стало дороже. 🧩
ИИ в разработке обещали как ускоритель. На практике он устроил в команде не только рост, но и конфликт KPI.

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

Главный скандал не в том, что AI «не работает». Он работает слишком хорошо на первом этапе и слишком слабо там, где зарабатывается прибыль: интеграции, поддержка, ответственность, прогнозирование сроков. 🤖

Что это значит для руководителя:
- считать не часы, а cost per accepted output;
- отдельно мерить скорость генерации и скорость принятия;
- усиливать ревью и QA, а не только закупать лицензии;
- пересобирать нормы выработки, иначе команда будет «делать больше» и компания — зарабатывать меньше.

AI-assist — не экономия по умолчанию. Это перераспределение затрат. И выигрывает тот, кто раньше других пересчитает воронку труда.
Мемо недели: ещё один терминал Сбера пошёл под нож.

На этот раз — Kozen P10F: более свежая модель, которую ставят в киосках самообслуживания и на кассах. Внешне — уже не тот «квадрат», внутри — та же логика рынка в миниатюре: один и тот же железный корпус, разные сценарии контроля, разная степень закрытости.

Главный вопрос здесь не про любопытство, а про власть над устройством. Можно ли заменить прошивку? Что реально находится внутри? И почему одни терминалы выглядят как обычный embedded-девайс, а другие — как маленький сейф с правом на ошибку только у производителя? 🔧

Такие разборы полезны не только инженерам. Это учебник по тому, как устроены закрытые экосистемы: кто владеет железом, кто управляет софтом, где заканчивается сервис и начинается монополия.

И да — чем новее модель, тем чаще за красивым корпусом стоит более жёсткая логика блокировки. Побеждает не тот, кто покупает устройство, а тот, кто контролирует обновление.
В сложном ИТ-ландшафте главный враг — не баги, а самодеятельность.

Когда изменения идут без единого контура, компания получает классический набор последствий: дублирующие доработки, конфликт релизов, потерянные требования и вечный спор «кто это вообще согласовал». В результате цифровой двойник перестаёт быть инструментом управления и превращается в музей артефактов.

Чтобы не проиграть этот конфликт, изменения нужно проводить через жёсткую связку из трёх сущностей: задание на разработку, релизный контейнер и проект. Каждая из них отвечает за свой уровень контроля:
— задание фиксирует смысл изменения;
— релизный контейнер держит состав и сроки;
— проект связывает всё с целями и ответственностью.

Именно здесь решается, кто в выигрыше: хаотичная команда, которая «быстро сделала», или бизнес, который получил управляемое изменение без сюрпризов. 🧩

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

Снаружи — «стратегия, roadmap, синхронизация». Внутри — классическая драма:
— заказчик просит «принеси то, не знаю что»;
— аналитик превращается в Ивана-царевича с блокнотом;
— команда тратит спринты не на рост, а на расшифровку пожеланий 🧩

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

Что делать команде:
1. Переводить сказку в артефакты: цели, метрики, ограничения.
2. Убирать магию из коммуникации: одно требование — один владелец.
3. Фиксировать «что не делаем» так же жёстко, как «что делаем».
4. Считать не активность, а impact.

В ИТ, как и в сказке, проигрывает не тот, кто медленнее. Проигрывает тот, кто строит проект на надежде, что «оно как-нибудь само соберётся» 👑
ИИ в конструкторах сайтов уже перестал быть аттракционом. Но рынок, как обычно, продаёт не продукт, а обещание.

Что реально работает:
— быстрый генератор структуры страницы;
— первичный копирайт для лендинга;
— подбор визуалов и базовых блоков;
— варианты A/B-креативов под разные офферы.

Что пока больше для пиара:
— «сайт за 30 секунд», который потом нужно переписывать вручную;
— автоматическая адаптация под бренд без участия команды;
— сложные сценарии, где нужен нормальный UX, логика воронки и контроль конверсии.

Главный конфликт простой: ИИ умеет ускорять черновик, но не заменяет продуктовую логику. Побеждают не те, кто громче пишет про нейросети, а те, кто встроил их в процесс: дизайнер, маркетолог и perf-команда экономят время на рутине и быстрее тестируют гипотезы.

Вывод для бизнеса: ИИ в сайтостроительстве — это не «замена команды», а способ удешевить производство первого варианта. Всё остальное — пока маркетинговый шум ⚠️
Мемо по инфраструктурной боли, о которой обычно вспоминают, когда уже горит.

РКН/ТСПУ умеют ломать не только «серые» сайты, но и вполне легальные сервисы — CDN, панели, рабочие домены. В итоге проигрывают все: маркетинг не может открыть подрядчика, разработка не видит прод, команда теряет часы на «у меня открывается / у меня нет». Скандал в том, что это выглядит как мелкая техническая ошибка, а по факту бьёт по операционке и скорости принятия решений.

Что делать, если Chrome режет доступ:
1) откройте `chrome://flags/`
2) найдите `Cryptography Compliance (CNSA)`
3) переведите флаг в `Disabled`
4) перезапустите браузер

Иногда одна строка снимает блокировку там, где бессильны «очистить кэш» и «попробовать другой браузер» ⚙️

Но стратегически вывод жёстче: если у команды критичные процессы завязаны на внешние сайты и CDN, это уже риск не ИТ-уровня, а уровня бизнеса. Значит, нужны резервные каналы доступа, альтернативные браузеры и список сервисов, без которых останавливается работа.
Яндекс сделал из мема продукт — и это редкий случай, когда поиск не догоняет повестку, а забирает её себе.

В Поиске появилась мини-игра с «пухососом»: виртуальный робот чистит экран от тополиного пуха. Повод понятный — спрос вспыхнул на пустом месте. За 3–4 июня запросы о пухососах выросли почти в 5 раз, к 10 июня — уже до 100 тысяч.

Что здесь важно для paid ads:

1. Платформа быстро монетизирует всплеск внимания, пока он живой.
2. Мем превращается в интерфейс — это сильнее, чем баннер или пост.
3. Скандал и ирония работают как ускоритель: сначала шутка, потом привычка, потом трафик 📈

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

Для команд это напоминание: ловить спрос нужно не в отчёте за месяц, а в первые 24–48 часов. Иначе вас опередит не конкурент, а интерфейс.
Нейросети не «думают» словами — они собирают продолжение из вероятностей. И когда в этом конвейере что-то идет не так, на выходе внезапно появляются иероглифы, обрывки языков и другие артефакты, которые выглядят как сбой, а на деле часто являются побочным эффектом внутренней кухни модели.

Для paid-ads это важнее, чем кажется. Потому что тот же принцип живет и в креативах: система не понимает смысл, она дообучается на паттернах. Если в данных шум, если в сценарии тестов нет жесткой структуры, если вы оцениваете «понравилось/не понравилось» вместо метрик — получите не инсайт, а красивую случайность. ⚠️

Разделение на два слоя здесь полезно как в медиаплане:
1) базовый уровень — что такое эмбеддинги и почему модель вообще может «смешивать» смыслы;
2) продвинутый — как внутри рождаются странные эффекты вроде суперпозиции и grokking, которые потом вылезают в поведении модели.

Вывод для команды простой: любой ИИ — это не магия, а система вероятностей. И если вам кажется, что он «вдруг сломался», часто он просто честно показал, насколько грязно вы собрали входные данные.
Мемо недели

Хабр и Экопси снова замеряют рынок IT-работодателей — и это не просто очередной опрос, а попытка поймать, кто выжил в гонке за таланты, а кто тихо скатился вниз.

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

Для head of marketing и growth это полезный срез не про HR-симпатии, а про рынок в целом: где бренд работодателя реально помогает нанимать, а где уже работает против бизнеса.

Если у вас IT-команда, growth-юнит или сильная зависимость от performance-найма — такой бенчмарк нужен хотя бы для одного: понять, вы в группе лидеров или в списке тех, кого рынок уже наказывает 📉

Опрос — это не формальность. Это момент, когда рынок сам расставит победителей и проигравших.
Channel photo updated
На собеседованиях по FastAPI сейчас ломают не код — ломают самооценку.

Картина знакомая: джун уверенно рассказывает про `@app.get()`, мидл вспоминает Pydantic, а сеньор добивает вопросом про корутины, lifespan и DI-контейнеры. И вот уже отличают не тех, кто «смотрел туториал», а тех, кто реально строил сервисы.

Что проверяют в первую очередь:
- понимает ли кандидат async-реальность, а не просто пишет `async def`
- умеет ли объяснить, зачем нужен Pydantic и где он создаёт ложное чувство контроля
- различает ли dependency injection как паттерн и как практику в FastAPI
- видит ли границы фреймворка: где удобство, а где начинается архитектурный долг

Скандал в том, что многие проходят тесты и падают на базовых сценариях: ошибки валидации, фоновые задачи, работа с БД, обработка зависимостей. То есть именно там, где и живёт production.

Вывод для команды простой: если готовите разработчика к интервью, гоняйте не по названиям сущностей, а по боевым сценариям. FastAPI это любит. Интервью — тоже. 🧩
ИИ в маркетинговой стратегии устроен жестче, чем принято продавать.

Лагерь №1: «попробовали ChatGPT, получили 15 страниц воды и потеряли вечер».
Лагерь №2: «строим стратегию за 20 минут, это магия».
Реальность ближе к первому. И именно поэтому многие команды разочаровываются: проблема не в ИИ, а в запросе и ожиданиях.

Если писать «сделай маркетинговую стратегию для SaaS», на выходе будет аккуратный набор банальностей: сегменты, УТП, каналы, KPI — все вроде правильно, но ни одного решения. Это не стратегия, а презентация без конфликта.

Рабочая схема другая:
1. задаем контекст рынка;
2. фиксируем цель и ограничения;
3. заставляем ИИ искать противоречия;
4. отдельно собираем гипотезы по каналам;
5. вручную режем воду и оставляем решения.

Промпты должны не «генерировать текст», а вытаскивать логику: где рынок перегрет, где конверсия ломается, какой канал не масштабируется, что делать команде в ближайшие 30 дней. ⚙️

ИИ в стратегии полезен не как автор, а как аналитик-черновик. И вот здесь у него реально получается. Но только если вы не просите у него чудо.