Kitobni o'qish: «Сообщение из чужой жизни»
Глава 1
Привет! Узнал?
Утро Ильи Корнева начиналось не со света — со звука. Тонкая, почти офисная трель будильника разрезала тишину в 6:40, как канцелярский нож вскрывает коробку: без лишних эмоций, без права на спор. Илья не любил ставить мелодии — музыка требовала отношения, а отношение по утрам было роскошью. Он вытянул руку, нащупал телефон, выключил сигнал одним движением, отработанным так же, как на работе отрабатывают откаты и релизы: уверенно, без вопросов.
Потолок в спальне был белый, ровный, без трещин — идеальная поверхность для того, чтобы ничто не отвлекало. Илья лежал секунды три, слушая, как в квартире оживает труба отопления: где-то внизу вода делала паузу, потом снова шла. В этом шуме была логика: давление, температура, узлы, клапаны. Всё, что можно объяснить.
*Если бы жизнь была системой, её тоже можно было бы описать документацией. А потом забыть прочитать.*
Он поднялся, надел домашние штаны, прошёл на кухню. Там всё стояло на своих местах, как в UI, который никто не трогал годами: чашка справа, банка кофе слева, ложка в стакане, будто ждала именно его. Окно было темнее обычного — февраль держался за город, не отпуская, — но в отражении стекла Илья видел лицо достаточно ясно: сороковник на подходе, хотя в паспорте ещё тридцать девять. Глаза — серые, усталые, но не больные. Лицо — то самое, к которому он давно привык как к аватарке: узнаваемое, но не обязательно «своё».
Кофе заварился быстро. Илья пил его у подоконника, глядя вниз на двор, где ранние собачники уже выгуливали свои циклы привычек. В соседнем подъезде кто-то хлопнул дверью — звук разошёлся по шахте, как уведомление в мессенджере: «кто-то вышел из сети». Илья машинально проверил телефон: уведомлений не было. Пальцы всё равно сделали привычный жест, будто тело требовало подтверждения реальности через экран.
Душ, бритьё, рубашка — синяя, без рисунка; серые джинсы; куртка; ключи; наушники. Он выходил из квартиры так же, как закрывал вкладки в браузере: по очереди, не оставляя лишнего открытым. Дверь щёлкнула. Замок провернулся. Илья потянул ручку — контрольная проверка. Всё. Можно идти.
* * *
Город встречал его привычной смесью мокрого снега и выхлопов. Метро было тесным, как всегда, и Илья стоял, держась за поручень, стараясь не смотреть людям в лица. Лица были слишком подробными: чужие морщины, чужие губы, чужие усталости. Он предпочитал смотреть в пространство между рекламными плакатами, где взгляд не цеплялся ни за что конкретное.
В офисе IT-компании воздух пах кофе сильнее, чем на кухне, и ещё чем-то пластиковым — новым ковролином или свежими поставками техники. Open space жил по своим законам: здесь всегда было чуть светлее, чем за окнами, и чуть шумнее, чем нужно. Илья повесил куртку на спинку кресла, включил ноутбук, дождался загрузки, как дождался бы лифта: без терпения, но с дисциплиной.
На мониторе всплыли чаты, таски, почта. Он пробежался глазами по списку — привычная россыпь мелких проблем, которые в сумме назывались «продуктом». В 9:15 у них был стендап. Илья не любил стендапы: разговоры о работе мешали работе.
Денис Мельников уже сидел рядом и стучал по клавиатуре так, будто спорил с ней. Денис был моложе Ильи, но выглядел старше — у него была привычка хмуриться, как будто мир постоянно пытался подсунуть ему неверный ввод.
— Ты как? — спросил Денис, не отрываясь от экрана.
— Нормально, — ответил Илья. Это слово было универсальным, как «окей» в логах.
— Сегодня опять продакт будет нас мучить. Я видел план. Там ещё «обсудить риски». Как будто их мало.
Илья кивнул. У него не было желания обсуждать риски вслух. Риски были там, где их никто не видит — в строках кода, в человеческих решениях, в неожиданных сообщениях, которые приходят не оттуда, откуда ждёшь.
Стендап прошёл как обычно: «сделал», «делаю», «есть блокеры». Илья сказал, что чинит баг в модуле авторизации. Продукт-менеджер спросил, успеет ли он к вечеру. Илья ответил, что да, хотя внутри не было уверенности. Не потому что он не умел — потому что вечер был его временем, и он не любил, когда работа пыталась пролезть туда.
После стендапа Денис наклонился к нему.
— Слушай, ты же опять в зал сегодня? — спросил он.
— Да, — сказал Илья.
— Ты так стабилен, что тебя можно в тесты засунуть. «Корнев ходит в зал по средам и пятницам».
— Стабильность — это хорошо.
— Стабильность — это скучно, — Денис усмехнулся. — Ладно. Если что, вечером созвонимся по багу. Я там тоже видел странность.
Илья снова кивнул, но мысль о вечернем созвоне вызвала лёгкое раздражение. Созвоны были как чужие голоса в голове — вмешательство. Он открыл IDE, ушёл в код, как в тоннель, где нет случайных прохожих. Часы потекли ровно.
* * *
День не запомнился ничем, кроме повторяемости. Баг оказался в том, что токен иногда не обновлялся, если клиент уходил в фон. Илья нашёл условие, которое было написано «на авось», и исправил. Он сделал коммит, прогнал тесты, отправил на ревью. В 13:10 он съел бизнес-ланч в столовой: курица, гречка, салат без вкуса. В 16:30 выпил второй кофе, хотя обещал себе не пить после трёх — потом будет сложнее уснуть.
*Обещания себе — самые безопасные. Никто не требует отчёта, кроме тебя. А ты умеешь закрывать глаза.*
В 18:20 Илья выключил ноутбук. Денис ещё что-то говорил про «странность» в логах, но Илья отмахнулся: завтра. Завтра — это контейнер, куда можно складывать всё неудобное. Он попрощался с коллегами коротким «до завтра» и вышел в коридор, где свет был холоднее, чем в open space, и от этого мысли становились яснее.
На улице уже темнело. Город в сумерках был похож на большой серверный зал: тысячи огней, каждый — как индикатор на панели, сигнализирующий, что где-то что-то работает. Илья ехал в фитнес-клуб на автомате, слушая в наушниках плейлист для беговой дорожки — электронную музыку без слов. Слова требовали участия.
* * *
Фитнес-клуб «Сфера» был в торговом центре, на втором этаже, за рядом магазинов, которые Илья не замечал. Для него путь к залу был маршрутом в памяти, как путь к часто используемой функции: вход, поворот, эскалатор, стеклянные двери, ресепшен.
И вот здесь что-то слегка сдвинулось.
Ресепшен был другим. Не радикально — не так, чтобы броситься в глаза любому, — но Илья почувствовал это, как чувствуют перемещённую в комнате мебель в темноте. Стойка стала шире, более угловатой, с подсветкой снизу. Раньше подсветки не было, он был уверен. Или… была? Он остановился на секунду, будто система зависла на кадре.
*Может, просто обновили. Ремонт. В таких местах постоянно что-то меняют. Ты просто не заметил.*
На стене за стойкой висел плакат — новый. Раньше там был мотивационный баннер с глупой фразой про «твой лучший день начинается здесь». Сейчас — строгий чёрно-белый постер с изображением бегуна и надписью: «СИСТЕМА. РЕЖИМ. РЕЗУЛЬТАТ». Слова выглядели не как реклама, а как инструкция.
Илья машинально достал карту клиента, протянул её администратору. За стойкой сидела Ольга Синицына — нынешняя администратор, плотная женщина лет сорока с быстрыми глазами. Он видел её десятки раз, но общение всегда укладывалось в два предложения.
— Добрый вечер, — сказала Ольга и улыбнулась так, как улыбаются по скрипту.
— Добрый, — ответил Илья.
Ольга провела картой, терминал пискнул. Илья поймал себя на том, что хочет спросить про стойку — «когда успели поменять?» — но вопрос застрял. Разговоры о мебели — это разговоры, которые требуют продолжения, а продолжения он не хотел.
Он прошёл в раздевалку. Там всё было прежним: запах дезинфекции, влажный воздух, металлические шкафчики. Но на одном из шкафчиков кто-то наклеил маленькую наклейку — белый квадрат с чёрной точкой посередине, как пиксель. Илья посмотрел на неё чуть дольше, чем следовало.
*Зачем? Кто вообще клеит такое на шкафчики?*
В зале было многолюдно. Он вышел на дорожку, включил привычный режим: скорость 10, наклон 1. Наушники плотно закрыли уши. Музыка выстроила вокруг него пузырь, в котором можно было не думать.
Но пузырь треснул на мелочи.
Пока он бежал, взгляд скользнул по зеркалам. В одном из отражений он увидел плакат, которого не помнил: у зоны свободных весов висела схема «правильного дыхания» с нарисованными стрелками. Илья мог поклясться, что вчера этой схемы не было. Или была? Он не смотрел туда. Он всегда смотрел только вперёд, на цифры дорожки.
Он закончил тренировку, принял душ, оделся. На выходе снова прошёл мимо ресепшена. Ольга разговаривала с кем-то, и Илья слышал обрывки: «…обновление…», «…по регламенту…». Он ускорил шаг, будто от чужих слов можно заразиться.
* * *
Дом встретил его тишиной, которая казалась плотнее, чем утром. Илья включил свет в коридоре, снял обувь, повесил куртку. В ванной капала вода — он закрутил кран. На кухне поставил чайник. Всё было на своих местах, но ощущение смещения, начавшееся в клубе, не уходило. Как будто кто-то сдвинул реальность на пару миллиметров, и теперь всё ещё совпадало, но уже не идеально.
Он сел за стол, открыл ноутбук, чтобы проверить рабочую почту — привычка, от которой он пытался избавиться. В почте было пусто. Зато на телефоне мигнуло уведомление из соцсети, которой он пользовался редко: не любил ленту, не любил чужие радости, выставленные на витрину.
Сообщение было в личке. От контакта, которого он не помнил.
Имя: Алина Ветрова.
Аватарка — фотография, на которой девушка улыбалась чуть боком, будто её окликнули в момент, когда она собиралась уйти. Тёмные волосы, светлая кожа, серые глаза. Улыбка была не «инстаграмная», а настоящая, с лёгкой неловкостью.
Илья почувствовал, как внутри что-то щёлкнуло — как реле в старом устройстве, которое вдруг включилось после долгого простоя.
*Алина… Это же…*
Он помнил её из фитнес-клуба. Тогда, пару лет назад, она работала на ресепшене. Он приходил после работы, как сегодня, и каждый раз видел её: аккуратная форма, бейдж, быстрое движение рук, когда она проводила карту, и взгляд — внимательный, как будто она действительно видела людей, а не поток карточек.
Илья тогда думал, что однажды заговорит с ней не по делу. Скажет что-то простое, нормальное — «как у тебя дела?» — и, может быть, услышит ответ, который не укладывается в скрипт. Но каждый раз он выбирал молчание. Молчание было безопасным. Молчание не требовало продолжения.
А потом она исчезла. Илья заметил это не сразу. Он заметил, когда поймал себя на том, что ищет её взглядом, и не находит. Тогда ему стало неприятно — не от потери, а от того, что он вообще что-то потерял, не сделав ни одного шага.
Сейчас её имя светилось на экране, как ошибка в системе, которая вдруг стала явной.
Сообщение было коротким.
— Привет! Как дела? Узнал?
Илья замер. Палец завис над экраном. В голове вспыхнуло воспоминание — не как картинка, а как ощущение: стойка ресепшена, её руки, которые быстро печатают что-то в компьютере, и он — с влажными от снега волосами, усталый после работы — говорит что-то, что потом сам не счёл важным.
Он вспомнил фразу, сказанную будто случайно:
— Я всегда прихожу в одно и то же время. Это проще.
Он не помнил, чтобы говорил это Алине. Он вообще не помнил, чтобы говорил это кому-то вслух. Но воспоминание было ярким, как будто его только что прожили.
*Может, это спам. Фейк. Кто-то взял имя и фото.*
Он почти закрыл диалог. Большой палец сделал движение вверх, чтобы свернуть. И в этот момент его накрыло странным ощущением — будто сообщение адресовано не ему сегодняшнему, а ему из другой версии себя. Тому, который тогда — пару лет назад — всё-таки сказал больше, чем «добрый вечер».
Илья медленно набрал ответ.
— Привет. Не уверен. Мы знакомы?
Ответ пришёл почти сразу, как будто собеседник ждал, держа палец над кнопкой отправки.
— Илья, пожалуйста, не делай вид, что это не ты. Ты приходишь в «Сферу» в 19:10–19:20, почти всегда в среду и пятницу. На дорожке ставишь десять и наклон один. Слушаешь треклист без слов, потому что слова мешают. Ты сам так сказал.
Илья почувствовал холод между лопаток, хотя в квартире было тепло. Он перечитал сообщение дважды. Это были детали, которые можно узнать, если наблюдать… но кто наблюдал? Ольга? Кто-то из персонала? Но почему тогда имя Алины? Почему сейчас?
Он набрал: «Откуда ты знаешь?» — и стёр. Слишком прямой вопрос. Он набрал снова.
— Алина? Это правда ты? Ты же… ты там больше не работаешь.
Ответ снова пришёл мгновенно.
— Я там. И меня там нет. Слушай: ты однажды сказал у стойки: «Иногда кажется, что всё это можно откатить, если найти правильную точку». Ты улыбнулся, а потом испугался, что сказал лишнее, и ушёл. Ты даже карту забыл в терминале, помнишь?
Илья сжал телефон так, что пальцы побелели. Он не помнил эпизода с картой. Но в голове снова вспыхнуло — резкое, как вспышка камеры: он действительно забывает карту, Алина догоняет его взглядом, чуть приподнимается со стула и зовёт: «Илья!» — и он оборачивается, удивлённый, что она знает его имя.
Сердце стукнуло сильнее. Память была слишком живой для выдумки. Но и слишком странной для обычного воспоминания: будто он не вспоминал, а получал чужой фрагмент, загруженный в голову.
*Это невозможно. Это либо кто-то играет, либо…*
Он сделал то, что всегда делал при тревоге: попытался перевести ситуацию в проверяемую плоскость. Открыл профиль «Алины Ветровой».
Bepul matn qismi tugad.