Product Developer
описание
Канал о продуктовой разработке изнутри. Открыт для связи: @engineering_memeger
12 169
подписчиков
Охват к подписчикам
35,8%
ERR
Реакции к просмотрам
1,61%
1 407 на 20 постов
Пересылки к просмотрам
1,18%
1 031
Постов в день
0,0
всего 20
Где отзываются чаще
доля реакций к просмотрам- 4 маяCтарая кринжовая история про найм. 2018 год. Москва. Чертаново. Офис QIWI. Собеседуем испанца Антонио. Сейчас пишу и как-то самому не верится. 8 лет я держал в себе эту историю, хочу наконец-то поделиться. Уже прошло достаточно много времени, и не существует компании, которой эта история могла бы нанести вред. Итак, у нас была стажёрская программа, для которой я когда-то написал тестовое задание и выложил его на GitHub. Суть простая: пишешь 100 строк кода по примеру, открываешь pull request, получаешь ревью и приглашение на интервью. Программа уже закончилась, тестовое лежало себе на гитхабе, никого не трогало. И тут внезапно прилетает PR. Человек нашёл это тестовое, сделал и приложил сопроводительное письмо на английском в стиле: «Я всё сделал, давайте меня нанимать». Увидев письмо на английском, я ессно что-то заподозрил. Смотрю LinkedIn — испанец, мидл. Антонио. Ни. Хрена. Себе. Привели его в офис, погоняли по технике, разговаривали по-английски. Всё выглядело нормально. Вы спросите, что Антонио забыл в Чертаново? Ответ — простая человеческая любовь. Он хотел научиться говорить по-русски, чтобы лучше понимать свою жену. И я уже начал думать: «Так, у нас, конечно, вся команда русскоязычная. Но ребята продвинутые, по-английски говорят. Документацию где-то адаптируем. В чатах начнём писать на английском. Нормально, справимся». Сейчас, оглядываясь назад, понимаю что это была глупость. Из-за любопытства и желания подтянуть английский я собирался обречь команду на большие накладные расходы и значимое снижение эффективности. Согласовал со всеми и запустили процесс найма. И тут выясняется: У человека ВНЖ без права на работу. И он рассчитывал, что мы ему поможем с этим, как приличная компания. А мы такое не умели. 🤦 Пу-пу-пу. Пришлось писать самый кринжовый отказ в моей жизни. Мол «чувак, ты молодец, спасибо что потратил на нас кучу времени. Мы бы тебя с радостью наняли, но не умеем оформлять иностранцев». Аж самому от себя мерзко. Я тогда ещё сделал отдельную глупость — написал причину отказа. За это мне настучали по башке HRBP. Потому что такие причины отказа нельзя писать как попало в личку, — кандидат может засудить. Поэтому, чтобы усилить кринжовость ситуации, я удалил причину отказа, отредактировав сообщение и подставив «Here was the reason». Часто жалуются, что кандидату не дают развернутый фидбэк после собеседований. Я тоже не понимал, а в тот момент как понял. Это жиза, а не то, что вас хотели принизить или не уважают. Антонио, прости. Я был молод и глуп. А теперь волею судеб мы с тобой поменялись местами, и уже я — иностранец, пытающийся ассимилироваться. Специально для этого поста включу реакции 🙈😨😡🗿 P.S. Сейчас у Антонио всё хорошо — судя по линкедину, работает в Мадриде на Telefonica — самый крупный телеком Испании.3,87%
- 6 янв.Промо в бигтехах, часть 2 — стал руководителем кластера Теперь официально Technical Cluster Lead @ Avito Customer Identification. Отвечаю за 4 юнита, 11 команд, 80 инженеров. Предыдущий пост — преамбула и ответ на вопрос «чё так долго». 9 месяцев ушло с момента, как я получил шапочку кластерлида, и до официального промо. Вынес 2 главных урока: 1️⃣ — Критически важно готовить себе преемника заранее. Это база, без которой будешь работать на двух работах и вместо промо можно заработать грыжу и уйти в саббатикал. 2️⃣ — Цели на испытательный срок, критерии и дата пересмотра грейда должны быть. На старте я сам подготовил себе чеклист задач на промо, согласовал с руководителем, и мы к этому чеклисту регулярно возвращались. Помогало понимать, гдея работаю себе на промо, а где — мимо. Без этого заняло бы не 9 месяцев, а бесконечность. Что сделал, пока был «в шапочке»: 1. Перестроил оргструктуру кластера. Объединил два юнита в один, еще один юнит создал с нуля под новое направление бизнеса. 2. В AvitoID на позицию TUL (технического руководителя юнита) вырастил себе преемника, чтобы не кидать юнит. Спасибо, Кирилл, что подхватил! 3. Во второй юнит нанял TUL’a. 4. Написал стратегию, собрал обратную связь, согласовал её со всеми. Вот это было самое сложное упражнение, ушло 4 месяца. 5. Занёс новую company-wide техническую инициативу. Продал её СТО и всем директорам. Тут спасибо за активнейшее участие моему руководителю Антону. 6. Потюнил процессы на уровне кластера: переделали демо, ввели регулярный отсмотр операционных метрик команд, запустили expsharing-встречи на тимлидов. Товарищи, кто спрашивал «ну когда там» — пора, можно поздравлять :) Должно появиться чуть больше времени на ведение канала, впрочем без обещаний регулярности и частоты. Мой девиз прежний — лучше редко и в неожиданный момент, но полезное. Чуть позже напишу итоги 2025. Как я не получил права на мотоцикл, не выучил испанский, но зато обучил своего пса на сертификацию служебной собаки и пробежал полумарафон.3,50%
- 7 июл. 2025 г.Не все должны расти …пост вдохновлён книгой Radical Candor. Из каждого утюга вещают про успешный успех: телеграмм-каналы и подкасты про буст карьеры, 10-кратный рост и авторские курсы — сейчас основной поток контента. Ну правильно, а иначе зачем мы здесь все собрались? Не деградировать же, как в твиттере. Расти, конечно! Non progredi est regredi. Не будешь расти — уволят и обязательно умрешь от голода под мостом. (мой вольный перевод) Но сегодня хочу написать непопулярный пост, и пусть меня закидают помидорами. Знакомьтесь: сеньор Дима — 20 лет в профессии, последние 10 — в текущей компании — Не ведёт блог, не выступает на конференциях, не продаёт курсы — Просто работает работу. Стабильно и качественно. Не быстро и не медленно, средне. Но на него всегда можно положиться. — Никогда не ноет. Вокруг него не возникает конфликтов. — Не приходит с запросом х2 зп. Ему норм. — Работает не больше 8 часов. Иногда справляется с задачами за 4 часа и тогда может больше времени провести с семьей. Об этом все знают и всех всё устраивает. Дима — не топ-перформер и не Rock Star Назовём его Rock-Solid 🗿 Rock Star vs Rock-Solid Rock Star 🌟 — Хочет новых задач, технологий и челленджей — Готов работать много и напряжённо — Хочет быстрого карьерного роста — Получает от текущего места всё что может за 1-2-3 года и уходит искать новые вызовы Rock-Solid 🗿 — Глубоко знает свою работу и технологии — Стабильно выдаёт предсказуемый результат — Не гонится за хайпом и модой — Работает долго (5–10+ лет) Проблема в том, что компании часто не понимают ценности Rock-Solid сотрудников. Их начинают сравнивать с молодыми и амбициозными, забывая, что стабильность и надежность — это тоже огромная ценность. Многие даже осознанно «нанимают только звёзд», тем самым загоняя себя в ловушку. Когда в команде 8 человек, и 7 из них — Rock-star с запросом на постоянный рост — это беда. Через полгода половина разбежится. Потому что невозможно всем одновременно дать челленджевые задачи и карьерный рост. ——— ⚠️ Почему мы недооцениваем Rock-Solid? 1. Культ роста в IT. Все хотят нанимать только «амбициозных» и «с горящими глазами». 2. Недостаточная видимость. Rock Star — всегда на виду. Рефакторинг всего легаси, презентации новой архитектуры, внедрение новых технологий. Rock-Solid тихо чинит прод, фиксит баги, онбордит новичков. Его ценность становится очевидной только тогда, когда он уходит. 3. Неправильные метрики. Performance Review обычно поощряет тех, кто делает задачи выше своего грейда. А где метрика «стабильно держит критичный сервис уже 5 лет»? Где награда за то, что благодаря его экспертизе мы избежали 10 архитектурных ошибок? 4. Единственный карьерный трек: Junior -> Middle -> Senior -> Manager. А что если человек не хочет становиться менеджером? Что делать руководителю? Концепция из Radical Candor: ваша задача — не заставить всех расти вверх, а помочь каждому двигаться по его траектории. Для Rock-Solid: — Признавайте их ценность публично — Создавайте возможности для менторства и обучения других — Платите справедливо за экспертизу, а не только за «потенциал» — Давайте интересные задачи в рамках их зоны комфорта Для Rock Star: — Обеспечивайте челленджи и новые проекты — Готовьте к следующей роли — Будьте готовы к их уходу через 2-3 года Идеальный баланс: — 20–30% Rock Star — 70–80% Rock-Solid Да-да, большая часть команды должна состоять из стабильных экспертов! Это контринтуитивно для индустрии, помешанной на «hiring only A-players». Итог Не все должны расти вверх. Не всем нужен рост и челлендж. Не все хотят быть тимлидами. И это нормально. Более того — это необходимо для здоровой команды. Если вы — руководитель и у вас есть свой оплот стабильности — позаботьтесь о нём, пока он с вами. Не забывайте поднять зарплату. Поинтересуйтесь, всё ли его устраивает в работе и можете ли чем-то помочь. Потому что найти нового Rock-Solid гораздо сложнее, чем Rock Star. А если вы — Rock Solid, — скиньте своему менеджеру этот пост. И не стесняйтесь своего выбора. Наша индустрия держится на таких, как вы.3,30%
- 1 авг. 2025 г.Как научиться не перебивать У меня есть проблема. Если у тебя её нет, — ты либо святой человек, либо врёшь (возможно сам себе). Я перебиваю людей. Не потому что вредный и злой редиска, а потому что «хочу как лучше». Чаще всего мне кажется: вот прямо сейчас если я не добавлю эту мысль, то без неё всё потеряется, мы будем обсуждать не то и встреча станет бессмысленна. Кому я вру. Я перебиваю не потому что «хочу как лучше», а потому что импульсивен, ставлю собственное мнение выше мнения других, и не умею вовремя остановиться. Когда-то услышал фразу «если тебя перебивают — значит, ты позволяешь это делать». С тех пор я не стеснялся перебивать и не считал это проблемой. Ну подумаешь, встрял в фразу — ничего страшного, мы же в диалоге. Тем более, человек сам позволил это. Потом начал замечать, что у людей от этого сбивается мысль, теряется мотивация продолжать и возникает ощущение, что их не слушают. И всё больше становится людей на мьюте, и всё сложнее становится вовлечь их в диалог. Короче, перебивание — это не сигнал вовлечённости. Это сигнал, что я не умею слушать. Надо с этим что-то делать. Вот три вещи, которые помогают (когда не забываю их применять). 1. Правило трёх секунд Самый простой и самый трудный совет. Прежде чем сказать что-то — пауза на 3 секунды. Да, я иногда прямо считаю про себя до трёх. Да, будет казаться, что это очень долго. Да, сначала это выглядит странно. Но обычно происходит такое: — Человек продолжает говорить. Значит, мысль не закончена. Хорошо, что ты не вклинился. — Ты даёшь себе время подумать, а не просто реагировать на последнюю фразу. Дискомфортная тишина — не враг. Это пространство, в котором люди думают. 2. Записывать, а не перебивать Почему я перебиваю чаще всего? Потому что боюсь забыть мысль. Она кажется важной, критически важной прямо сейчас. И я боюсь её потерять. Теперь у меня рядом блокнот (или приложение с заметками), и я просто пишу туда то, что хотел сказать. А когда человек договорит — выбираю: это всё ещё важно? если да — нужно ли это говорить прямо сейчас? Почти всегда оказывается, что половина моих мыслей уже озвучена другими, а другая половина уже не кажется такой важной через 5 минут. 80% «перебивок» просто растворяются. 3. Признать проблему вслух Я начал прямо говорить: «Если я вдруг перебью — скажи мне об этом. Я над этим работаю». Эта фраза меняет тон разговора. Во-первых, ты берешь на себя ответственность, а не сваливаешь на культуру / Zoom / задержки. Во-вторых, люди чувствуют, что ты хочешь слушать, а не доминировать. Итог Если тебе правда важно, что человек говорит — дай ему место. Если тебе важно, что ты скажешь — тем более стоит подождать. Тогда это услышат. P.S. До сих пор иногда перебиваю. Но теперь слышу это и учусь останавливаться. Иногда даже успеваю. Если есть ещё способы — напишите в комменты, поделитесь опытом. Upd Из комментариев: ...пункт 0: научиться хотеть слушать и услышать. Желание перебивать пропадает, когда ты приходишь не рассказать, а выслушать. Если менять свою позицию с «сейчас я всех научу» на позицию «я хочу услышать разные варианты и выбрать лучший», то дальше сильно легче становится не перебивать.2,60%
- 15 мая70% неприятной работы Все знают, что быть тимлидом — это примерно так: — Сидишь в кресле — Двигаешь задачки по доске — Говоришь людям, что делать — Иногда мудро смотришь в окно — Шутишь несмешные шутки и над ними всё равно смеются Потом тебя повышают до CTO, потому что ты хорошо двигал задачки. Хрен там. Большая часть работы тимлида — это работать с неприятными вещами, которые раньше проходили где-то рядом, а теперь стали твоей проблемой. По моим наблюдениям, у многих ребят при переходе из разработчика в тимлида резко меняется процентное соотношение приятной и неприятной работы. Условно, было 80%/20% , а стало 30%/70%. Ниже соберу часть неприятностей работы тимлида, чтобы вы могли подумать, а надо ли вам оно. 📌 Нужно ругать людей быть требовательным Люди косячат и тебе нужно давать обратную связь. Не булшит-бургер «ты молодец, но вот тут надо получше», а конкретно: «Вот здесь работа сделана плохо. Вот факты. Вот последствия. Вот что нужно изменить». Человеку неприятно. Тебе тоже неприятно. Если вы получаете корректирующий фидбек от руководителя — знайте, ему эта часть работы не доставляет удовольствия. Ну только если не человек с отклонениями, но предположим что орущего социопата вы сможете отличить и послать нахер. 📌 Люди ошибаются Иногда ты видишь, что человек собирается наступить на грабли. И тебе нужно не побежать всё чинить, а дать ему ошибиться, чтобы он научился. А потом помочь разгрести последствия, потому что отвечать за результат всё равно тебе. Сложность в том, что чем выше грейд сотрудника, тем больнее обычно грабли и более долгосрочные последствия ошибки. — Ошибка стажера фиксится в течение дня. Передаю привет всем менторам стажеров, которым сложно дать человеку ошибиться, потому что «надо всё сделать нормально с первого раза». — Ошибка сеньора — квартал+. И тут тимлиду уже реально важно уметь отличить критичную проблему от минорной. — Ошибка тимлида проявляется только через 9 месяцев, и еще поди осознай, что это вот то принятое 9 месяцев назад решение. Проблема в том, что тимлидов обычно никто не спасает от хождения по граблям 😅 И никто не помогает простроить цепочку поиска руткоза / ошибочного решения. В этом плане обучение тимлида — дело рук самого тимлида. 📌 Люди чего-то хотят, но не всегда понимают зачем — Хочу расти. — Окей, а зачем? — Ну Вася вырос. — Окей, а тебе зачем? — Ну… надо. Пу-пу-пу. И дальше ты пытаешься понять, это денежная мотивация, желание лычки, или просто человеку скучно. И вот ты уже персональный психолог и коуч — помогаешь сотруднику понять, чего же он хочет. 📌 Люди ноют У каждого есть проблемы, тревоги, конфликты, ожидания, усталость, ипотека, собака, переезд, сложный проект, непонятный продукт, плохое настроение и ощущение, что всё бессмысленно. Когда ты внутри команды, ты видишь только свою боль. Когда ты тимлид, у тебя в голове девять чужих болей. Ты не должен быть психологом для каждого, но должен поддерживать доверительные отношения и уметь «оказать первую помощь». Такое вот насильное расширение сознания. 📌 Людей иногда приходится увольнять Не в первый месяц. Может быть, не в первый год. Но если вы идёте в менеджмент, надо понимать: когда-нибудь придётся. Или увольнять, или сокращать, или объяснять непопулярные решения, на которые вы сами не можете повлиять. И делать это так, чтобы люди поняли. Итог. Сейчас понял, что пункты выше — это только про взаимодействие с людьми. А еще есть: — заказчики, которые меняют требования на ходу — подрядчики, которые нарушают обещания — руководство, которое спускает сверху занимательные упражнения, логику и смысл которых уже никто не понимает — инциденты — горящие проекты — бюрократия, эксельки, отчетность, сертификация, ... Тимлид — это не задачки раздавать и в носу ковырять. Тимлид — это проблемки решать и своей жопой отвечать за чужие косяки. 10 раз подумайте, какое соотношение приятной и неприятной работы вас будет устраивать.2,58%
- 18 июн.Личный бренд не двигает карьеру Веду этот канал пять лет. Что он мне реально принёс: знакомства, пару подкастов, рефлексию во время написания постов и донесение мыслей до коллег. Еще иногда (очень редко) консалтинг / менторинг. А, и возможность поныть сразу на тысячу человек, конечно же. Но для карьеры внутри своей же компании он не дал ничего. Хотя по логике интернета должно быть наоборот: блог = успешный успех. По моему опыту, перформанс на работе и ведение канала — это два параллельных трека. И один про другой не говорит вообще ничего. Бывает, человек и посты годные пишет, и работу работает. Отлично, вопросов нет. А бывает наоборот. Читаешь канал — умнейший человек, всё по полочкам. Потом взаимодействуешь по работе, — и не веришь, что это один и тот же человек. Так что блог — вообще не сигнал о том, какой ты в работе. Больше скажу: на найме он мне скорее мешал. Когда переходил в Райф, ребята из команды потом честно признались — была мыслишка в духе «о, блогер пришёл, сейчас будет не работу работать, а канал свой вести». Жёлтый флаг, короче. А, и про «с блогом тебя начнут хантить»: за пять лет — ни одного оффера в личку. Ноль. Повышение внутри компании тоже идёт совсем по другой логике. Делаешь работу следующего грейда, закрываешь матрицу компетенций, руководитель и окружающие это видят. Личного бренда обычно в матрице компетенций нет. При этом блог не бесполезен. Просто польза у него другая, наружу. Кому он правда нужен как рычаг — тем, кто продаёт себя вовне: консалтинг, курсы, найм через свой блог, фаундерство, прыжки по компаниям раз в год. Там личный бренд иногда вообще единственный двигатель. А если ты растёшь внутри корпы по грейдам — это приятное хобби, и не надо себе врать, что оно про карьеру. И да, я прекрасно понимаю, что пишу всё это в своём же личном блоге. Ну а где ещё ныть на тысячу человек. ——— Что еще принёс этот канал — мне выпала честь выступить с ув. тов. Орловым и Панкратовым 25 июня. Будем вживую собирать тир-лист карьерных навыков: что реально тащит наверх, а что только кажется. Спойлер: личный бренд там сядет куда ниже, чем все привыкли думать. Этот пост — по сути разбор одной клетки той доски; на эфире разложим всю и поспорим. Про мероприятие. Это бесплатный управленческий онлайн-кэмп от Стратоплана. 📅 22–25 июня, 18:00–21:00 МСК, по вечерам 4 дня: 1. Для оунеров, СЕО и C-lvl 2. Для тимлидов и руководителей отделов 3. Для технических и операционных директоров 4. Для тех, кто думает о карьерном развитии — я буду здесь. 💸 бесплатно — нужна подписка на каналы. Есть платный вариант без подписок, плюс бонусом запись закрытой программы «Руководитель 2030» 🔗 на выходе сертификат, можно повесить в LinkedIn Регистрация: https://stratoplan-school.com/camp/pdev/2,00%
- 24 июн.Промо зависит от руководителя Как бы хорошо ни была выстроена система перформанс-ревью в компании, на промо вас всё равно ведет руководитель. Можно сколько угодно закрывать матрицу компетенций, но без него ничего не случится. В прошлом посте была фраза: руководитель, мол, «это видит». Так вот: сам по себе он ни хрена не видит. (Антон, если ты вдруг это читаешь — это не про тебя, это другой, абстрактный руководитель 😅) Распишу несколько конкретных принципов стейкхолдер-менеджмента руководителя из моего опыта. Работать по Push-модели, а не Pull. Проще всего объяснить разницу на примере 1-1. Главная мысль: встречу ведет тот, кто задает вопросы. Вы должны вести ваши 1-1 с руководителем. Если он задает вам вопросы — он вытягивает из вас информацию. Это Pull. Нужно самому пушить в руководителя информацию: сам приносишь повестку, сам рассказываешь, что происходит, сам пишешь фолоу-апы после 1-1, сам назначаешь на себя экшен-айтемы, сам их закрываешь. Это Push. Почему pull это плохо. 1. На 1-1 всплывает только то, о чем руководитель догадался спросить. Половина твоей работы остаётся за кадром. 2. Создается привычка, что тебя надо контролировать. Нет простора для роста кредита доверия. 3. Нет возможности показать, что ты самостоятельный и можешь закрывать экстра-скоуп, о котором руководитель мог даже не знать. Обеспечивать прозрачность. Хочется быть для руководителя чёрным ящиком: «всё хорошо, всё хорошо, проблема решена, всё хорошо». Кажется, это вершина доверия — он тебе верит и не лезет. Но в матрице доверие/прозрачность это самый хрупкий квадрант: высокое доверие без прозрачности держится до первой проблемы. Стратоплановская классика. Чем хуже дела, тем чаще про них рассказывай. «Вот проблема, так планирую решать, вот альтернативы, которые посмотрел. Хочешь поправить — скажи. Если нет — отчитаюсь, когда закрою». Руководитель спокоен, ты автономен, доверие растёт. Соблюдать договорённости. Взял срок — держи. Видишь, что не успеваешь, — подсвети заранее и объясни почему. Решил, что важнее потушить другой пожар, — скажи об этом прямо. Один молча просранный коммит стоит дороже трёх честно передоговорённых. Согласовывать ожидания. Базово — быть выровненным с руководителем, что он считает хорошим результатом. Если идешь в промо — что нужно сделать для этого. Руководитель — человек занятой. Можно до пенсии ждать, пока он сам распишет, что нужно для следующего грейда. Поэтому критерии я выписал сам. Скинул ему, он подсветил, что подправить, утвердили. И дальше я пошёл копать. Копал девять месяцев. Как докопал — промо прошло гладко и с первого раза. ... to be continued 🙂 ——— Завтра, 25 июня, про это поговорим вживую. На эфире собираем тир-лист карьерных навыков, и «работа с руководителем» у меня едет в самый верх доски — без неё всё остальное в рост не конвертируется. Сегодняшний пост — одна клетка той доски; завтра увидите всю и поспорим. 📅 25 июня, 18:00–21:00 МСК — день для тех, кто думает про карьерное развитие, я там 💸 бесплатно (нужна подписка на каналы); есть платный вариант без подписок + бонусом запись «Руководитель 2030» 🔗 на выходе сертификат, можно повесить в LinkedIn Регистрация: https://stratoplan-school.com/camp/pdev/ P.S. А у вас 1-1 кто ведёт — вы или руководитель?1,93%
- 21 июл.Доставка смс в самолёт Сижу в самолёте. С интернетом, что само по себе — чудо, которое уже пару раз использовал, но каждый раз удивляюсь. Хочу залогиниться на какой-то сайт по номеру телефона. Ввожу номер, потом думаю: блин, мобильной-то сети нет. Проходит секунд 20 — в правом верхнем углу макбука всплывашка: пришло сообщение, код 1234. Думаю: нихрена себе. Мне доставили SMS от банка на высоте 10 км над Средиземным морем, без единой сотовой вышки. Как? По Voice over WiFi. При чем WiFi Calling я раньше использовал. Иногда приходится голосом разруливать всякое с российскими банками, госуслугами, поддержками. В Испании это конский роуминг за минуту. Но с WiFi Calling — по тарифу домашнего региона. Очень полезно для эмигрантов и тех, кто много мотается. Но раньше я не задумывался, что и смски ходят так же по WiFi. Полез разбираться, как это устроено. Вот, вам приношу. ——— Как это работает: 1. Телефон коннектится к любому wifi — хоть к домашнему, хоть к кафешному или офисному. 2. Через DNS находит адрес шлюза оператора. Шлюз называется ePDG — по сути VPN-концентратор, специальный вход в сеть оператора для «недоверенных» сетей. Любой wifi для оператора недоверенный, потому что не он им управляет. 3. Телефон поднимает до этого шлюза зашифрованный IPsec-тоннель (по IKEv2). Дальше все звонки и SMS едут внутри этой шифрованной трубы. Соседу по кафешному wifi виден только зашифрованный поток. 4. Через тоннель телефон регистрируется в IMS — это контроллер оператора, который рулит звонками и SMS. Он же обслуживает VoLTE (звонки поверх LTE). То есть WiFi Calling и VoLTE — близнецы, отличается только последняя миля: там радио, тут wifi. 5. Телефон проходит аутентификацию симкой по протоколу EAP-AKA. Секретный ключ с симки наружу вообще не уходит. Оператор присылает challenge, симка решает её внутри себя своим ключом и возвращает ответ. Совпало — пустили. Те же секреты, что подтверждают тебя на вышке, теперь работают через обычный интернет, но сам ключ по проводам не светится. Поэтому это твой настоящий номер, а не приложение и не отдельный аккаунт. 6. Для SMS есть спец-адаптер: IP-SM-GW. Старая система рассылки SMSC умеет говорить только на языке классических сотовых сетей и не знает, что такое wifi. Переходник берёт у неё SMS и переупаковывает в формат IMS, чтобы доставить по тоннелю. Причём он прикидывается твоим телефоном — поэтому старая система не парится, где ты физически. Ей подсунули адрес адаптера — она доставила. На регистрацию в VoWiFi уходит время: найти шлюз, поднять тоннель, доказать симкой, кто ты такой, зарегистрироваться. Из проблем: 1. Раз мозг общий с VoLTE, по идее звонок должен бесшовно переезжать между wifi и сотовой. На бумаге так и написано. У меня — ни разу. По мере отхода от роутера сигнал wifi тупо деградирует, звук начинает сыпаться, и до переключения на сотовую оно нормально не доживает — звонок скорее оборвётся, чем «бесшовно переедет». 2. Если WiFi Calling «не включается», частая причина — фаервол режет нужные порты (UDP 500 и 4500 плюс протокол ESP). Тогда оно молча падает и откатывается на сотовую. Прикольно, что систему построили поверх готовой инфры: симка с ключом, IMS контроллер, рассыльщику SMS подсунули адаптер. Подробная статья про последовательность установки соединения — для тех, кто хочет углубиться. ——— В чудесное время живём: интернет в самолете, смска по WiFi, и автоподстановка кода из смс с айфона на макбуке. А у вас WiFi Calling включен?1,88%
- 30 июл.AI-агенты — это ответ! А какой был ваш вопрос? Все бегут в разработку через AI. Во-первых, это прикольно. Во-вторых, это ускоряет! Да? А как вы это поняли? Больше строк кода в минуту? Законтрибьютил в liquibase, пофиксил проблемку которую пришлось обходить 6 лет назад, когда еще активно кодил. Код написал за вечер. Замержили спустя полтора месяца. Потом еще спустя месяц пофиксили багу, которую мы с клодом породили. Ускорил ли клод разработку? Да, я быстро написал код. Предыдущие 6 лет руки не доходили. Но в итоге всё равно изменение доехало до прода через 1.5 месяца. А потом еще потратили время на починку баги. Почему так? Мы просто перенесли ботлнек на следующий этап. Программисты и так не любили ревьювить, а теперь мы им подсовываеем огроменные PR на десять тыщ строк, с кучей лишних комментов и спорным кодом. При прочтении нейрослопа меня самого аж выворачивает: автор потратил собственного времени меньше, чем я потрачу на чтение. И нахрен оно мне? Попробуйте измерить cycle time по задачам. Удивитесь, но вполне вероятно, что ускорения не увидите, потому что задачи застревают на более поздних этапах. А дальше вопрос: как ускорять ревью. И надо ли? Или может быть надо отменить ревью человеками и доверить ревью агентам? И обмазать это всё quality gate’ами. Но Неет! Нельзя без ревью! Если не делать ревью, то агенты выпускают сразу легаси. Легаси — это по определению код, в котором никто не разбирается. Но в чем отличие от вашего текущего легаси? В любом случае такого кода у вас 95%. А если это не так сейчас, то станет так через несколько лет: новые фичи пишутся, старый код выветривается из головы, разработчики меняются. Остается только дока. Так что с появлением LLM-сгенерированного кода ситуация не ухудшится. А ошибаются все: и кожаные, и агенты. Просто у нас толерантность к ошибкам железных сильно ниже. Потому что боимся, что они нас заменят, и поэтому всячески ищем, чем они плохи. В этом посте вопросов больше чем ответов, потому что у меня самого их нет. Давайте порассуждаем. На сколько у вас увеличилась скорость разработки? Делаете кодревью сгенерированного кода? Если нет, то какие доп меры обеспечения качества внедрили?1,65%
- 9 февр.Про хранение и обработку персданных Все знают, что ПДн — это скучная история про соблюдение законов. Ну, какие-то там штрафы. Ну, подумаешь, очередная крупная контора засветилась в каком-то скандале про утечку. Отношение обычно такое — «разбираться лень, нас это не коснется». Но если присмотреться, — тема довольно интересная, потому что влияет на архитектуру систем. Расскажу, опираясь на основные сценарии, ради которых придуманы законы про ПДн. ——— Сцена 1. Приходит в поддержку пользователь. И говорит: «Я — Вася Пупкин. Расскажите-ка мне обо всех моих персданных, которые вы храните и обрабатываете. Пришлите список конкретных значений, в соответствии с ФЗ-152 от 27.07.2006.». Да, прямо так и говорит 🙃 И тут начинается суета: запрос проваливается в третий уровень саппорта и те начинают судорожно скрести по сусекам, собирая с разных баз данных разные следы этого пользователя. Затем человек говорит: «а теперь — удалите всё». И они пытаются удалить, и даже удаляют всё что нашли. Сцена 1.1 Васе приходит емейл- и смс-рассылка. И тут становится понятно, что удалили не всё. Вася обращается в РКН. РКН выставляет компании штраф. В чем суть: Мы должны уметь рассказать пользователю о списке хранимых ПДн и удалить их по запросу. При невыполнении — штраф до 300к за каждый случай нарушения — читай, за каждого пользователя, который пожаловался в РКН. Казалось бы — несложное требование. Базовое, я бы сказал. Но если ПДн размазаны по сотне сервисов, ПДн собираются в сотне сценариев, и при этом нет единого реестра — выполнить это требование невозможно. Поэтому важно на этапе проектирования архитектуры закладывать либо централизованное хранилище, либо реестр + сигнал об удалении. ——— Сцена 2. Приходит в поддержку следак. И говорит: «Есть такой-то фигурант, Вася Пупкин. Расскажите мне всё, что знаете о нём: какие объявления размещал, какие номера телефонов использовал». И опять начинается суета. ПДн Васи Пупкина ведь удалили в сцене 1. В чем суть: даже после удаления, через 3 года, нужно уметь рассказать товарищу следователю, что делал тот или иной бандит. Тот самый «закон Яровой» (ФЗ-374 от 06.07.2016) и поправки от 01.01.2026. Поэтому удаление должно быть «логическим» — данные помечаются как удаленные, уходят в архив / на холодное хранилище, и становятся недоступны самому пользователю. Но должна быть возможность поднять эти данные. ——— Сцена 3. Плохие парни проникают в сеть конторы, сливают БД и продают дамп в даркнете Пользователям начинают писать / звонить всякие мошенники с целью развода. Слитые данные помогают негодяям повысить конверсию в мамонта. Вася Пупкин становится жертвой социнженерии и переводит все накопления на «безопасный счет» мошенникам. А конторе что? Раньше были смешные штрафы, типа 50к рублей. И максимум что было — шумиха из-за очередного слива, и некоторый репутационный ущерб компании. Но среди всех случаев не было такого чтобы кого-то серьезно нахлобучили. С 2025г ввели оборотный штраф: 1-3% от выручки за год / не менее 20млн, не более 500млн рублей. Теперь не смешно. В чем суть: подход тут должен быть примерно как с паролями — ПДн нельзя хранить в открытом виде. Шифруйте, солите, храните ключи и соли отдельно. Храните в БД сервисов хэши, а сами ПДн в шифрованном виде храните в отдельных БД, к которым доступа нет ни у кого. Это не исключает риск утечки, но снижает вероятность и последствия. ——— Это всё, конечно, доп сложность для разработки. Но если сложить все составляющие, то получается довольно интересная архитектура: 1. Сами ПДн хранятся шифровано в едином реестре, максимально закрученном по доступам и сетевым правилам. 2. Сервисы с бизнес-логикой хранят хэши ПДн. Если нужно, — обменивают хэш на реальное значение у единого реестра из п.1 3. Админка к этому реестру, куда имеют доступ юристы и поддержка. 4. Сервис-адаптер для всяких интеграций с гос сервисами типа госуслуг. Проблема в том, что большинство крупных сервисов — это набор легаси, и ПДн, скорее всего, уже размазаны по сотне сервисов. И по сути нужно сделать большой рефакторинг, стоимостью в 100 человеко-лет.1,60%
- 21 июл. 2025 г.Performance Review: the good, the bad, the ugly Я уже когда-то писал пост про перфревью. А потом еще один про калибровки. Тогда впервые проходил процесс, и казалось что цель — справедливость для всех и каждого. Сейчас заканчивается мой седьмой цикл перфревью. Первые два я прошел как тимлид. Тогда для меня главным было, чтобы все мои инженеры получили справедливые (по моему мнению, конечно же) оценки. Всё остальное было вторично. Следующие четыре — как руководитель юнита. У меня всё еще было некоторое понимание, какая оценка будет справедливой для работы некоторых инженеров. Но все ребята в юните уже в голову не помещались. Поэтому на первый план вышла работа с тимлидами и помощь им в проведении перформанс ревью. Сейчас первый цикл прохожу как руководитель кластера. Теперь понимаю, что справедливость у каждого тимлида своя и в финансовый отчет её не положишь. Пришло время переосмыслить, зачем оно вообще нужно. Помог подкаст Бреслав и Ложечкин, выпуск «Как устроен карьерный рост в Корпорациях» Вот к чему пришел. 1. Основная цель — управляемость компании как системы В Бауманке у нас был курс ТАУ — Теории Автоматического Управления. Управление – это такая организация технологического процесса, которая обеспечивает достижение поставленной цели. Применительно к компании: 1. Сотрудники или команды — элементы системы, объекты управления 2. У каждого элемента есть вход, куда подаются сигналы — цели / KPI 3. И выход, откуда берется результат работы Система преобразует сигнал с выхода «проделанная работа» и подаёт его на вход как сигнал «оценка перформанса». Сигнал «оценка перформанса» влияет на выполнение следующей «работы». Высокая оценка — сигнал развиваться дальше в том же направлении. Низкая — сигнал скорректировать курс. Эта обратная связь — то, что обеспечивает управляемость системы. Без нее система либо уйдет вразнос, либо затухнет. С ней — стремится к заданным параметрам. Что до справедливости.. Это вторичный продукт. Абсолютной справедливости не существует, потому что это она субъективна и у каждого своя. Звучит бездушно, но на больших числах по-другому не работает. Когда у тебя 1000+ сотрудников, ты физически не можешь с каждым поговорить. Тебе приходится управлять через абстракции и метрики, прятать живых людей за цифрами. 2. Защита от ошибок и выравнивание стандартов Если у вас классные люди и классный руководитель — можно жить и без ревью. Но если руководитель не очень, или у него депрессия, или личные проблемы — система поддерживает минимальный средний уровень и не дает упасть ниже. Ревью защищает компанию от ошибок менеджеров: — Не поднял зарплату сотруднику вовремя — Не дал обратную связь о работе из-за ежедневной суеты, или дал неправильную — Некорректно использует ресурсы компании. Например, дает сеньорам простые мидловские задачи Система заставляет руководителя регулярно думать об этих вещах, даже если ему не хочется или некогда. Правда, эта же система не дает и высоко подпрыгнуть от среднего уровня. Эта усредниловка — цена за стабильность. Перформанс ревью — это система-уравнитель. 3. Защита от инфляции грейдов и хаоса при ротациях У каждого тимлида своё понимание: кто такой джун, где заканчивается мидл, откуда начинается сеньор. Без выравнивания всё начинает плыть. Особенно когда люди переходят между командами. Если убрать перформанс ревью и калибровки — то будет очень обычная ситуация «что-то Вася загрустил, дадим ка ему повышение». Когда все знают, что промо — это не «руководитель захотел», а часть системы, у людей появляется ощущение прозрачности. Хотя это не всегда делает систему справедливой. Итог Можно не любить ревью. Я сам часто не люблю. Оно отнимает время, вызывает споры, и почти всегда есть кто-то недовольный. Но альтернатива — хаос, в котором компания обречена, потому что не может повернуть руль. Если ты сотрудник — не воспринимай оценку как вердикт. Это не суд, это сигнал. Если ты менеджер — старайся быть тем, кто переводит сигналы в человеческий язык.1,22%
- 20 июл.С этими вашими AI агентами мы снова попали на дикий запад Момент времени Т-4: Когда-то давно для нового разработчика в компании выделялось несколько дней, а то и недель, чтобы настроить под себя рабочее окружение. Начиная от настройки ОС, и заканчивая выбором веб-сервера и установкой базы данных. А потом связкой этого всего друг с другом. Представляете: люди отдельно ставили себе Apache и MySQL, руками перекладывали PHP-исходники в директорию апача, руками правили конфиги чтобы правильный порт MySQL прописать. На разворачивание среды разработки для новых сотрудников закладывали неделю-две. Момент времени Т-3: Появляются стандарты. LAMP, XAMPP, Denwer, ... Онбординг нового программиста теперь занимает 1 день. Момент времени Т-2: Все инструменты разработки стандартизированы, есть платформы, есть облака, на практически любой вопрос есть ответ. Момент времени Т-1: С появлением кодящих агентов мы откатились к этапу Т-4: "каждый колбасит сам как умеет, делимся экспертизой, ищем сценарии применения и лучшие практики". Момент времени Т-0 (Сейчас): Мы на этапе, когда уже набралось определенное количество сценариев применения и лучших практик. При этом с точки зрения стандартизации мы всё еще в древних временах, когда еще даже не появились LAMP и Денвер. Образ будущего Т+1: Верю, что появятся стандарты использования кодящих агентов. Может быть, на уровне промптов для самих агентов. Чтобы агент подсказывал оператору (разработчику), как его правильно использовать. - Скиллы, mcp, подходы. - Запускать brainstorm -> writing-plans -> subagents-flow -> finish-branch-development - Делать регулярный Handoff и compact - Писать по TDD или даже TBD. - Избегать откладывания техдолга. - Следовать правилу бойскаута (оставлять поляну чуть чище чем была до прихода). Дробить на атомарные пулл реквесты. Проще всего это сделать с помощью AGENTS.md в корне проекта (+симлинкать на него CLAUDE.md) Верю, что уменьшится метрика Rework. Возможно, что-то еще. Впрочем, AGENTS.md — это такой же простой совет, уровня шаринга экспертизы. Видимо, образ будущего я пока не вижу. Впрочем, не я один. Поэтому остаемся в моменте времени Т+0 и делимся экспертизой. ——— Собственно, почему я пишу этот пост. Мой давний товарищ Егор Толстой из Подлодки запустил закрытое сообщество инженеров, которые уже активно используют AI в работе и хотят делать это системно. Концепт клуба: 1. Берем эксперта из Uber, xAI, Meta, Яндекса, Cursor, ... 2. Проводим стрим. Уже прошло больше 40 стримов на разные темы — фреймворки, Spec-Driven Development, общий реестр скиллов для команды, автономные фабрики фичей, ... 3. Обсуждаем в чате. Расходимся по комнатам на разные темы — локальные модели, SDD, ... 4. Бот как база знаний на основе всего архива прошедших стримов и обсуждений в чате 5. Хакатоны! сдедующий в августе, на тему самообучающихся агентов и долгосрочной памяти. Если вы уже активно внедряете AI в свою работу или команды — сможете найти единомышленников с похожими проблемами. Как работать со скептиками, как не попасть в зависимость от вендоров моделей, как не сжечь все бюджеты на токены – можно обсуждать в чате и на Random Coffee. 🔗Детали, расписание, заявки в клуб Био-Органический текст. Написан без применения AI.1,15%