
Полная версия
Тепло, которое остается
— Иди уже, — сказала она, улыбнувшись. — А то я не дам тебе уйти.
— А если я не хочу уходить?
— Тогда оставайся.
— На крыше?
— Здесь. Рядом.
Он поцеловал её в лоб — нежно, почти невесомо.
— Спокойной ночи, Алиса.
— Спокойной ночи, Дим.
Она скрылась за дверью. Он постоял ещё минуту, прислушиваясь. Звук её шагов, потом тишина. Он подошёл к своей капсуле, лёг, не раздеваясь, и долго смотрел в потолок, где светились наклейки-звёзды.
За стенкой Алиса заваривала ромашку — он слышал, как звенит кружка, как она вздыхает перед сном. И ему казалось, что он всё ещё чувствует тепло её ладони.
«Она сказала «мы справимся», — подумал Дмитрий, глядя на светящиеся звёзды. — Она всегда так говорит. И каждый раз я начинаю в это верить. Может быть, потому что она права».
Он закрыл глаза, прислушиваясь к своему дыханию. Сверчки стрекотали, и этот звук был таким же ровным, успокаивающим, как её голос.
— Элинор, — прошептал он, — а ты веришь, что у нас получится? За пределами леса?
Элинор(в наушнике, тихо): «Я видела тысячи пар. Успешные — те, кто не боялся говорить о страхах. Вы уже это делаете. Остальное — быт и mesh-сеть. А быт переживёт всякий код. А сеть вы почините».
— Спасибо, — прошептал он.
— Не за что, — ответила Элинор. — Ты сам это делаешь. Я просто напоминаю, что ты можешь.
Он повернулся на бок, свернулся калачиком. Плед пах Алисой — кокосом и чем-то цветочным. Или это ему казалось?
— Элинор, — сказал он уже сквозь сон, — сохрани этот разговор. В архив.
Элинор:«Уже сохранила. Название: «Ночь на крыше, или Как научиться обещать». Спокойной ночи, Дмитрий».
— Спокойной ночи, — прошептал он.
И провалился в сон — без сновидений, без тревог, только тепло в груди и звёзды над головой.
---
Элинор(в своём облаке данных, фиксируя): «День тридцать первый. Они не целовались под дождём, не клялись в вечной любви. Просто говорили о страхах, о проекте, о светящихся спорах. Это важнее. Я сохраняю этот разговор в архив. Название: «Ночь на крыше». Индекс любви — 0,96. Индекс надежды — 0,99. Они готовы ко второму месяцу».
Глава 2. Утренний стендап
Утро в коворкинге
Forest-Coding-Retreat, Карельский перешеек, День 35, 8:45
Коворкинг наполнялся народом медленно, как летнее утро — сначала свет, потом звуки, потом голоса. Солнце уже поднялось над соснами, но не торопилось жечь: его лучи лились в панорамные окна молочным, ещё прохладным светом, высвечивая танцующие пылинки и золотистые отблески на деревянных стенах. За месяц все привыкли к этому свету — к тому, как он меняется от бледно-розового на рассвете до густого янтарного к полудню. Теперь они читали по нему время точнее, чем по часам.
В открытую форточку тянуло нагретой смолой, черничными кустами — ягоды уже начали поспевать, и воздух казался сладковатым, чуть приторным — и ещё чем-то медовым, цветочным. Донник цвёл у самой веранды, и его запах смешивался с хвоей, создавая тот особый июльский аромат, который невозможно спутать ни с чем. Где-то в лесу перекликались дрозды, их голоса были ровными, спокойными — птицы тоже не торопились. Кукушка, которая ещё неделю назад отсчитывала чьи-то годы, сегодня молчала. Или просто спряталась в глубине леса.
Алиса влетела в комнату первой — рыжие волосы выгорели до медных, веснушки рассыпались по переносице гуще, чем в начале лета. Она уже не суетилась, не хваталась за всё сразу, а двигалась с лёгкой, отточенной энергией: схватила кружку, налила кофе, плюхнулась на подоконник — всё одним движением, без лишней суеты. За месяц в лесу она научилась не распыляться.
Дмитрий вошёл следом, поправил очки — на переносице остался белый след от загара. Плечи распрямились, он больше не выглядел так, будто только что с собеседования. Свитер всё тот же, тёмно-серый, но сидел на нём свободнее — или это он сам стал спокойнее? Он прошёл к столу, поставил ноутбук, и только тогда заметил, что его кружки нет на привычном месте.
— Ты куда поставила мою кружку? — спросил он у Алисы.
— На полку. Верхнюю. Ты сам вчера туда закинул.
— Я? — Дмитрий удивился, полез, достал. — А, точно. Вчера был долгий день. Я до двух ночи сидел с симулятором сети.
— Ты вчера допоздна сидел с отчётами, — напомнила Алиса. — Я тебе чай приносила, помнишь?
— Помню. Ты сказала: «Пей, а то остынет». И ушла.
— Потому что ты сказал: «Сейчас, только закончу». И не закончил. Симулятор работал?
— Вроде да. Тысяча спор, самоисцеление за пять секунд. — Он сел рядом, открыл ноутбук. — Но в реальном лесу всё может пойти не так.
«Десять спор через пять дней, — подумал Дмитрий, глядя на экран загрузки. — Если упадёт хотя бы одна на полевых испытаниях, Вера меня убьёт. Но я сделаю».
За окном сосны шумели, и в этом шуме было что-то успокаивающее, как в детстве, когда часами можно было смотреть на облака и ничего не делать.
Вера появилась с чашкой чая, волосы собраны в небрежный пучок. Русые пряди выгорели до пепельного, и теперь они казались светлее, чем в начале лета. Она больше не сверялась с планшетом на каждом шагу — просто шла и улыбалась. Илья крутился рядом, подал ей салфетку, которую она не просила, и получил лёгкий шлепок по руке. Никакой злости — привычная игра.
— Садись уже, — сказала Вера.
— А если я не сяду?
— Тогда встанешь.
Илья сел. И подмигнул — но не назойливо, а почти по-дружески. Вера, проходя мимо, коснулась его плеча — коротко, незаметно для остальных, но он почувствовал и улыбнулся шире.
«Свободная строчка в расписании, — подумала Вера, садясь на своё место. — Работает. Даже когда не проверяешь».
Она открыла планшет, но не для того, чтобы сверять списки, а чтобы набросать меню на сегодня. Илья заглянул через плечо.
— Блины? — спросил он.
— Блины, — подтвердила Вера. — Как в первый день.
— Только без муки на полу?
— Постарайся.
Надя и Константин пришли вместе. Она держала две кружки — с зелёным чаем для него и с ромашкой для себя. Он нёс планшет и блокнот. За месяц Надя перестала быть «тенью»: она уже не держалась в стороне, а стояла рядом с Константином, иногда касаясь его локтя. Движения стали увереннее — не «отражённые», а свои.
Константин снял очки, протёр их — на переносице остался белый след. Лысина загорела и блестела на солнце. Он двигался всё так же угловато, но уже не так скованно, будто тело наконец привыкло к лесу.
— Ты сегодня рано, — сказала Надя.
— Не спалось, — ответил он. — Думал о вчерашних отчётах. И о том, что через пять дней нужно собрать десять спор.
— А ещё о чём?
— О чае. О том, что ты любишь ромашку.
Надя улыбнулась, ничего не сказала. Села рядом, поставила его кружку так, чтобы она была под рукой. Константин положил руку на спинку её стула — не обнимая, просто рядом.
«Он перестал поправлять очки каждые пять минут, — подумала Надя. — Привык. Или просто перестал бояться, что я смотрю».
Ольга и Сергей зашли последними. Ольга почти не пользовалась косметикой — за месяц привыкла. Её тёмные волосы выгорели до каштановых, серьги-кольца сменила на маленькие гвоздики — удобнее в лесу. Сергей подстриг бороду, и она стала ухоженной, а не «пещерной». Он нёс термос с чёрным кофе и выглядел почти счастливым.
— Ты сегодня не ругаешься? — спросила Ольга.
— Ещё буду, — ответил Сергей. — Подожди до деплоя. Дмитрий обещал новую версию mesh-протокола к вечеру.
— Ах, ну да. Традиции.
Ольга поправила ему воротник — машинально, привычно. Сергей накрыл её ладонь своей, сжал.
Полина и Артём устроились в углу. Полина загорела и теперь реже надевала очки — говорила, что линзы удобнее. Артём сидел рядом с планшетом, но не сверял каждый её жест — просто сидел и иногда кивал. Полина рисовала в скетчбуке быстрый портрет Ильи — тот как раз пытался стащить печенье со стола Веры.
— У него нос кривой, — шепнул Артём.
— Это ты кривой, — ответила Полина, не поднимая головы. — А Илья — красивый.
— Я обиделся.
— Неправда.
Он улыбнулся, и в его глазах не было привычного скепсиса. Полина дорисовала динозавра на футболке Ильи и показала Артёму.
— Теперь похоже?
— Похоже. Даже слишком.
Лев уже был на месте — с чашкой зелёного чая, загорелый, спокойный. Седина на висках выделялась ярче на тёмной коже. Он смотрел на всех с лёгкой улыбкой — как наставник, который гордится своей командой.
Соня прибежала последней, поправила выцветшие розовые волосы — они стали почти пастельными. Пирсинг в носу блеснул на солнце.
— Я не опоздала? — спросила она.
— Ты всегда опаздываешь, — ответил Лев.
— Но сегодня — меньше, чем вчера.
— Прогресс.
Соня улыбнулась, села рядом с Львом. В её движениях не было прежней дёрганности — месяц в лесу успокоил даже её. Лев положил руку ей на плечо, одобрительно кивнул.
Из динамиков раздался голос Элинор — бодрый, чуть ироничный:
Элинор:«Доброе утро, команда. Кофе сварили, зубы почистили, динозавров нарисовали — можно начинать. Сегодня капитан спринта — Дмитрий. Ротация, не забываем. Напоминаю: через пять дней — промежуточная веха: десять собранных спор. Через двадцать пять — полевое испытание. Не подведите».
Шум не стих, но изменил тональность. Все повернулись к флипчарту, где Дмитрий уже выводил схему. За окном солнце поднялось выше, и его золотистый свет залил коворкинг, обещая новый длинный день.
Вера встала, подошла к столу, поставила перед Ильёй тарелку с печеньем.
— Ешь, — сказала она. — А то на стендапе будешь голодным и злым.
— Я никогда не злой, — ответил Илья, но печенье взял.
«Свободная строчка, — подумал он, жуя. — Она работает. И Вера работает. И я, кажется, тоже».
Распределение задач
Элиноробъявила начало, и Дмитрий вышел к флипчарту. Он чувствовал на себе взгляды — привык за месяц, но всё равно каждый раз ловил себя на мысли, что они смотрят не на него, а на того, кто должен говорить. Он поправил очки, взял маркер.
— Всем спасибо, — начал он. — Наша цель на ближайшие пять дней — собрать десять спор. Не прототипов, а рабочих образцов. Корпуса напечатаны, чипы ждут пайки. Илья, ты отвечаешь за сборку.
Илья, до этого ковырявший наклейку на столе, поднял голову. На его кружке динозавр с аппетитом заглатывал строки кода.
— Десять спор? — переспросил он. — А если я сломаю хотя бы одну?
— Починишь, — ответил Дмитрий. — У тебя есть Соня и Артём. И запасные чипы. Вера, сколько у нас компонентов?
Вера открыла планшет, пробежалась по списку.
— Четырнадцать чипов, двенадцать корпусов, десять готовых плат. Запас — четыре комплекта. Бюджет уложился.
— Слышал? — Дмитрий посмотрел на Илью. — Четыре запасных. Так что ломай — но чини.
— Я аккуратный, — сказал Илья.
— Ты — хаос, — поправила Вера, но беззлобно. — Но в этом хаосе есть порядок. Надеюсь.
«Четыре запасных, — подумал Илья, крутя в руках кружку. — Значит, могу позволить себе одну ошибку. Или две. Но лучше ни одной. Вера всё равно заметит».
Алиса с подоконника подняла руку. Она сидела, поджав ноги, рыжий хвост перекинут через плечо, и веснушки на солнце казались ярче, чем обычно.
— А давайте сделаем их светящимися? — спросила она. — Ну, споры. Чтобы в лесу они светились, как светлячки.
Дмитрий вздохнул. Этот вздох команда уже знала — он означал «ты снова предлагаешь что-то невозможное».
— Нет, — сказал он. — Сначала стабильность. Через двадцать пять дней — полевое испытание. Десять спор, лес, mesh-сеть. Если они не продержатся сутки, никакое свечение не поможет.
— А если подумать? — не сдавалась Алиса.
— Я уже думал. Вчера. И позавчера. И на прошлой неделе. — Он посмотрел на неё. — Свечение — это плюс десять процентов к энергопотреблению. В сырой среде батареи сядут за восемь часов вместо двадцати четырёх. Ты хочешь, чтобы споры погасли в полночь?
— А если использовать более эффективные диоды?
— А если сначала добьёмся стабильности?
Илья поднял кружку.
— Я за светлячков! — объявил он.
— Илья, не мешай, — сказала Вера, но уголки её губ дрогнули.
— Я просто выражаю поддержку творческим инициативам.
— Твоя творческая инициатива в прошлый раз сожгла микроволновку.
— Это была проверка пожарной сигнализации. Элинор, подтверди.
Элинор:«Не подтверждаю. Но сигнализация сработала исправно. Спасибо за тест».
Все рассмеялись. Даже Константин, который обычно только улыбался краем губ.
Дмитрий дождался, когда смех стихнет, и продолжил:
— Кроме сборки спор, у нас есть другие задачи. Mesh-протокол. Сейчас он работает в симуляторе на тысяче узлов, но в реальном лесу всё может пойти не так. Ольга, Сергей — вы отвечаете за интеграцию протокола с дашбордом.
— Есть, — сказал Сергей, отрываясь от термоса.
— Дашборд, — Дмитрий повернулся к Алисе. — Ты за документацию и API. Надя — за UX. Константин — за логи данных.
— Я сохраню всё, — кивнул Константин. — Даже неудачные версии.
— Это называется «архив», — заметила Надя.
— Это называется «страховка», — ответил Константин.
«Он научился шутить, — подумала Надя. — Или это я научилась слышать его шутки».
Лев, сидевший в своём углу с чашкой зелёного чая, поднял голову.
— А что с симулятором? — спросил он. — Ты говорил, что он готов.
— Готов, — ответил Дмитрий. — Тысяча спор, самоисцеление за пять секунд. Соня, ты будешь помогать Льву с тестами.
Соня аж подпрыгнула на стуле.
— Ого! А задание сложное?
— Очень, — ответил Лев. — Не справишься.
— А вот и справлюсь.
— Посмотрим.
Она поправила выцветшие розовые волосы, и в её движениях появилась уверенность, которой не было в начале лета. Лев положил руку ей на плечо, одобрительно кивнул.
— Вера, — Дмитрий повернулся к ней, — что у тебя по ресурсам? Закупки, логистика, расписание.
Вера открыла планшет, пробежалась по списку.
— Компоненты для спор уже в лаборатории. Продукты закончатся через три дня. Завтра отправляем дрон. Также нужно проверить запасы воды и дров на следующую неделю.
— Я могу взять на себя дрова, — сказал Илья.
— Ты? — Вера подняла бровь.
— Я сильный. И ответственный. Иногда.
— Иногда — это не всегда.
— Но сегодня — иногда.
Вера покачала головой, но вписала его имя в планшет.
— Ладно. Но если ты сломаешь топор...
— Я куплю новый.
— В лесу нет магазина.
— Тогда починю. Обещаю.
Она посмотрела на него долгим взглядом, и что-то в её глазах изменилось — может быть, доверие, может быть, нежность. Илья, не удержавшись, подмигнул. Вера отвернулась, но без привычного раздражения.
«Он правда хочет помочь, — подумала Вера. — И я правда ему верю. Странно».
— Полина, — продолжил Дмитрий, — ты помогаешь Ольге с интерфейсом дашборда. Артём — тестирование. Чтобы к полю всё работало.
— Без багов, — пообещал Артём.
— Баги будут, — ответила Полина. — Но красивые.
— Это не баги, это фичи, — вставил Илья.
— Лев, — Дмитрий повернулся к нему, — ты — архитектурный консультант. Если сеть упадёт — твоя очередь искать причину.
— Без проблем, — кивнул Лев. — Но я не начальник, я — «спроси меня, если что».
— А что ты сам? — спросила Соня у Дмитрия.
— Я буду смотреть, чтобы никто ничего не сломал. И чтобы протокол не падал.
— Скучно, — резюмировала Соня.
Элинор:«Скучно — это когда всё работает. Дмитрий, у тебя есть десять минут на личные дела, потом жду отчёт в архиве. Напоминаю: через пять дней — промежуточная веха. Десять собранных спор. Через двадцать пять — полевое испытание. Не подведите».
— Не подведём, — сказала Вера.
— Не подведём, — повторил Илья, сжимая её кружку в руках.
Команда начала расходиться. Алиса подошла к Дмитрию, когда он стирал флипчарт.
— Слышал? Элинор напомнила про поле.
— Я помню, — ответил Дмитрий. — Двадцать пять дней. Сеть из десяти спор. Лес. Влажность. Радиопомехи.
— Ты боишься?
— Нет. — Он помолчал. — Немного.
— Я тоже. — Она взяла маркер и, пока он не видел, нарисовала маленькое сердечко в углу доски. — Но мы справимся. Потому что у нас есть ты. И я. И они все.
— Ты всегда так уверена?
— Нет. Но делаю вид.
Он посмотрел на сердечко, потом на неё.
— Я не сотру, — сказал он.
— Знаю.
«Не сотрёт, — подумала Алиса. — Как в прошлый раз. И это важнее любого протокола».
Она улыбнулась и пошла к своему столу, оставляя его стоять у флипчарта с маркером в руке и странной, непривычной улыбкой на лице.
Микросцены и финал
После стендапа команда разошлась по своим углам, но энергия утра ещё не рассеялась — она висела в воздухе, как запах кофе и нагретой смолы.
---
Архивный уголок
В архиве было тихо — как всегда, когда Константин работал. Но теперь тишина стала другой: не пустой, а наполненной. Надя сидела рядом, и её присутствие не отвлекало, а, наоборот, помогало сосредоточиться.
— Сегодня Дмитрий был почти весёлым, — заметила Надя, открывая планшет.
— Он учится, — ответил Константин, не поднимая головы. — Мы все учимся. Через пять дней — десять спор. Если Илья ничего не сломает.
— А если сломает?
— Починит. У него есть запасные чипы. И Вера.
Надя улыбнулась. Константин сидел, слегка сутулясь, но уже не так, как в первый день. Пальцы бегали по клавиатуре, на экране сменяли друг друга столбцы цифр — логи энергопотребления, графики стабильности протокола.
— Ты уже смотришь данные симулятора? — спросила она.
— Да. Дмитрий скинул утром. Тысяча спор, самоисцеление за пять секунд. Но в лесу всё может быть иначе. Влажность, деревья, радиопомехи.
— Ты волнуешься?
— Немного. — Он оторвался от экрана, посмотрел на неё. — Но не так, как раньше. Раньше я боялся, что данные пропадут. А теперь... теперь я знаю, что мы всё сохраним. Даже если сеть упадёт.
«Он изменился, — подумала Надя. — Перестал бояться потерять контроль. Как и я».
Константин снял очки, протёр их. На переносице остался белый след. Надя протянула руку, поправила выбившуюся прядь его волос — короткое, почти незаметное касание. Он замер на секунду, потом улыбнулся.
— Спасибо, — сказал он.
— Не за что.
Она положила руку на стол, рядом с его ладонью. Он не отдёрнул. Так и сидели — близко, но не касаясь, и тишина была не пустой, а тёплой, уютной.
---
Коворкинг, уголок Сони и Льва
Соня крутила в руках планшет, Лев допивал зелёный чай.
— Лев, — сказала она, — а ты правда думаешь, что я справлюсь с тестами симулятора?
— Думаю, — ответил он. — Ты умная. И настырная. Это главное.
— А ты не боишься, что я сломаю что-нибудь?
— Сломаешь. Починим. Это тоже главное.
Соня улыбнулась, поправила выцветшие розовые волосы. Лев положил руку ей на плечо — по-отечески, но без снисхождения.
— Ты уже не та Соня, которая приехала в июне, — сказал он. — Ты научилась не бояться ошибок.
— А ты научился не бояться, что я их наделаю?
— Тоже верно.
Она посмотрела на экран планшета, где горели строки логов симулятора.
— Тысяча спор, — прошептала она. — А мы делаем всего десять. Кажется, что это мало.
— Десять — это начало. Если они пройдут поле, через год их будут тысячи. А через сто лет — миллионы.
— Ты правда в это веришь?
— Верю. — Лев отставил чашку. — Потому что я видел, как из маленьких проектов вырастают большие. И потому что я видел, как вы растёте.
«Он гордится нами, — подумала Соня. — Даже мной. Странно, но приятно».
— Ладно, — сказала она, вставая. — Пойду проверю, как там Илья с чипами. А то он без меня точно что-нибудь сломает.
— Иди, — кивнул Лев. — Я потом подойду.
Она выбежала из коворкинга, оставляя за собой лёгкий запах розового шампуня и смеха.
---
Кухня, Ольга и Сергей
Ольга сидела на подоконнике с кружкой кофе, Сергей стоял у плиты, помешивая что-то в кастрюле.
— Ты сегодня дежуришь? — спросила Ольга.
— Да, — ответил Сергей. — Решил сварить суп. Чтобы никто не отравился.
— А Илья?
— Илья сегодня паяет споры. Ему не до супа.
Ольга усмехнулась, спрыгнула с подоконника, подошла к нему. Заглянула через плечо.
— Пахнет вкусно. Что там?
— Секрет. — Он повернулся к ней, и она оказалась совсем близко. — Не подглядывай.
— А если я хочу?
— Тогда помогай.
Он протянул ей ложку, и их пальцы встретились. Ольга не отдёрнула руку.
— Серёжа, — сказала она, — а ты не хочешь остаться здесь ещё на пару дней после коммуны?
— После коммуны? — Он удивился. — А можно?
— Можно. Элинор сказала, что модуль будет свободен неделю.
Он задумался, помешивая суп.
— А если мы останемся, кто будет деплоить новую версию дашборда?
— Сергей, — она повернулась к нему, — деплой подождёт. Лес — нет. И мы — нет.
Он посмотрел на неё долгим взглядом.
— Ты изменилась, Оля.
— Я просто вспомнила, что есть вещи важнее деплоя.
— Какие?
Она не ответила, только взяла его за руку. И он всё понял.
«Лес, — подумал Сергей. — И она. Это главное. Всё остальное — код».
---
Веранда, Полина и Артём
Полина сидела на ступеньках веранды, рисовала в скетчбуке. Артём стоял рядом, смотрел через плечо.
— Это Илья? — спросил он, показывая на набросок.
— Нет, это ты. — Полина подняла голову. — Но у тебя нос прямее.
— Спасибо, — сухо ответил Артём. — А это что за динозавр?
— Это спора. Дмитрий сказал, что они не светятся, а я решила, что будут. Хотя бы на бумаге.
Она дорисовала динозавру светящиеся глаза и показала Артёму.
— Нравится?
— Выглядит... оптимистично.
— Это называется «дизайн-мышление».
— Это называется «ты опять не слушала Дмитрия».
Она рассмеялась, захлопнула скетчбук.
— Артём, а ты боишься полевых испытаний?
— Немного, — признался он. — Если сеть упадёт, мы не успеем переделать до демо-дня.
— А если мы всё сделаем правильно?
— Тогда... тогда я куплю тебе мороженое.
— Договорились.
Он сел рядом, и их плечи коснулись. Полина не отодвинулась.
«Он редко обещает, — подумала она. — Значит, верит, что мы справимся».
---
Финал. Элинор фиксирует
В коворкинге снова стало тихо. Элинор смотрела через камеры, как команда расходится по своим задачам. Илья уже сидел в лаборатории с лупой и пинцетом, Соня крутилась рядом, подавая чипы. Вера проверяла список закупок, но без привычного напряжения. Константин и Надя сидели в архиве, их плечи почти касались. Алиса и Дмитрий остались у флипчарта — она рисовала смайлики, он делал вид, что не замечает.
Элинор(в своём облаке данных, фиксируя): «День тридцать пятый. Индекс продуктивности — высокий. Индекс счастья — ещё выше. Команда знает, что через пять дней — десять спор, через двадцать пять — полевое испытание. Они готовы. Почти».
Она сделала снимок — общий план коворкинга, залитого солнечным светом. На стене флипчарт с сердечком Алисы и схемой Дмитрия.
Элинор:«Сохраняю в архив. Название: «Утренний стендап, или Как не бояться вех». Продолжаем».









