<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Виталий Филатов: заметки с тегом кровавый энтерпрайз</title>
<link>https://www.vitalyfilatov.ru/tags/krovavy-enterprayz/</link>
<description>Меня зовут Виталий Филатов. Я коммерческий писатель, помогаю бизнесу рассказывать о себе и продукте. Пишу и редактирую статьи, инструкции, текст сайтов и интерфейсов. Люблю работать в команде с дизайнерами и разработчиками.</description>
<author>Виталий Филатов</author>
<language>ru</language>
<generator>E2 (v3877; Aegea)</generator>

<itunes:owner>
<itunes:name>Виталий Филатов</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Меня зовут Виталий Филатов. Я коммерческий писатель, помогаю бизнесу рассказывать о себе и продукте. Пишу и редактирую статьи, инструкции, текст сайтов и интерфейсов. Люблю работать в команде с дизайнерами и разработчиками.</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Кейс с совпадающими номерами</title>
<guid isPermaLink="false">98</guid>
<link>https://www.vitalyfilatov.ru/all/ideal-id/</link>
<pubDate>Thu, 19 Jun 2025 22:06:29 +0500</pubDate>
<author>Виталий Филатов</author>
<comments>https://www.vitalyfilatov.ru/all/ideal-id/</comments>
<description>
&lt;p&gt;История про совпадения в номерах стикеров и понимание коммуникационной задачи. И почему нельзя просто так взять и сделать &lt;i&gt;правильно&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Рабочие макеты под NDA, поэтому в этот раз только текстом.&lt;/p&gt;
&lt;h2&gt;Ситуация&lt;/h2&gt;
&lt;p&gt;Пользователю нужно подготовить поставку в пункт выдачи: пройтись по своему складу, собрать товары по списку, наклеить на них стикеры с уникальными номерами, упаковать и отвезти.&lt;/p&gt;
&lt;p&gt;Чтобы человеку было удобно, разработчики придумали интерактивный чек-лист с нужными товарами и номерами стикеров. Абстрактно список выглядит так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1245642 &lt;b&gt;9258&lt;/b&gt;&lt;br /&gt;
9008731 &lt;b&gt;9685&lt;/b&gt;&lt;br /&gt;
5748202 &lt;b&gt;4973&lt;/b&gt;&lt;br /&gt;
4505331 &lt;b&gt;9685&lt;/b&gt;&lt;br /&gt;
2356911 &lt;b&gt;6736&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Там ещё есть чекбоксы, фотки и названия товаров, но про макеты я уже говорил, просто представьте, что они там есть. Четыре последних цифры выделены — пользователям удобно по ним ориентироваться.&lt;/p&gt;
&lt;p&gt;Фишка в том, что эти «хвосты» в большинстве случаев уникальны, но иногда совпадают у разных номеров, как в примере выше. И это проблема: пользователь может спутать, наклеить не тот стикер, и товар не примут.&lt;/p&gt;
&lt;p&gt;Чтобы обратить внимание пользователя на совпадающие хвосты, команда решает подсветить их цветной плашкой и написать про это в справке к разделу. Наша задача — составить текст, не влезая в уже готовый дизайн.&lt;/p&gt;
&lt;h2&gt;Формальное решение&lt;/h2&gt;
&lt;p&gt;Сперва напишем, что просят, а потом будем рассуждать про дизайн, визуальную коммуникацию и основы когнитивной психологии.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Похожие стикеры подсвечиваются&lt;/b&gt;&lt;br /&gt;
Когда у разных стикеров совпадают последние 4 цифры, мы выделяем их цветом. Если встретили такой, обратите внимание на его полный номер&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь можно сформулировать &lt;i&gt;коммуникационную задачу&lt;/i&gt; и начать думать. Задача коммуникации простая:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Обратить внимание пользователя на разные номера с одинаковыми «хвостами» и помочь не спутать стикеры&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Очевидно, что в контексте задачи выделять «хвосты» цветом — плохое решение: мы привлекаем внимание к какому-то искусственному признаку, а не к важному. Как чиновники, когда подсвечивают знак пешеходного перехода вместо самого пешехода (смотри &lt;a href="https://blog.tema.ru/1823924.html"&gt;бессмертную заметку Лебедева&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Мало того. Мы привлекаем внимание к общей части различающихся сущностей, что помогает мало. Перефразируя один из гештальт-принципов, можно сказать, что &lt;i&gt;похожие сущности воспринимаются, как связанные по смыслу&lt;/i&gt;. А нам нужно сделать акцент на их различии. Для этого можно выделить различающиеся части проблемных номеров:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1245642 &lt;b&gt;9258&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;9008731&lt;/b&gt; 9685&lt;br /&gt;
5748202 &lt;b&gt;4973&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;4505331&lt;/b&gt; 9685&lt;br /&gt;
2356911 &lt;b&gt;6736&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Выглядит так себе, но задачу решает.&lt;/p&gt;
&lt;p&gt;Можно оставить выделение цветом, но дополнительно его усилить каким-нибудь сигналом. Например, значком:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;9008731 &lt;mark&gt;&lt;b&gt;9685&lt;/b&gt;&lt;/mark&gt; ⚠&lt;br /&gt;
5748202 &lt;b&gt;4973&lt;/b&gt;&lt;br /&gt;
4505331 &lt;mark&gt;&lt;b&gt;9685&lt;/b&gt;&lt;/mark&gt; ⚠&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Спорно, конечно, но хорошее визуальное решение найдёт дизайнер, нам важнее показать общий принцип.&lt;/p&gt;
&lt;h2&gt;Системное решение&lt;/h2&gt;
&lt;p&gt;Всё по ТРИЗ: масштабно и безответственно. Изменить алгоритм генерации номера, чтобы исключить возможность путаницы. Например, генерировать номер так, чтобы в одной поставке не было одинаковых «хвостов».&lt;/p&gt;
&lt;p&gt;А ещё лучше — генерировать номер на основе системного ID пользователя и даты сбора поставки с исключением номеров, совпадающих в последних 4 цифрах. Если вдруг не хватит разрядности, можно увеличить длину номера или перейти на шестнадцатеричную систему счисления, где вариантов будет примерно в шесть раз больше.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;0000—9999 — 10 000 вариантов, 10 в 4 степени&lt;br /&gt;
0000—FFFF — 65 536 вариантов, 16 в 4 степени&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Но решение с уникальной генерацией реализуемо только в принципе. Номерами, чек-листом и печатью стикеров заведуют разные команды. У каждой — свои приоритеты, ресурсы и горящие задачи. Никто просто не сможет протащить через владельца и скоординировать такое крупное изменение. В компаниях обычно просто нет продактов, которые таким занимаются. А у имеющихся зона ответственности и интересов ограничена задачами их команды.&lt;/p&gt;
&lt;p&gt;Стоит добавить, что про «правильную» генерацию наверняка уже кто-то думал, но столкнулся с таким ворохом трудностей и зависимостей в реализации, который с лихвой перекрыл ожидаемую выгоду. Но мы не узнаем наверняка: на большинстве проектов не ведут &lt;del&gt;поисковую&lt;/del&gt; документацию.&lt;/p&gt;
&lt;p&gt;UPD. Статье нужен какой-нибудь афористичный вывод, так что вот он: продукт нужно проектировать до того, как он начнёт приносить прибыль. Потом уже будет не до этого.&lt;/p&gt;
</description>
</item>

<item>
<title>Заявка с пятью полями загрузки</title>
<guid isPermaLink="false">89</guid>
<link>https://www.vitalyfilatov.ru/all/five-inputs/</link>
<pubDate>Sat, 18 Feb 2023 01:36:02 +0500</pubDate>
<author>Виталий Филатов</author>
<comments>https://www.vitalyfilatov.ru/all/five-inputs/</comments>
<description>
&lt;p&gt;Зарисовка о UX-дизайне, ограничениях реального мира и крупных компаниях.&lt;/p&gt;
&lt;p&gt;Коллеги показали заявку на подключение какого-то нового дополнительного сервиса. Всё под NDA, поэтому вот общая идея в условном дизайне:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://www.vitalyfilatov.ru/pictures/079-form@2x.png" width="780" height="850" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Оформление чего-то требует множество всякого&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Я смотрел на неё полдня, а потом вдруг осознал, насколько она невыносимо прекрасна в своей дихотомии. В её основе одновременно лежат тупость и сострадание. Сейчас объясню.&lt;/p&gt;
&lt;h2&gt;Тупость&lt;/h2&gt;
&lt;p&gt;Форма выглядит как плод технозависимого мышления, рождённый без любви:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;В UI-ките есть компонент загрузки файла.&lt;/li&gt;
&lt;li&gt;В бизнес-процессе документы делятся на категории.&lt;/li&gt;
&lt;li&gt;Под каждую категорию нужно отдельное поле.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Но такое решение удобно только разработчикам. Любой выпускник UX-курсов скажет вам, что у формы проблемы:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Она неудобна.&lt;/b&gt; Пользователю придётся затаскивать файлы по очереди. Все давно привыкли кидать кучу файлов куда-то на страницу, как в Гугл-диске. А тут ещё и поле дополнительных документов меньше других.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Непредсказуема.&lt;/b&gt; Четыре поля принимают по одному файлу, а пятое — несколько. Что будет, если закинуть два файла в одно поле? Оно возьмёт только первый или выдаст ошибку на все?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Причиняет боль.&lt;/b&gt; Если закинуть файл не туда, скорее всего, придётся его удалить и загрузить заново. Перетаскивать загруженный файл нельзя, потому что компоненты UI-кита этого не предусматривают, но о компонентах как-нибудь в другой раз.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Казалось бы, дизайнеры должны бороться со злом, а не решать задачи бэк-офиса за счёт пользователя. Можно же сделать единое поле загрузки, а оператор сам как-нибудь разберётся. Но давайте заглянем глубже.&lt;/p&gt;
&lt;h2&gt;Сострадание&lt;/h2&gt;
&lt;p&gt;Представьте, как где-то в глубине огромной бюрократической машины сидит человек-оператор Степан. Его задача — проверять документы в заявках и решать: передавать дальше или отклонять.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://www.vitalyfilatov.ru/pictures/079-stephan.jpg" width="640" height="427" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Так бы мог выглядеть Степан, носи он зелёную рубашку. &lt;a href="https://unsplash.com/photos/EPi3TRQc5Z0"&gt;Оригинал на Unsplash&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Пользователи редко называют файлы вменяемо, поэтому набор документов для Степана может выглядеть так:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Снимок.PNG&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;14512320230217.pdf&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Сканы_володе_новый (2).PDF&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;s77x1XSLkU2F.jpeg&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Павленко ДЮ — доки по кредитам.zip&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;У компании миллион клиентов, и даже на побочный сервис заявки пойдут плотным потоком. Среди заявок будут неполные, с грязными сканами и файлами неверного формата. И если Степану придётся открывать каждый файл и назначать категорию, он быстрее потускнеет и выгорит.&lt;/p&gt;
&lt;p&gt;Кажется, что квалификацию заявок легко автоматизировать. Обучить нейросеть, Степана оставить за главного, а пользователям дать одно поле для всего. Но на практике это невозможно.&lt;/p&gt;
&lt;p&gt;Нейросеть должна эти документы понимать. Но пока нейросети могут только рисовать уродцев и сдавать экзамены на топ-менеджеров. Оценить &lt;i&gt;содержание&lt;/i&gt; машина не способна. Остаётся натаскать её на сортировку: что паспорт, что права, а что справка. Но и тут затык.&lt;/p&gt;
&lt;p&gt;Дело в том, что IT-гигант может всё, но отдельно взятая команда разработчиков не может ничего сверх предписанного.&lt;/p&gt;
&lt;p&gt;У нашего сервиса с заявками есть своя IT-команда, которая держит его на плаву и потихоньку развивает задачками из бэклога. В этот бэклог можно добавить хоть колонизацию Марса, но на фоне бесконечной борьбы с багами и кривотой общей архитектуры до этой задачи никогда не дойдут.&lt;/p&gt;
&lt;p&gt;Да что там нейросеть. Команда и поведение поля загрузки не сможет изменить, потому что это поле — часть UI-кита. А китом занимается другая команда, со своим бэклогом, техдолгом и легаси.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Пока распознаватель документов не станет фактором выживания бизнеса, ресурсы и людей под него не выделят. Для этого требуется стратегическое решение в цепи руководства, которое управляет предприятием через его абстрактную модель и нетиповые проблемы не воспринимает.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Получается, что дизайнеры рисуют пять полей из любви к человеку Степану. Чтобы снять с оператора хотя бы самое тупое, дизайнеры идут против идеалов UX и перекладывают разбор файлов на пользователя. Это оправданная жертва: у Степана тысяча заявок в день, а у пользователя — одна в год.&lt;/p&gt;
&lt;p&gt;Тут должен быть вывод, но у меня есть только афоризм:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Корпорация сильна, но человек в ней слаб и одинок.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Если глубоко осознать эту мудрость, можно победить невежество духа и стать просвещённым, что излучает благодать и &lt;s&gt;сарказм&lt;/s&gt; метаиронию.&lt;/p&gt;
</description>
</item>

<item>
<title>Технический долг и легаси на примере тараканов</title>
<guid isPermaLink="false">85</guid>
<link>https://www.vitalyfilatov.ru/all/techdebt-and-legacy/</link>
<pubDate>Mon, 11 Jul 2022 01:03:41 +0500</pubDate>
<author>Виталий Филатов</author>
<comments>https://www.vitalyfilatov.ru/all/techdebt-and-legacy/</comments>
<description>
&lt;p&gt;Программисты иногда говорят о своей работе как о безумном адском родео на пылающих велосипедах без сидений. Чтобы примерно представлять, отчего выгорают в айти, разберём два явления: технический долг и легаси.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Технический долг&lt;/b&gt; — это проблемы в коде и архитектуре программы, которые накопились из-за принятых ранее решений сделать быстрее и дешевле.&lt;/p&gt;
&lt;p&gt;Каждый раз, когда разработчики пишут плохой непродуманный код, они как бы берут кредит: получают нужный результат в моменте и обязательную борьбу с последствиями в будущем. Долг по кредиту только растёт и исправление накопившихся проблем требует больше труда и нервов.&lt;/p&gt;
&lt;p&gt;Вот пример с метафорой, пока без тараканов.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Никодим купил хрущёвку со скрипучим дощатым полом. Чтобы быстрее переехать, Никодим решает не возиться с корчеванием досок и заливкой полов по маякам, а просто постелить ламинат поверх.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Для пробы Никодим застилает полы в одной комнате. На этом этапе старый пол ещё можно снять и залить стяжку, но результат выглядит прилично. Так что Никодим решает идти дальше: достилает остальное, ставит межкомнатные двери и шкаф-купе, а после перевозит мебель с прежней квартиры.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Чтобы поменять пол в жилой квартире, Никодиму придётся съехать и сделать всё заново. По уму нужно заливать сразу всю площадь, но там уже мебель и холодильник, которые никуда не уберёшь. Пол станет выше или ниже, дверные косяки со шкафом-купе нужно будет подогнать.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Иногда технический долг вполне оправдан. Например, стартапы пишут коряво и второпях, чтобы успеть занять нишу на рынке. Если продукт начинает приносить прибыль, его переписывают с расчётом на будущее развитие.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Легаси&lt;/b&gt; — от английского &lt;i&gt;legacy&lt;/i&gt; — наследие прошедших эпох развития кода и продукта. Легаси-кодом называют реликтовый код, который уже никто не может разобрать и без которого всё сломается. Выбросить его нельзя, работать с ним мучительно, а переписывать страшно и дорого.&lt;/p&gt;
&lt;p&gt;Легаси неизбежно в любом продукте. Языки программирования и технологии устаревают, разработчики ленятся писать документацию, а потом выгорают и увольняются. Бывает, что древняя часть программы сразу получилась хорошо и стабильно работает, если её не трогать.&lt;/p&gt;
&lt;p&gt;Легаси не всегда плохо, но иногда оно складывается из технического долга, который предыдущая команда проекта решила не выплачивать.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Никодим жил в безмятежности, пока под полом не завелись тараканы. Дощатый пол скрывал трещины в перекрытиях, через которые тараканы проникли в квартиру и заполнили всё пространство под ламинатом.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Никодим пробовал брызгать, сыпать и ставить ловушки, но помогало слабо. На смену истреблённым тараканам через дыры под полом приходили новые. Заделать дыры уже не представлялось возможным, оставалось искать автоматизированное решение.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Друзья предлагали запустить под ламинат три сотни мухоловок, но они жуткие и непредсказуемые. Поэтому Никодим остановился на леопардовых эублефарах (предположим, что оно так работает).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Эублефары загнали тараканов под ламинат, но потребовали особого ухода. Оказалось, что Никодиму продали одних самцов, которые принялись делить территорию. Пришлось ставить перегородки и рассаживать ящеров по комнатам. Потом оказалось, одни ящеры едят только рыжих тараканов, а другие — чёрных. Никодиму пришлось регулярно менять их местами и бороться со стрессом от смены обстановки: брать на руки, делать домик из ладошек и вот это всё.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Потом Никодим поехал в Арктику изучать паковый лёд, а квартиру оставил на друга Константина. Константин получил целую экосистему с графиком ротации и ящерами, падающими среди ночи на лицо. А чуть позже ЖЭУ обрело сознание и центра&amp;shy;лизованно потравило тараканов во всём доме. С тех пор Константину пришлось следить ещё и за популяцией насекомых, чтобы эублефары не голодали.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Чтобы приблизиться к масштабу айти-проектов в банках и корпорациях, представим, что таких квартир целый дом. И в каждой свои исторически сложившиеся условия и ограничения. А ещё есть общий чердак и подвал с котельной, топящие друг друга жильцы, лукавые подрядчики и конкурс на звание образцового дома.&lt;/p&gt;
&lt;p&gt;Так что будьте терпимее к разработчикам в банках и корпорациях. Им тоже хотелось бы сделать хорошо, но они не могут. Им бы влезть в требования бизнеса и ничего не сломать. И не кормите эублефаров рыжими тараканами, им нужны специальные кормовые.&lt;/p&gt;
</description>
</item>

<item>
<title>Никодим и утекающие абстракции</title>
<guid isPermaLink="false">75</guid>
<link>https://www.vitalyfilatov.ru/all/nikodim-i-abstrakcii/</link>
<pubDate>Sun, 07 Nov 2021 02:17:46 +0500</pubDate>
<author>Виталий Филатов</author>
<comments>https://www.vitalyfilatov.ru/all/nikodim-i-abstrakcii/</comments>
<description>
&lt;p&gt;Айтишная притча о квесте разработчика Никодима во чреве левиафана и кризисе корпоративного менеджмента. Позитивный сторителлинг без токсичной назидательности.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://www.vitalyfilatov.ru/pictures/065-nikodim@2x.png" width="740" height="389" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Картинка &lt;a href="https://www.instagram.com/ulv_vind/"&gt;Ulv Vild&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Никодим устроился в IT-корпорацию писать высоконагруженный бэкенд. Его перевезли из провинции, встретили в фойе небоскрёба и отвели в переговорку на 21 этаже. Эйчар улыбалась и онбордила Никодима без умолку.&lt;/p&gt;
&lt;p&gt;— Сейчас я познакомлю тебя с функциональным руководителем, он проведёт тебе экскурсию и выдаст постоянный пропуск. Твой гостевой работает, пока ты не покинешь здание. Ноут получишь у технарей на 13 этаже, твой лид покажет рабочее место и даст первую задачу. Наша разработка занимает этажей двадцать. А ещё у нас есть спортзал и оранжерея...&lt;/p&gt;
&lt;p&gt;Она показала Никодиму кулер, плакат со структурой компании и пожарный выход, а потом оставила в переговорке ждать руководителя. Никодим прождал весь день, но руководитель не пришёл.&lt;/p&gt;
&lt;p&gt;Никодим очень хотел работать и остался в здании. Спал в зоне отдыха на 55 этаже, мылся в душевой спортзала на 34, питался йогуртами и снеками из кофепоинтов. Потом курьер принёс зарплатную карту, Никодим купил бритву и стал заказывать еду из ресторанов.&lt;/p&gt;
&lt;p&gt;Прошла неделя. Никодим успел прочитать все регламенты и пройти обучение, но руководитель так и не объявился. Гостевой пропуск открывал все двери, поэтому Никодим начал ходить по отделам и курилкам. Сначала он слонялся и болтал со всеми от скуки, но постепенно в его голове складывалась общая картина, и Никодима охватил азарт. Каждый сервис существовал сам по себе, команды горели и не могли договориться из-за абсурдной бюрократии, а менеджеры работали на показатели и не видели комплексных проблем, утонув в интригах. Но Никодим всё видел и понимал, как это исправить.&lt;/p&gt;
&lt;p&gt;По ночам Никодим ходил по отделам, оставлял заметки на столах, писал на досках и клеил стикеры. Днём вёл отвлечённые беседы, подводя собеседников к нужным выводам. Знакомил людей в лифте и кафетерии, создавал альянсы, играл на тщеславии лидеров. Когда удавалось подсмотреть чужой пароль, тайком поднимал упавшие билды и коммитил.&lt;/p&gt;
&lt;p&gt;Ему удалось наладить статистическое предупреждение инцидентов, прямой обмен данными между продуктами департаментов, избавиться от пары кейсов страшного легаси и даже отвязать публикацию новостей компании от общего релизного цикла. Люди вокруг улыбались, разрабов хвалили, а менеджеры получали бонусы.&lt;/p&gt;
&lt;p&gt;В конце испытательного срока Никодим получил письмо с паролем от лифта, который привёз его куда-то между 88 и 89 этажом.&lt;/p&gt;
&lt;p&gt;— Привет, я — ведущий теневой зодчий, — представился незнакомец.&lt;/p&gt;
&lt;p&gt;— Тебя нет в оргструктуре, — ответил Никодим, — это ты мой руководитель?&lt;/p&gt;
&lt;p&gt;— Верно. Я следил за твоей работой и очень доволен. Тебе пора выходить к нам.&lt;/p&gt;
&lt;p&gt;— Нет, — твёрдо ответил Никодим. — Тогда я окажусь в одной из вертикалей и не смогу ничего сделать.&lt;/p&gt;
&lt;p&gt;В лифте Никодим обернулся.&lt;/p&gt;
&lt;p&gt;— Почему гостевой пропуск не привязан к дате?&lt;/p&gt;
&lt;p&gt;— Из-за безопасников. Они готовят их от недели до месяца и никогда не попадают в даты визита. Только так мы и смогли тебя протащить.&lt;/p&gt;
&lt;p&gt;Никодим кивнул и двери лифта закрылись. Больше зодчий его не видел.&lt;/p&gt;
</description>
</item>


</channel>
</rss>