Май 2020: антихрупкость иммунной системы, продуктовая магия, Ask Me Anything 2020 и выгорание как ошибка предсказания

Часто продакт-менеджеры стремятся к “магии” в своих продуктах. Когда всё “просто работает”.

Мое утверждение: когда магия работает хорошо, то это вызывает сильные позитивные эмоции. Когда магия работает плохо, это вызывает сильные негативные эмоции. Гораздо сильнее чем обычная проблема. То есть негатив от проблемы в обычной фиче меньше, чем негатив от проблемы в “магической” фиче.

“Магический подход” это убирание дополнительных действий и трения. Это также приводит к отсутствию контроля и большей абстракции. Поэтому когда что-то идет не так, оказываешься беспомощным, чтобы понять в чем проблема и как ее решить.

Вот например у Apple есть концепция iCloud: куча штук автоматически синхронизируются между устройствами. Не надо нажимать “Сохранить” или что-то делать дополнительно: начал на одном устройстве — продолжил на другом. Это “продуктовая магия”, которая действительно делает продукт лучше.

Но когда что-то ломается — ты оказываешься в тупике. У меня перестали синхронизироваться открытые страницы(вкладки) между Safari на ноутбуке и Safari на телефоне. Открытые страницы из Safari на ноутбуке перестали везде отображаться — и на iPhone и на iPad. При этом вижу с iPhone и iPad открытые страницы друг друга, вижу на ноутбуке открытые страницы из iPhone и iPad, могу их закрывать (то есть синхронизация работает в обе стороне на Safari на ноутбуке). Как будто Safari на ноутбуке совсем пропал из синхронизации.

И вот когда магия дала сбой, я понял, что ничего не могу сделать. У меня нет никаких инструментов, чтобы посмотреть статус синхронизации, что там происходило, узнать какие ошибки были в процессе. Не могу даже явно эту синхронизацию вызвать. Это магический “черный ящик”, который закрыт от внешнего взора.

И это ощущение беспомощности — супер раздражает. Что-то идет не так и ничего не понятно.

Кстати нашел в чем дело всё же. Прошлые навыки саппорт-инженера всегда помогут. Desktop Safari исключает себя из синхронизации, если у него открыта хотя бы одна вкладка с локальным файлом c протоколом file:/// (у меня была открыта PDF с локального диска). Этот запрет видимо из-за причин безопасности(чтобы на телефонах нельзя было запросить локальный файл), хотя почему исключают все целиком, а не только одну вкладку — не понимаю.

Хорошая магия делает все сильно лучше. Посредственная магия делает все не посредственно, а сильно хуже.

Вирусы и наша защита, иммунная система, — очень занимательные создания.

Вирусы

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

Задача вируса — попасть в организм, найти подходящую клетку-хозяина и проникнуть в неё. Потом вирус заставляет клетку производить много своих копий. В конце-концов вирус покидает клетку-хозяина и она погибает. Новые копии вируса ищут новые клетки.

Некоторые вирусы действуют еще хитрее. Они встраиваются в клетку, но не заставляют ее производить свои копии и не разрушают её. Вместо этого вирус скрытно встраивается в геном клетки. Клетка размножается, но каждый потомок несет “закладку” — встроенный геном вируса. В будущем из-за какого-то события “закладка” может сработать и вирус перейдет в активную стадию размножения.

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

Это очень много разных кусочков информации, которые взаимодействуют с миром: более приспособленные размножаются больше (за счет хозяев), менее — исчезают. Этот базовый отбор (и гигантское количество разных вариаций/попыток) приводит к изменениям вирусов, которые нам кажутся сверхъестественно умными (а ведь если “цель” вируса максимально размножится, то он должен быть одновременно и очень вирулентным и одновременно не убивать хозяина).

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

Иммунная система

С вирусами и другими угрозами организма борется наша иммунная система. Это сложный механизм с разными уровнями защиты (я был поражен насколько этих уровней много и их связностью). Пара штук особенно удивили.

У нашего организма (и у животных, растений и т.д.) уже изначально в геном заложена информация об иммунных клетках с определенными “ключами”, молекулами-рецепторами. Когда мы рождаемся — они уже есть. Это “эволюционная память” всех тех прошлых болезней, с которыми наши предки сталкивались миллионы лет назад.

Организм создает различные иммунные клетки и генерирует им рецепторы случайно. Гены перетасовываются так, что каждая клетка получает свой уникальный случайный рецептор. Но нам же надо сделать, чтобы они не атаковали сам организм и его нормальные клетки. Для этого каждая новая клетка со случайным рецептором тестируется на реакцию на здоровые клетки. Если реакция есть (то есть связывание происходит), то это клетка уничтожается. В результате получается набор иммунных клеток cо случайными рецепторами, которые заведомо не могут связываться со здоровыми клетками организма — только с поврежденными или внешними. А по скольку рецепторы случайны — они могут сработать на угрозу, про которую организм на момент создания не знал совсем. Как же это круто!

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

Но и это еще не всё. У дендритной клетки есть еще одна защита. Когда она показывает “съеденную” чужую клетку, то другие иммунные клетки проверяют наличие определенных других флагов, которые подтверждают, что захвачен был именно вредоносный микроб. И если такого флага нет, то иммунная клетка, которая связалась с дендритной, не начинает размножаться. Наоборот — она “выключается” и перестает производить иммунный ответ. То есть если в организме появилось что-то новое, но не опасное или нужное — иммунный ответ на эту штуку подавляется.

И это все очень упрощенный и базовый взгляд на небольшую часть нашей иммунной системы. У нас есть еще куча разных клеток (например помогающие или клетки подавляющие иммунный ответ), есть клетки реагирующие на различные угрозы: вирусы, бактерии, паразиты. Есть действия самого организма целиком, например поднятие температуры (патогены медленнее размножаются, так как приспособлены к нормальной температуре). Есть иммунные клетки, которые защищают не только наши клетки, но еще и сторонние и полезные бактерии в кишечнике от чужих вредных нежелательных бактерий. Если всё интересно, то рекомендую книгу “Невероятный иммунитет” Дэниэла Дэвиса.

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

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

Почитать мои ответы: Ответы на вопросы: апрель 2020 →.

Хорошая статья-прояснение про Талебовский принцип “антихрупкости”.

Антихрупкость это не значит “не хрупкий”. Это значит “противоположный хрупкости” — при воздействии не разбивается, а становится прочнее. То есть системы можно, по мнению Талеба, разделить на три части:

Для хрупких систем беспорядок создает неопределенность. А у антихрупких беспорядок и изменения эту неопределенность убирают. То есть реакция и действия в ответ на изменения (беспорядок, стресс) улучшают систему. Система изменяется и действует именно в ответ на стресс в первую очередь.

Интересных тут вывода три.

Хорошим примером тут является правило для технической поддержки: “вы имеете возможность единолично принять решение по возврату средств, если сумма меньше $NNN”. Это делает поддержку сильно лучше и, что важно, приятней. Гораздо лучше получить сразу ответ вида “неприятная штука, мы так обычно не делаем, но вот вам решили вернуть деньги” чем “мне нужно посоветоваться с начальством” и 2 недели спустя — “извините, но нет”.

При этом видимо можно иметь разный уровень “хрупкости” на разных своих уровнях. Например, если кто-то работает над идеей, то неопределенность реализации и новая информация видоизменяют и двигают идею вперед. Классическая петля “инсайт → действие → оценка результата → инсайт”. Но что если идея долгое время “не взлетает”? Умение игнорировать этот факт долгое время (“хрупкий” подход) сильно повышает шансы фейла и безвозвратных потерь (время), но при этом иногда такое упорство может дать неожиданный результат: “через много времени и попыток все внезапно завертелось”. Здесь нужен какой-то сложный баланс антихрупкости (попытки и изменения) и хрупкости (вера в ту же идею) на разных уровнях. Такой баланс не так просто найти.

Есть такое известное эссе Carlo Cipolla про Basic laws of human stupidity (перевод на русский). Эссе забавное и описывает следующие правила:

Занятное эссе, но в нем интересней всего разделение на четыре квадрата из закона №3. Carlo Cipolla делит людей на 4 типа:

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

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

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

При этом важно отметить, что плохое отношение к кому-то в ответ на действия может быть выгодно и приносить пользу. Например как возможность изменить чужое поведение, сигнал всем “так делать со мной не надо — будут последствия” или знак самому себе не иметь с этим человеком дел в будущем. Речь про ситуации, когда никакой выгоды нет. Это вот супер-странная штука: зачем обижать людей без причины?

Неплохой сборник советов (английский) про то, как правильно проводить A/B тесты.

A/B тесты это очень мощный инструмент, который может пролить свет на многие неопределенности. Но как любой мощный инструмент его очень легко использовать неправильно.

Самые важные мысли из статьи, которым одновременно просто следовать:

a) Перед проведением теста подсчитать его длительность (размер каждого сегмента).
Вполне возможно будет так, что наблюдаемое нужное событие достаточно редко, а объем трафик так мал, что эксперимент будет идти много месяцев или лет.

Скорее всего в этом случае запускать A/B эксперимент не имеет смысла (имеет он смысл тогда только если вы ожидаете действительно сильное изменение).

Калькуляторов длительности A/B тестов много. Я использую вот этот, но их много разных.

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

в) В процессе тестирования нужно минимизировать ошибки первого рода: false positive (“ложная тревога”, нашли связь/отличие, которой на самом деле не существует).

Для этого нужно как можно меньше “крутить” данные разными способоми. Минимизировать количество отдельных “мини-экспериментов” в рамках A/B теста. То есть:

Каждый такой “срез” это как-бы мини-эксперимент сам по себе и чем их больше — тем больше шанс увидеть связь/подтвердить гипотезу (“тестовая страница работает лучше”) там, где ее на самом деле нет / гипотеза не верна.

Я про это писал и делал модель в посте про Десять тысяч A/B тестов.

г) Проверять на равное распределение сегментов.
Пользователи должны быть распределены по сегментам примерно 50 на 50. Если распределение другое — скорее всего в тесте ошибка и ему нельзя доверять.

Хорошие инструменты для проверки результатов тестов, типа AB Testguide, сами об этом предупредят.

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

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

Имеет смысл оценивать такое “нейтральное” изменение критически и с помощью здравого смысла — может ли оно повредить? Полезно ли оно? Стоит ли рискнуть тут?

Супер-интересная мысль про выгорание из коммента на Hacker News:

Burnout is caused when you repeatedly make large amounts of sacrifice and or effort into high-risk problems that fail. It’s the result of a negative prediction error in the nucleus accumbens. You effectively condition your brain to associate work with failure.

Subconsciously, then eventually, consciously, you wonder if it’s worth it. The best way to prevent burnout is to follow up a serious failure with doing small things that you know are going to work. As a biologist, I frequently put in 50-70 and sometimes 100 hour workweeks. The very nature of experimental science (lots of unkowns) means that failure happens. The nature of the culture means that grad students are “groomed” by sticking them on low-probability of success, high reward fishing expeditions (gotta get those nature, science papers) I used to burn out for months after accumulating many many hours of work on high-risk projects. I saw other grad students get it really bad, and burn out for years.

During my first postdoc, I dated a neuroscientist and reprogrammed my work habits. On the heels of the failure of a project where I have spent weeks building up for, I will quickly force myself to do routine molecular biology, or general lab tasks, or a repeat of an experiment that I have gotten to work in the past. These all have an immediate reward. Now I don’t burn out anymore, and find it easier to re-attempt very difficult things, with a clearer mindset.

For coders, I would posit that most burnout comes on the heels of failure that is not in the hands of the coder (management decisions, market realities, etc). My suggested remedy would be to reassociate work with success by doing routine things such as debugging or code testing that will restore the act of working with the little “pops” of endorphins.

That is not to say that having a healthy life schedule makes burnout less likely (I think it does; and one should have a healthy lifestyle for its own sake) but I don’t think it addresses the main issue.

То есть предполагается, что выгорание — это ошибка предсказания. Мы сильно вкладываемся в что-то (например в сложный и высокорисковый проект), но результат провальный. Через несколько таких попыток мозг понимает, что эта работа = провал и неприятные ощущения. Значит этой работы надо избегать.

Автор комментария советует перемежать сложные высокорисковые проекты небольшими штуками с очень высоким шансом успешных результатов. Это не даст негативной связи “работа = провал” выработаться.

Это также наводит и на другие мысли.

Прочитал книгу “Dataclysm” от Christian Rudder: сооснователя OkCupid, крупнейшего сайта знакомств в Америке.

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

Некоторые выводы отдельно запомнились.

Пользователи OkCupid могут оценивать друг друга, эта оценка является неким показателем “общепринятой” привлекательности. Количество сообщений, которые пишут человеку на OkCupid (некий показатель “востребованности”) сильно зависит от этой оценки. Чем она выше — тем больше тебе пишут. Корреляция есть и для мужчин и женщин, но для женщин она особенно заметна.

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

Допустим есть человек с оценкой в3.5 (из 5). Это оценка может быть получена двумя способами. Первый: 6 человек поставило 3 и 6 человек поставило 4. Второй: 6 человек поставило 2 и 6 человек поставило 5.

Второй способ даст больше сообщений и внимания.

Причем намного больше. Автор заявляет, что сильно-поляризованные оценки приносят на 70% больше сообщений! По его словам, люди с низкой средней оценкой (20% перцентиль, то есть у 80% оценка выше), но с высокой вариативностью в оценках, получают столько же сообщений, сколько люди со средней оценкой в 70% перцентили (только у 30% оценка выше).

Это важная мысль.

Сильнее неких внешних параметров влияет неравнодушность отношения. То, насколько вы вызываете эмоции. Несколько “фанатов” и несколько “хейтеров” дают больше, чем просто много “ну ок”.

Если кто-то или что-то вызывает поляризацию мнений — это признак того, что будет внимание. Так что пытаться “понравиться всем” — не всегда эффективна затея. Гораздо лучше может быть, когда тебя кто-то сильно любит, а кто-то сильно не любит.

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

Если посмотреть на график (он примерно одинаков и для мужчин и для женщин) — там есть две линии.Черная показывает разницу от среднего количества ответов в зависимости от разницы во внешности партнеров. Чем женщина красивее мужчины (по средним оценкам OkCupid) — тем меньше она отвечает на его сообщения. И наоборот. Красная линия показывает удолетворенность от свидания у тех же людей. Удовольствие от личного общения не зависит от разницы во внешности.

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

А важны простые вещи: совпадение по каким-то базовым вещам. Процитирую:

People tend to run wild with those match questions, marking all kinds of stuff as “mandatory,” in essence putting a checklist to the world: I’m looking for a dog-loving, agnostic, nonsmoking liberal who’s never had kids—and who’s good in bed, of course. But very humble questions like Do you like scary movies? and Have you ever traveled alone to another country? have amazing predictive power. If you’re ever stumped on what to ask someone on a first date, try those. In about three-quarters of the long-term couples OkCupid has ever brought together, both people have answered them the same way, either both “yes” or both “no.” People tend to overemphasize the big, splashy things: faith, politics, and certainly looks, but they don’t matter nearly as much as everyone thinks. Sometimes they don’t matter at all.

Книга получилась неровная. Какие-то темы очень интересные (первая треть книги). Какие-то очень скучны. Но Кристиан касается тем, которые обычно стараются не обсуждать (отношения полов, влияние возраста и расы на отношения и т.д.), подкрепляя все данными. И это весьма интересно.

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

У почты Нидерландов есть интересный сервис. Покупаешь марку в приложении или онлайн и получаешь специальный код. Потом пишешь код на открытке или письме вместо марки и пиcьмо дойдет. То есть код выступает как марка, как подтверждение, что письмо оплачено. Отличная идея.

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

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

Осязание, обоняние, вкус пока не имеют таких примеров. Но можно вспомнить, например, одоранты. В природный газ, который мы не чувствуем, добавляют примесь: этилмеркаптан, который нам неприятен и ощущается даже в очень малых количествах. Поэтому информация о большой сложной штуке (утечка газа в каком угодно месте) может быть передана через обоняние простым фактом. По сути тем же “именем события”: неприятно пахнет → где-то случилась утечка.

Эта связка имени с бó‎льшим объемом информации и последующая передача имени через “медиум”, этому имени подходящий — очень мощная концепция, которую можно как и обнаружить очень много где, так и применять самому.