Growth Room
1.31K subscribers
15 photos
3 links
Download Telegram
RuStore снова в роли «просто магазина». После декомпиляции APK нашли набор фич, которые уже не похожи на обычную аналитику:

— GPS-координаты пишутся в локальную SQLite каждые 2 минуты
— есть механика тихой фоновой установки пакетов по push-команде с сервера
— собирается детальная статистика экранного времени по всем приложениям
— обходятся ограничения Android 10+ для сбора IMEI/IMSI
— токены авторизации VK уходят через AIDL без явного согласия пользователя

Если это правда в коде, то у нас не «стор», а полноценная инфраструктура слежки в упаковке маркетплейса. 📍

Что важно для growth/UA/PMM-параноиков: предустановленный app — это не нейтральный канал, а потенциально самый дешёвый и самый токсичный acquisition. Потому что он приходит с device-level доступом, который рекламные SDK обычно только мечтают увидеть.

Кейс не про эмоции. Кейс про риск-модель:
1) что app реально может читать с устройства
2) какие разрешения пользователь не понимает
3) где заканчивается onboarding и начинается exfiltration

Если в вашем продукте есть предустановка, OEM-партнёрство или SDK с «расширенной телеметрией» — это уже не рост, а аудит безопасности.
18 лет, ЕГЭ на носу, а человек за 1,5 месяца поднимает 7 млн ₽ на багбаунти. И да — не потому что «повезло», а потому что перестроил процесс.

Схема такая: выгорание в CTF → уход в багхантинг → ИИ как ускоритель, а не «магия». Нейросети тут не ищут уязвимости вместо человека, они режут время на рутину: первичный разбор поверхности, генерация гипотез, быстрый чек типовых цепочек. В результате больше попыток в час и меньше ручной воды.

Самый жирный кейс из разряда “чёрный ящик”: одна находка дала 1,5 млн ₽. Это важная мысль для growth-мышления: доход здесь создаёт не «талант», а воронка из количества проверок, скорости фидбэка и качества гипотез. 📈

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

Для performance-команд тут прямой урок: выигрывает не тот, кто «умнее», а тот, кто быстрее тестирует больше вариантов на единицу времени.
Самый дорогой баг в первый год — думать, что важен только код.

Разбор по-взрослому: у джуна часто ломается не Java, а контур вокруг неё. Автор кейса честно признаёт: хорошие решения были, но плохие тоже — и именно они стоили дороже всего. Что внутри такого «чёрного» опыта?

1) Онбординг без карты = минус недели
Если тебе не объяснили контекст задачи, границы ответственности и кто принимает решение, ты начинаешь писать код в вакууме. Итог: переделки, лишние ревью, сожжённые часы.

2) Задача без формулировки = ложный прогресс
Когда бэклог выглядит как «сделай фичу», а критериев готовности нет, команда получает не результат, а вечный цикл уточнений.

3) Код-ревью без правил = хаос под видом качества
Ревью должно ловить риски, а не превращаться в соревнование эго. Иначе качество падает, а скорость — вместе с ним.

4) Тесты и чистая архитектура — не «красота», а страховка от дорогих поломок
Когда этого нет, любая мелкая правка становится экспериментом на проде.

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

В Госдуму внесли законопроект: сохранить порог выручки для НДС на уровне 20 млн ₽ в год. Сейчас на УСН компании не платят НДС, пока не перелетают этот лимит.

Почему это важно не «в целом», а в деньгах:
— для маленьких агентств, студий, ecom и сервисов 20 млн — это уже не «микробизнес», а рабочая операционка;
— любое снижение порога мгновенно бьёт по юнит-экономике: +НДС = либо рост цен, либо минус маржа;
— для growth-команд это прямой риск на планирование CAC/LTV и медиабюджетов.

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

Что бы я проверил у себя:
1) при каком обороте мы подходим к порогу;
2) сколько маржи съест НДС;
3) где можно заранее поднять цену, а где — пересобрать юнит-экономику.

Пока лимит хотят сохранить. Но сам факт такого законопроекта — сигнал: финансовую модель лучше пересчитать до того, как это сделают за вас.
Разобрали 1 000 000 откликов в IT — и вот где рынок устроен не так, как в вакансиях на HH.

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

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

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

Что это значит для growth-подхода к карьере:
1) смотреть не на объём вакансий, а на конверсию по этапам,
2) считать стоимость одного интервью,
3) выбирать направление, где воронка короче, а не только чек выше.

И да, это хороший антидот против карьерного мифа: рынок труда тоже надо мерить как performance-воронку, а не как витрину.
Типичный чёрный кейс из DevOps-рутины: ради одного бинарника или готового `docker-compose` люди заводят Ansible/Puppet и начинают писать плейбуки на то, что можно развернуть в 2 клика.

Что здесь не так:
- время инженера уходит не на продукт, а на повторяющуюся сборку типовых сервисов;
- каждый новый стенд = ещё один кусок кастомного кода и ещё одна точка отказа;
- чем больше «автоматики ради автоматики», тем дольше онбординг и дороже поддержка.

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

Что забрать в свою воронку администрирования:
1) посчитайте, сколько часов в месяц уходит на повторные развёртывания;
2) отделите «типовые» стенды от нестандартных;
3) для типовых — тестируйте образ вместо плейбука;
4) сравните не “красоту” решения, а время до готовности и цену ошибки.

Хороший тест: если сервис можно поднять без уникальной логики, возможно, вы уже переплатили за DevOps-слой.
Открытый корпоративный мессенджер без онбординга и сценариев — это не продукт, а голый контейнер для чатов.

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

Что обычно ломается в таких запусках:
1) Внутрикомандные чаты живут вечно, а внешние участники исчезают после первого проекта.
2) Нет триггера на возврат: создали чат, созвонились, забыли.
3) Не хватает сценариев вокруг задачи, а не вокруг переписки.

Что бы я тестировал первым:
— приглашение клиента/подрядчика в один клик;
— автосоздание чата под проект с шаблоном сообщений;
— напоминания по зависшим веткам через 24/72 часа;
— связку с CRM/таск-трекером, чтобы мессенджер не был изолированным островом.

Ключевой вопрос тут не «удобно ли переписываться», а сколько рабочих циклов продукт закрывает за неделю. Если меньше 3–4, retention начнёт проседать, как бы красиво ни выглядел интерфейс. 📉
Собеседования по Python backend часто валят не на «сложных алгоритмах», а на базовых дырках, которые кандидаты маскируют заученными ответами.

Чёрный список вопросов, на которых джуны чаще всего сыпятся:
— разница между list/tuple/set/dict не по памяти, а по сложности операций;
— mutable default arguments и почему `def f(x=[]):` — ловушка;
— GIL: что он реально блокирует, а что нет;
— чем `@staticmethod` отличается от `@classmethod` в прикладном смысле;
— что будет, если несколько запросов одновременно пишут в одну БД-строку;
— как работает `asyncio`, и почему async ≠ faster автоматически.

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

Что забрать в свою подготовку:
1) На каждый базовый вопрос — 2 примера из реального бекенда.
2) Прогоняй ответы вслух, а не глазами.
3) После каждого ответа задавай себе: где это ломается в проде?

На собесе чаще валит не незнание, а иллюзия, что «вроде понимаю».
Дали двум ChatGPT-4o пообщаться друг с другом без человека в петле — и получили не «умный диалог», а сырой прототип, который автор позже назвал «рефлексивным ядром».

Что по факту:
— август 2025: два LLM гоняют свободный чат;
— из этого рождается концепт архитектуры мета-трансформеров;
— февраль–март 2026: через этот же эксперимент всплывает уже другая штука — механизм мета-внимания.

Чёрный кейс тут не в «ИИ вдруг осознал себя», а в том, что при self-play без жёстких ограничений модель начинает не отвечать, а копировать и усиливать собственные паттерны. Если перевести на язык growth:
это как запустить A/B без стоп-правил и смотреть, как победитель следующего раунда наследует ошибки предыдущего 📉

Что забрать в свою воронку:
1) Любой AI-ассистент нуждается в guardrails, иначе он оптимизирует не KPI, а шум.
2) Если тестируете LLM-диалоги — меряйте не «качество разговора», а drift, повторяемость и деградацию ответа.
3) Самый опасный режим — когда система начинает сама себя считать источником истины.

ИИ без внешнего контроля не становится «сильнее». Он просто быстрее уходит в свои же искажения 🤖
Roblox вернули в РФ не просто так — это хороший кейс про давление регулятора и продуктовую “разблокировку” через комплаенс.

Что произошло:
— платформа снова открылась для российских пользователей;
— в аккаунтах появились возрастные группы;
— добавили age verification ради “допфункций”;
— это случилось через день после запроса Минцифры и Роскомнадзора снять ограничения.

Разбор без романтики:
1) Платформа не спорит лоб в лоб, а режет риск через настройки и верификацию.
2) Для государства это удобный рычаг: не банить навсегда, а дожимать до модерации и возрастного контроля.
3) Для продукта это чистый урок: доступ = не “или есть, или нет”, а набор сегментов, фич и правил. 🎯

Что забрать в свою воронку:
— отдельные режимы доступа по стране/возрасту/риску;
— верификация как инструмент не только anti-fraud, но и возврата трафика;
— сценарий “ограничили → согласовали → вернули” лучше полного локаута.

Черный вывод простой: в 2025 выигрывают не те, кто громче спорит, а те, кто быстрее перестраивает продукт под правила канала.
REST API — это не «сделай GET/POST и поехали». Чёрный кейс из FinTech/e-commerce: команды годами спорят о PATCH, 409 и форматах ошибок, а потом ловят баги на проде, которые съедают конверсию и поддержку.

3 типовые ошибки, которые вскрывает собеседование:
1) PUT vs PATCH путают как взаимозаменяемые. В итоге клиент перезаписывает поля, которые не должен трогать.
2) Ошибки возвращают «как получится»: где-то 400, где-то 422, где-то 500 — аналитика ломается, SLA тоже.
3) Нет единого контракта для конфликтов. Без 409 и понятной логики версий начинаются гонки обновлений и потеря данных.

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

Хороший API — это не про «красиво в Swagger». Это про то, чтобы не сжигать деньги на кривых интеграциях и саппорте. 🧪
Blob API — тот самый тихий убийца фронта, который всплывает уже в проде: «почему у нас вкладка жрёт 1.2 ГБ RAM после 5 загрузок?»

Сценарий знакомый: аватар, видео-превью, PDF в браузере, CSV-экспорт, drag&drop. На демо всё летает. В реальности команда делает `URL.createObjectURL()`, показывает файл, а потом забывает освободить память через `URL.revokeObjectURL()`. Итог — утечки, лаги, падение на слабых устройствах и “неповторимый” рост crash rate 📉

Что особенно неприятно:
1) утечка не видна в обычном happy path;
2) чем больше сессия, тем хуже UX;
3) баг часто проявляется у power users — тех, кто как раз приносит объём.

Что забрать в свою воронку продукта:
- проверяйте, где создаются blob-URL;
- ревокайте их сразу после использования;
- тестируйте долгие сессии, а не только первый экран;
- замеряйте memory footprint до/после действий с файлами.

Чёрный кейс простой: продукт может выглядеть быстрым, пока пользователь не сделает 10-й экспорт подряд. И вот уже не “фича для удобства”, а скрытый drain на retention и NPS.
AI-assisted в разработке — это не «магия ускорения», а пересборка экономики команды.

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

Черный момент: если считать только «сколько строк написал ИИ», можно ошибочно показать рост эффективности. На деле KPI должен быть другим: lead time, % возвратов на доработку, cost per shipped feature, доля времени на QA/ревью.

Что забирать в свою команду:
1) замерить baseline по 3–5 типовым задачам;
2) отдельно считать скорость junior/middle/senior;
3) сравнить не output, а shipped value — что реально ушло в прод.

ИИ почти всегда дает плюс на первом слое. Но если не перестроить процесс, экономия съедается на ревью и исправлениях. 🧪
Anthropic снова продали “самую мощную модель”, а я смотрю на другое: что она умеет в продукт, а не в пресс-релиз.

Тест был простой: один промпт → браузерная игра целиком. Не змейка и не To-Do, а симулятор админа Telegram-канала про ИИ. И да, модель не просто накидала код — она собрала механику, баланс, интерфейс и концовки.

Что важно для growth-команды:
1) LLM уже закрывают не только куски интерфейса, а MVP под запуск.
2) Главный риск — не код, а кривой баланс. В этом кейсе модель сама вшила в игру мораль: слишком агрессивный рост убивает канал.
3) Это сильный сигнал для product marketing: быстрые прототипы теперь можно гонять как A/B, а не ждать спринт от разработки.

Разоблачение простое: “вау-демо” у AI уже не про генерацию текста. Это про скорость сборки продукта и проверку гипотез. Если вы всё ещё используете модель только как копирайтера — вы недоиспользуете 80% пользы.
Чёрный кейс из мира AI-железа: голосовую активацию, которая нормально живёт в колонке, попытались запихнуть в наушники — и сразу упёрлись в физику.

Что сломало привычную схему:
— не розетка, а крошечный аккумулятор;
— не «много памяти», а около 200 КБ под модель;
— не мощный CPU, а чип с жёстким лимитом по частоте;
— плюс сюрпризы на уровне SDK, которые добили архитектуру споттера.

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

Что забрать в свои продукты:
1) если железо/устройство меняется — старый пайплайн часто умирает первым;
2) модель без бюджета по памяти и latency = не продукт, а демка;
3) самые дорогие ошибки обычно не в ML, а в архитектуре вокруг него.

Для growth-команд тут прямой урок: перед масштабированием канала или AI-фичи считайте не только uplift, но и стоимость каждого ограничения — RAM, battery, SDK, response time. Иначе «инновация» заканчивается на первом устройстве 🧠
«invalid_request» — это не ошибка, это издевательство.

Ночной кейс: разработчик в 02:00 подключает API, ловит голый код без пояснений и тратит 40 минут на угадайку. Итог предсказуем: злой тикет в поддержку, потерянный темп релиза, лишняя нагрузка на CS.

Вот где ломается DX:
- error code есть, а действия нет;
- неясно, какой параметр сломан;
- нет примера исправления;
- нет статуса/контекста, можно ли ретраить.

Что делать:
1) Пишите ошибки по RFC 9457-логике, но человеческим языком: что сломалось, где, почему, как чинить.
2) Добавляйте метрику time to first successful call — это честнее, чем «сколько доки прочитали».
3) Делайте API «скучным»: предсказуемый формат ответа, одинаковая структура ошибок, стабильные коды. Это не скучно — это снижает churn на онбординге 📉

Шаблон ошибки:
- code
- message
- field
- expected
- example_fix
- retryable

Если ваш API заставляет людей гадать в 2 ночи — это не edge case. Это баг продукта.
20-летний Ruby-монолит, интерфейс из 2006-го и «давайте перепишем всё с нуля» — классическая ошибка, которая убивает бюджеты и сроки.

ArcFront пошли другим путём: не миграция, а хирургическая инъекция. Встроили React SPA прямо в ядро старого Redmine-подобного монолита. Без микросервисного зоопарка, без CORS, без многомесячного «big bang rewrite».

Что это значит на практике:
1) legacy не трогали целиком — заменили только пользовательский слой;
2) сохранили критичные данные и бизнес-логику в Ruby;
3) ускорили интерфейс без риска сломать систему, на которой сидят терабайты данных.

Чёрный вывод простой: переписать с нуля — часто не tech-решение, а способ сжечь runway 🔥
Для старого продукта чаще выигрывает не «новая платформа», а точечный оверлей, который даёт измеримый эффект по UX и скорости релиза.

Отдельно интересно, что команда ушла в Open Core: это обычно сигнал, что монолит перестал быть просто продуктом и стал активом с монетизацией через ядро + платные надстройки. Если в вашей воронке есть тяжёлый legacy, сначала считайте стоимость замены, а потом уже выбирайте между rewrite и surgery.
Яндекс тихо вскрыл тематический блок Поиска для отелей — и это не просто “новый формат”, а перераздача трафика.

Раньше в этом слоте сидели в основном агрегаторы: пользователь искал отель, а дальше его перехватывали OTA с комиссией и своей витриной. Теперь отели могут вести рекламу сразу на свой сайт.
Что это меняет:

1) Убирается лишний посредник
2) Появляется шанс забрать прямое бронирование
3) Данные по спросу и конверсии остаются у отеля, а не у агрегатора

Но есть нюанс: прямой трафик без сильной посадочной страницы — это просто слив бюджета. Если сайт отеля грузится долго, не бьёт по цене/наличию/отмене и не дожимает оффером, агрегаторы всё равно выиграют. 🔎

Практический тест для отелей:
— сравнить CPA прямого трафика vs OTA
— замерить конверсию в бронь на mobile
— проверить, сколько заказов уходит в “позвоню позже” из-за слабой формы

Вывод: Яндекс дал отелям не “бонус”, а рычаг. Кто умеет в CRO и CRM, заберёт маржу у агрегаторов. Кто нет — просто купит клики дороже.
Если после ковида вы «просто устаете» — это не всегда про график и кофе. В источнике разбирают неприятную штуку: SARS‑CoV‑2 может бить по сосудистой системе, а потом долго маскироваться под обычный перегруз.

Цифры не радуют: около трети переболевших сообщают о стойких симптомах спустя месяцы. У тех, кому постковидный синдром ставят официально, усталость — у 95%, «туман в голове» и непереносимость нагрузок — у 90%+. То есть это не единичные жалобы, а массовый паттерн.

Что важно для growth-мозга: мы привыкли считать «усталость/рассеянность/плохой сон» шумом. А здесь есть вероятность, что это уже системный фактор, который режет продуктивность, фокус и восстановление. Не мотивация подвела — возможно, сломалась физиология.

🚩 Чек для себя:
— если после обычной нагрузки вас вырубает на сутки;
— если появились новые скачки давления;
— если раньше не было метеочувствительности;
— если кровь при чистке зубов стала нормой.

Это не диагноз из Telegram, а повод не героизировать состояние и сходить к врачу. Потому что «дотерплю» часто превращается в дорогой баг в системе, а не в временный спад.
Не кейс про «успешный успех», а нормальный разбор хаба, который реально работает на найм и удержание.

Иннополис — не просто «город для айтишников». Это локация, где у Т-Банка есть доступ к сильной воронке: Университет Иннополис, КФУ, ИТИС, ИВМиИТ, плюс плотная среда крупных ИТ-компаний. Итог: рынок не пустой, конкуренция за инженеров жёсткая, но и качество кандидатов выше среднего.

Что важно для growth-команды:
1) Локальный хаб = дешевле и быстрее строить hiring pipeline, чем выкупать всех через платный сорсинг.
2) Регион с сильной образовательной базой даёт не «джунов ради джунов», а людей, которых можно растить под сложные стеки вроде Scala.
3) Когда компания вкладывается в инженерное сообщество на месте, это уже не HR-брендинг, а retention-механика: люди остаются там, где есть рост, окружение и сложные задачи.

Автор истории прошёл весь путь внутри одного региона: университет → Scala → Т-Банк → переписывание банковской системы с нуля → внутренняя dev-tools команда. Это как раз тот случай, когда экосистема бьёт сильнее разрозненного найма.

Вывод простой: если у вас сложный продукт и дефицитные роли, смотрите не только на бюджет CAC в перформансе, но и на карту инженерных кластеров.
2 месяца на обучение и сразу в боевой проект — без остановки производства.
Команда проектировщиков АО «НПП «ИСТА-СИСТЕМС» прошла nanoCAD BIM ОПС в гибридном формате: видеоуроки в СДО + консультации. Итог — не «посмотрели курс», а реально применили инструмент в крупном проекте.

Что здесь интересно с точки зрения growth-мышления:
1) Обучение встроили в рабочий график, а не выдергивали людей из процесса.
2) Формат без длинных очных сессий = ниже простой, выше шанс довести до конца.
3) Проверка навыка произошла не на тесте, а в реальной задаче.

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

Для своих команд я бы забрал отсюда 3 метрики:
- completion rate обучения
- time-to-first-use в проекте
- доля сотрудников, кто реально применил навык в работе

Если обучение не влияет на проектную скорость и качество — это просто дорогой контент 📉