Дебажить новости как код: чему несколько лет в ЦРБ научили меня о фактах, врачах и пяти банках энергетика

от автора

Как вам на счет медицинского боевика?) Это редкая статья, где я Артур Валиев, пытаюсь просто делиться чем-то не провокационным, а чем-то местным.
И Сразу извините за переносы, я просто хотел что-бы каждая новая строчка была воспринята чуть ближе. С уважением — V.

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

Наверное, именно поэтому после работы в ЦРБ у меня появилась странная привычка. Я практически разучился просто читать новости.

Большинство людей видит заголовок, воспринимает содержащуюся в нём историю и идёт дальше. Я почему-то начинаю раздражаться. Мне хочется открыть новость, посмотреть источник, понять последовательность событий, время, возраст человека, обстоятельства, а потом задать совершенно ненужный нормальному читателю вопрос: а точно ли всё происходило именно так?

Не потому, что я считаю журналистов идиотами. Не потому, что думаю, будто врачи постоянно врут. И уж точно не потому, что считаю себя умнее медицинских специалистов.

Скорее наоборот. Чем дольше работаешь с реальными системами — программными, медицинскими, бюрократическими, человеческими, — тем тяжелее верить в простые объяснения.

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

Возможно, всё именно так и произошло.

Но моя первая мысль была не медицинской.

Она была программистской:

Слишком мало переменных.

Пять банок энергетика. Девушка. Реанимация. Врачи спасли.

Причина, следствие, мораль.

Это прекрасная история. Настолько прекрасная, что именно поэтому вызывает у меня подозрение.

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

— Доктор, она действительно выпила пять банок?

Он посмотрит на меня как на человека, которому в два часа ночи совершенно нечем заняться.

— Артур, она сказала, что выпила пять банок.

— Я понимаю. А она выпила их подряд?

— Откуда я знаю?

— А какой именно энергетик?

— Какая разница?

— Сколько кофеина? Что она до этого ела? Принимала лекарства? Алкоголь был? Хронические болезни? Вес? Сколько времени прошло?

И в какой-то момент врач совершенно справедливо скажет:

— Слушай, мне человека лечить надо, а не детектив расследовать.

И будет прав.

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

«Пять банок энергетика едва не остановили сердце школьницы. Врачи спасли девушку».

Причём самое интересное заключается в том, что на всём этом пути никто, возможно, вообще не соврал.

Пациентка действительно могла сказать, что выпила пять банок. Врач действительно мог записать это со слов пациентки. Больница действительно могла сообщить, что подросток поступил после употребления большого количества энергетиков. Врачи действительно стабилизировали её состояние.

Каждое отдельное утверждение может оказаться правдой.

Но между набором правдивых утверждений и полной картиной произошедшего существует огромная дистанция.

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

Больница очень быстро лечит романтическое отношение к медицине

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

Реальная больница намного скучнее и одновременно намного страшнее.

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

Я понимаю, насколько грубо это звучит.

Но я не хочу делать эту фразу приличнее задним числом. Потому что в тот момент именно так это воспринимается человеком, стоящим рядом.

Кто-то лежит на каталке. Родственники нервничают. Время идёт. По коридору ходят люди в халатах. Кто-то разговаривает. Кто-то заполняет бумаги. Кто-то куда-то исчезает.

И ты думаешь: человек же болен. Почему здесь никто не бегает?

А потом заходишь в реанимацию, и она временами напоминает тихий час в детском садике.

Тихо. Полумрак. Люди лежат. Мониторы что-то монотонно показывают. Персонал не носится с криками между койками.

Первое время этот контраст кажется чудовищным.

Потом начинаешь понимать неприятную вещь: больница не может постоянно эмоционально соответствовать трагедии каждого отдельного пациента.

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

Для дежурного врача это вторник.

Следом привезут ещё одного. Потом ещё. Потом кто-нибудь упадёт пьяным возле магазина. Потом поступит бабушка с инсультом. Потом ребёнок с температурой. Потом кому-то станет плохо прямо в коридоре.

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

В этом смысле холодность системы является одновременно её недостатком и механизмом выживания.

Но именно здесь появляется странная вещь, которая до сих пор меня раздражает.

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

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

Формально опять же не обязательно ложь.

Но будто на обычную больничную смену наложили музыку из фильма.

И я не могу понять, зачем.

Возможно, именно отсюда у меня появилось раздражение к фразе «врачи спасли».

Потому что мне всегда хочется задать следующий вопрос:

а что конкретно означает слово «спасли»?

Иногда это действительно секунда. Дефибриллятор. Решение. Реанимация. Человек буквально не пережил бы следующие несколько минут без врача.

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

Это тоже медицина.

И это тоже может быть критически важно.

Но смысл совершенно другой.

Я опять представляю спор.

— Док, пишут, что ты спас человека.

— Ну спас.

— А что сделал?

— Стабилизировали состояние.

— Так, может быть, вот это и надо написать?

— Артур, какая тебе разница?

А мне почему-то есть разница.

Потому что слова постепенно меняют наше представление о реальности.

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

А значит — почти наверняка неправильным.

Пять банок энергетика

Вернёмся к девушке.

Пять банок по пол-литра — это два с половиной литра сладкой газированной жидкости.

Мой мозг почему-то зацепился именно за этот бытовой момент.

Не за токсикологию.

За объём.

Я попробовал просто представить пять банок подряд.

После первой уже чувствуешь объём жидкости. После второй становится весело. После третьей сам напиток начинает вызывать отвращение. А впереди ещё литр.

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

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

Но появляется вопрос.

А как именно они были выпиты?

За двадцать минут?

За шесть часов?

На голодный желудок?

Вместе с едой?

Какой был объём банки?

Сколько кофеина содержал конкретный напиток?

Все ли пять были выпиты полностью?

Мы этого не знаем.

И вот тут находится, пожалуй, самая важная мысль всей этой истории.

Не знать — нормально.

Современный человек почему-то очень плохо умеет оставлять клетку пустой.

Нам обязательно хочется закончить расследование.

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

может быть, там был алкоголь?

Может быть, какие-то таблетки?

Может быть, ещё что-то?

Может быть, девушка не захотела рассказывать врачу и родителям обо всём?

Это вполне возможные гипотезы.

Но здесь возникает ловушка.

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

Иначе я ничем не лучше новости, которая меня раздражает.

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

Моя версия может казаться мне умнее.

Это ничего не доказывает.

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

Наверное, в этом заключается одна из самых опасных сторон критического мышления.

Сначала человек учится сомневаться.

Это полезно.

Потом начинает замечать противоречия.

Ещё лучше.

А потом происходит почти незаметный переход:

«Я вижу противоречия» превращается в «я понимаю, что произошло на самом деле».

И здесь критическое мышление начинает пожирать само себя.

Это хорошо знакомо программистам.

Есть баг. Вы смотрите код и вдруг понимаете:

«Вот оно».

Внутри уже появляется приятное ощущение найденной причины.

Вы переписываете участок.

Запускаете систему.

Ошибка остаётся.

Потому что баг оказался вообще в другом месте.

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

С реальностью происходит то же самое, только тестов у нас зачастую нет.

Поэтому мне кажется полезным мысленно разделять утверждения хотя бы на несколько типов.

Есть факт.

Есть слова участника событий.

Есть интерпретация.

Есть гипотеза.

И есть неизвестное.

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

Проблема в том, что все эти типы данных отображаются пользователю одинаково.

Представьте, что мы описывали бы новость как структуру на Rust:

enum Statement { Fact(String), WitnessReport(String), Interpretation(String), Hypothesis(String), Unknown, }

Фраза девушки «я выпила пять энергетиков» могла бы иметь тип WitnessReport.

Фраза «после употребления пяти энергетиков она поступила в больницу» — возможно, Fact.

А фраза «пять энергетиков стали единственной причиной критического состояния» потребовала бы уже значительно больше данных.

Но в обычном человеческом языке типы исчезают.

И читатель получает одно гладкое предложение, в котором неизвестное незаметно превращается в известное.

Мне кажется, журналистика временами напоминает динамически типизированный язык, запущенный прямо в production.

Работает быстро.

Пишется легко.

А потом попробуй понять, откуда именно прилетел null.

Почему меня так раздражают новости

Долго я думал, что меня раздражают врачи.

Потом — что журналисты.

Потом — государственные пресс-службы.

Но со временем мне стала казаться более интересной другая версия.

Наверное, меня раздражает сам момент, когда кто-то слишком быстро закрывает неопределённость.

Я видел реальную больницу.

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

Я видел, как тяжёлый пациент ждёт.

Видел, как врач не бежит.

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

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

Не обязательно потому, что меня хотят обмануть.

Иногда ещё хуже.

Потому что мне предлагают не думать.

Вот причина.

Вот следствие.

Вот хороший человек.

Вот плохой продукт.

Вот герой.

Вот жертва.

Вот мораль.

Можно закрывать страницу.

А реальность так не работает.

Работа программиста вообще очень быстро отучает верить красивым интерфейсам.

Когда система говорит Everything is OK, опытный человек первым делом хочет посмотреть логи.

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

Наверное, новости являются таким же интерфейсом.

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

На выходе остаётся заголовок.

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

Гораздо интереснее помнить, что перед нами всего лишь интерфейс.

Поэтому я не предлагаю вам не верить новостям

Совсем наоборот.

Я предлагаю отказаться от детской модели, в которой существует только два состояния: «правда» и «ложь».

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

Врач может действительно помочь человеку и при этом не совершить никакого подвига.

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

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

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

Это нормально.

Мне кажется, взрослая позиция начинается именно здесь.

Не со слов:

«Вы все врёте, а я вас раскусил».

А с гораздо менее приятной фразы:

«Я пока не знаю».

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

Я не знаю, были ли какие-то дополнительные обстоятельства.

Я не знаю, насколько близко её сердце реально находилось к остановке и насколько журналистская фраза соответствует медицинскому описанию.

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

У меня нет истории болезни.

Нет анализов.

Нет ЭКГ.

Нет разговора с лечащими врачами.

Значит, всё остальное — степени уверенности.

И почему-то именно возможность оставить вопрос открытым сегодня кажется мне настоящим критическим мышлением.

Возможно, понимать новости — значит не искать окончательную правду

Раньше мне казалось, что хороший анализ должен закончиться ответом.

Ты копаешь достаточно глубоко и однажды доходишь до истины.

Теперь я думаю немного иначе.

В большинстве человеческих историй до истины мы вообще никогда не доходим.

У нас просто становится меньше плохих объяснений.

И это, возможно, достаточный результат.

Я всё ещё буду раздражаться, когда прочту очередное «врачи совершили невозможное».

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

Вспомню тишину реанимации.

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

Но теперь я стараюсь не делать следующий ошибочный шаг.

Не превращать собственное раздражение в доказательство.

Потому что цинизм — это не критическое мышление.

Недоверие — тоже.

Даже жизненный опыт ничего не доказывает сам по себе.

Он всего лишь заставляет задавать дополнительные вопросы.

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

Что именно произошло?

Откуда это известно?

Кто это утверждает?

Что является наблюдением, а что интерпретацией?

Каких данных нам не хватает?

Какие ещё объяснения возможны?

И что могло бы доказать, что моя собственная версия ошибочна?

Наверное, именно последнее является самым неприятным вопросом.

Потому что другим людям мы всегда готовы устроить code review.

А собственную картину мира обычно сразу отправляем в production.

И если работа программистом и несколько лет в районной больнице чему-то меня действительно научили, то, наверное, только этому:

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

Поэтому иногда полезно не спорить с новостью.

Не разоблачать её.

Не искать немедленно виноватого.

А просто мысленно нажать:

View source.

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

И всё-таки я хочу закончить не энергетиками

Есть одна история, после которой все мои споры с врачами становятся для меня намного менее интеллектуальными.

Я хоронил близкого человека.

Он умирал от онкологии четвёртой стадии. И я помню не диагноз — диагноз к тому моменту уже никого не удивлял. Я помню ожидание.

Минут сорок.

Сорок минут, пока спустится врач.

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

Когда человек умирает от терминальной онкологии, ты ещё продолжаешь внутренне требовать от медицины какого-то последнего действия. Ещё одну капельницу. Ещё один препарат. Ещё один аппарат. Сделайте хоть что-нибудь.

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

И я помню фразу врача.

Он даже сказал её где-то издалека:

— А что я могу? Новые органы ему поставить?

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

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

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

Потому что перед тобой в этот момент находится не «онкология четвёртой стадии».

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

А теперь кто-то пожимает плечами:

«Новые органы ему поставить?»

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

Я могу уважать конкретного врача.

Конкретного человека.

Его знания. Его выдержку. Его поступок.

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

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

Наверное, профессиональная деформация.

Я программист.

Мне нужно понимать, что происходит.

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

Для меня в какой-то момент организм перестал быть магией.

Это всё ещё чудовищно сложная система, которую я понимаю на ничтожную долю процента.

Но это система.

Рецептор.

Сигнал.

Сосуд.

Давление.

Фермент.

Электрический импульс.

Причина и следствие.

И, возможно, именно поэтому инженеры иногда так плохо переносят авторитет без объяснения.

Нам недостаточно услышать:

«Так надо».

Мы хотим знать:

«Почему?»

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

И следующий.

И следующий.

До тех пор, пока либо не поймём систему, либо честно не признаем:

данных недостаточно.

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

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

Что у нас есть?

Что сломалось?

Что ещё работает?

Что можно починить?

Чем заменить отсутствующую деталь?

Как сохранить воду?

Как получить электричество?

Как сделать тепло?

Как не дать человеку умереть до утра?

Не потому, что инженер обязательно умнее врача.

И не потому, что программист способен заменить хирурга.

А потому что инженерная культура в своей лучшей форме строится вокруг очень простой идеи:

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

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

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

Человек сделал свою работу.

Хорошо сделал — скажи ему спасибо.

Отлично сделал — запомни его имя.

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

Но мне не нужен герой в белом халате.

Мне нужен человек, который в момент, когда рядом со мной умирает близкий, не крикнет издалека:

«А что я ему, новые органы поставлю?»

Он может точно так же понимать, что ничего уже не исправить.

Может не иметь ни одного лекарства, способного изменить финал.

Может прекрасно знать, что через несколько часов этот человек умрёт.

Но иногда последняя задача врача — уже не починить организм.

Иногда система действительно неремонтопригодна.

Тогда остаётся другая работа.

Подойти.

Посмотреть человеку в глаза.

Объяснить семье, что происходит.

Убрать боль, насколько возможно.

Не заставлять сорок минут гадать, происходит ли сейчас что-то страшное или всем просто всё равно.

Потому что человек — не сервер.

У него нет резервной копии.

Нельзя заменить материнскую плату, поднять предыдущий snapshot и написать в чат:

service restored.

Когда близкий человек умирает, никакого rollback не будет.

И вот это, наверное, главное, что я хотел сказать всей этой длинной статьёй.

Не про врачей.

Не про энергетики.

Не про то, что журналисты обязательно врут.

И даже не про критическое мышление.

Я хочу, чтобы вы берегли близких.

Не когда появится диагноз.

Не когда врач скажет, что уже поздно.

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

Раньше.

Звоните им.

Спорьте с ними.

Приезжайте.

Чините им компьютер.

Меняйте розетку.

Везите на обследование, если они месяц откладывают.

Слушайте их скучные истории, которые вы слышали уже двадцать раз.

Запоминайте голос.

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

Мы, инженеры, привыкли считать, что почти любую систему можно понять.

Если достаточно долго смотреть логи, читать документацию и исключать неисправности, причина найдётся.

Наверное, это одна из самых красивых наших иллюзий.

Есть системы, которые однажды просто перестают отвечать.

И никакого патча уже не будет.

Поэтому дебажьте новости.

Не поклоняйтесь авторитетам.

Спрашивайте, откуда взялась причинность.

Требуйте объяснений.

Учитесь понимать хотя бы основы того, как устроено собственное тело и мир вокруг вас.

Но иногда закрывайте ноутбук.

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

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

Найдём генератор. Соединим какие-нибудь провода. Поднимем старый дизель. Напишем кривой софт. Соберём фильтр для воды из того, что осталось. Будем ругаться, читать документацию от устройства 1987 года и каким-то чудом заставим всё это работать.

Без шоколадок.

Без коньяка.

Без памятников.

Просто потому, что что-то сломалось и это надо починить.

Но до конца света есть задача немного важнее.

Берегите тех, кого потом уже не починишь.

ссылка на оригинал статьи https://habr.com/ru/articles/1074542/