Ночь, конец мая 2026‑го, где‑то между вторником и средой.

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

Алексей щурился в два чёрных окна: слева — редактор с RTL‑кодом, справа — лог синтеза. В логах — очередная простыня предупреждений, где‑то посередине дурашливое «WARNING: fanout too high», как будто синтезатор всерьёз переживает за тонкую душевную организацию вентилятора.

Кофе в картонном стакане уже остыл.

— Ну давай, родной, — пробормотал Алексей, стукнув пальцем по тачпаду, — ещё разок, и я тебя отпущу в прод. В Китай. В чайники. В светлое будущее Интернета вещей.

Слева в трее вспыхнуло окошко корпоративного чата. Кто‑то из команды ещё шевелился.

01:47 Anton:

— Лёх, ты там живой? Пауэр-менеджер допилил?


01:48 Alex_M:

— Если он ещё раз уйдёт в deep sleep и не проснётся, я его разберу до последнего транзистора.

01:48 Anton:

— Тогда можно закрывать задачу.

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

Ультрадешёвый SoC назывался пафосно — что‑то вроде «NEO‑Home Lite». По факту — маленький комочек кремния, который должен был уметь всё: считать килоджоульчики, говорить по Wi‑Fi, греться в термопоте и вешать домашний роутер, если прошивку залили неправильно.

Главное — уложиться в три квадратных миллиметра кристалла и в себестоимость два доллара с копейками.

На правом мониторе светился конец лога. В хвосте зелёной простынёй выстроились:

All 327 tests PASSED

Coverage: 97.4%

Timing: met.

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

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

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

Он откинулся на спинку офисного кресла, которое безнадёжно скрипнуло всеми пластиковыми суставами. Плечи ломило, глаза резало — двадцать часов бодрствования давали о себе знать. На столе валялись три пустых стаканчика из‑под кофе, один недоеденный батончик, две ручки и старый блокнот с корявыми эскизами блок‑схем.

В чате всплыли ещё сообщения.

01:50 Dima:

— У кого-нибудь ещё CTS на пятой итерации начинает напоминать БЭСМ на лампах?

01:50 Anton:

— Какие лампы, дед, тебе сорок, ты ютуба насмотрелся.

01:51 Dima:

— Тогда БК. Помните БК? Ничего не успел загрузить, а уже урок кончился.

01:52 Dima:

— А «Агат»? Кто-то ещё запускал «Лабиринт» с дискетки и молился, чтобы дисковод не сдох?

Лента чата аккуратно потянула за ниточку памяти.

Перед глазами вместо опенспейса на секунду возникла другая картинка: тёмная комната в хрущёвке, телевизор «Юность» на табуретке, вокруг разложены журналы «Радио» и тетрадки в клеточку с корявыми записями. На экране — серое снежное поле, поверх которого полосами бегут чёрные символы: `READY`.

Рядом — самодельная плата «Радио‑86РК», проводки, торчащая клавиатура, кассетник «Весна‑202».

И любимый звук детства: визг кассеты, загружающей игру.

Визгом это называли только взрослые. Для десятилетнего Алексея это была музыка надежды.

Он опустил взгляд на клавиатуру ноутбука — ровные чёрные клавиши, подсветка, тачпад. Никаких дребезжащих контактов, никакой «клавиши `Shift`, которая нажимается через раз, потому что пружинка из канцелярской скрепки».

01:53 Alex_M:

— Радио-86РК, ребята. Кассета, 7 минут загрузки, ошибка на шестой. Молишься, перематываешь карандашом и ещё раз.

01:53 Dima:

— Ух ты, олдскул.

01:54 Anton:

— Вот это был UX. Сейчас бы product owner сказал: «Надо удерживать пользователя во время загрузки, давайте мини-игру вставим».

01:54 Alex_M:

— Мини-игра была. Называлась «успей перемотать, пока магнитофон не зажевал ленту».

Он невольно улыбнулся. А за улыбкой привычно подтянулась инженерная злость.

В детстве он ненавидел не сами долгие загрузки — неустойчивость ненавидел. Когда на экране вместо долгожданных символов возникала дробь и потом `Syntax error in 10`.

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

С тех пор он не любил всё, что работало «через раз». Ни в играх, ни в микросхемах, ни в людях.

В чате кто‑то вкидывал мем с обложкой «Радио» восьмидесятых, отфотошопленной под «журнал про DevOps». Кто‑то спорил про то, были ли 80‑е «золотым веком» или «всё было так же криво, только лампы другие».

01:56 Dima:

— Если бы всё это, что у нас сейчас, начать в 70-х… эх.

01:56 Anton:

— Да, жили бы в другой стране. С нормальными чайниками.

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

01:57 Alex_M:

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

Палец завис над Enter. На секунду стало смешно от собственной серьёзности: сидит взрослый дядька, спорит в час ночи о гипотетических 70‑х, вместо того чтобы открыть ещё один waveform.

Он нажал Enter.

01:58 Anton:

— Ты прям как персонажи «Понедельника». Сейчас скажешь, что нужно отправить грамотного инженера в 76-й год?

01:58 Dima:

— И выдать ему жменю ESP-шек.

01:59 Alex_M:

— ESP-шки там в первую очередь на кострах бы сжигали. А вот жменя К155, штук двадцать ОЗУ и нормальное ТЗ — это да.

Про «ТЗ» он написал уже автоматически. Вся жизнь сжалась в две буквы: техническое задание. Всё, что можно было сделать — и всё, что нельзя.

Он потёр переносицу.

Между строк чата, между строк собственного кода вдруг явственно всплыло: «если бы мне тогда, в девяностые, в детстве, дали другую машину… не этот одноплатный РК, а что‑то человеческое…»

Не в смысле «Спасти СССР» и прочий исторический пафос. Просто — нормальную клавиатуру, не убитую советскую плёнку. Памяти хотя бы 64 килобайта. Бейсик без идиотских ограничений.

Сколько страниц кода он бы тогда не переписал по десять раз из‑за сбоя кассеты? Сколько ночей не просидел бы, вглядываясь в серый снег на экране?

Где‑то рядом на столе подал голос мессенджер — уже не общий чат, а личка.

02:02 PM_Irina:

— Лёша, я вижу по дашборду, что регресс зелёный. Мы успеваем к дедлайну?

Он скосил глаз на часы в трее: 02:03. Формально дедлайн был «к утру среды», то есть к девяти.

— Успеваем, — сказал он вслух. — Если ничего не взорвётся.

Пальцы побежали по клавиатуре, набирая ответ.

02:03 Alex_M:

— Да. Осталось прогнать одну тяжёлую серию и собрать финальный netlist. К 7-8 утра будет.

Три точки, «печатает…», потом:

02:04 PM_Irina:

— Ты опять ночуешь в офисе?

02:04 Alex_M:

— А куда деваться от светлого будущего умных чайников. После tapeout я два дня сплю. Без чайников и без проектов.

02:05 PM_Irina:

— Ок. Я поставлю флажок «готово», когда ты скажешь. Не геройствуй.

Не геройствуй. Хороший совет.

Он закрыл чат, оставив его моргать иконкой на панели. В голове привычно искрился список задач: проверить тайминги на крайних углах, ещё раз взглянуть на CDC между always‑on и sleep‑домена, посмотреть leakage.

Мозг сопротивлялся.

Он поймал себя на том, что читает одну и ту же строчку:

if (!rst_n) state <= IDLE;

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

Надо было встать, дойти до кухни, заварить нормальный кофе, не этот бурый кисель, который варили из капсул. Но вставать не хотелось. Тело приварилось к креслу, как микросхема к плате.

Он потянулся за блокнотом, перевернул на чистую страницу и на автомате начал рисовать шину: прямоугольник «CPU», сбоку — «RAM», «IO», снизу — «BUS». Всё как в сотнях блок‑схем, только на полях сам собой появился маленький прямоугольник с надписью: «Видео».

— Во, — тихо сказал он. — Компьютер для умного чайника. Чтоб пока он греется, можно было играть в «Тетрис».

Картинка в голове развернулась шире и тут же уколола: не в ESP и BLE дело. В архитектуре. В том самом ТЗ, которому через сорок лет будут молиться какие‑то другие инженеры.

«Если бы у нас тогда был нормальный домашний компьютер…»

Он закрыл блокнот. Не в этот проект. Здесь от него требовалось только одно: чтобы китайская фабрика не вернула им чипы назад и не сказала: «оно не включается».

Алексей щёлкнул старт последнего тяжёлого прогона. На экране побежали проценты, превратились в циферки «ETA: 01:37».

Час тридцать семь.

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

— Пятнадцать минут, — сказал он сам себе. — Пятнадцать минут просто посидеть и не думать ни про утечки, ни про ГОСТы, ни про маркетинг.

ГОСТы всплыли сами собой. Он усмехнулся: какие, к чёрту, ГОСТы в 2026‑м. PDF‑чики в Confluence, чек‑листы по ISO, WEEE, RoHS, ещё что‑то. Но слово «ГОСТ» почему‑то казалось более честным: старый, понятный враг.

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

Телефон на столе мигнул уведомлением. Новости. Заголовок мельком бросился в глаза: «Сорок лет первым советским персональным компьютерам…» Дальше он не дочитал. Смахнул уведомление в сторону.

— Сорок лет, — повторил он вполголоса. — А мы всё туда же, в чайник.

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

Цикл замкнулся. Красиво, но утомительно.

Эмулятор в голове предложил понятную команду: `SLEEP`.

Он отодвинул клавиатуру, подложил под запястья блокнот и положил голову на руки.

— Пятнадцать минут, — напомнил себе. — Ты же взрослый человек, не провалишься же сразу в REM‑фазу.

За стеклом, в серверной, мерцали зелёные огоньки. Вентиляция гудела, как большой системник под столом. Офисный холодильник тихо щёлкнул термостатом.

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

Сознание Алексея плавно сползло в тёплую серую зону между «думаю» и «уже нет».

* * *

Первое, что сменилось, был звук.

Гул вентиляции вытянуло, как проволоку, и оборвало. Вместо него в уши врезался другой шум — более живой, неровный. Скрип. Щёлканье. Далёкий звон металла о металл. Чей‑то кашель.

Вторым пришёл запах.

Не пластика и офисного дезинфектора, не пластиковый дух новых ноутбуков. Смесь канифоли, табачного дыма и прогретого дерева. Запах радиокружка, мастерской, школьного кабинета труда — всего сразу.

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

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

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

Сон — если это был сон — не исчезал.

Сначала он увидел в упор сероватую бумагу, на которой жирным карандашом были выведены прямоугольники, стрелки и подписи: «АЛУ», «РЕГИСТРЫ», «ШИНА». Карандашом, Карл. Не в Visio, не в VSC, а прямо рукой, с подчёркиваниями и помарками.

Чуть дальше, в фокусе, возникла коробка. Пожелтевший картон, этикетка: «К155ЛА3, 50 шт.». Ни логотипа, ни цветной полиграфии, только индекс и аккуратный круглый штамп приёмки.

Алексей поднял голову выше.

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

Он медленно выпрямился, чувствуя, как тянутся мышцы спины. Пальцы машинально потянулись к тачпаду — встретили пустоту. Левая рука задела крышку коробки; та подалась, загремела, открываясь.

Внутри ровными рядами блеснули черные пластмассовые корпуса с серебристыми ножками. Двухрядные, с ключом сбоку. Он легко узнал их — в памяти всплыли картинки из старых справочников, и кадры видео ютубовских умельцев.

Только сейчас это был не музей, а рабочий стол. И микросхемы были не под стеклом, а в руках.

— К155… — машинально прочитал он вслух. — ЛА3. NANDы, значит.

Голос прозвучал странно — чуть ниже привычного, хрипловатее. Алексей замолчал.

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

— Морозов! — негромкий, но сердитый голос. — Ты опять за столом ночевал? Совесть есть?

Слово "совесть" пробило остатки сна лучше любого кофе. Алексей медленно обернулся.

Комната была длинная, с высокими потолками и серыми стенами, по которым тянулись трубы отопления. В два ряда вдоль окон стояли кульманы. Над каждым — лампа‑«прищепка», дающая жёлтое пятно света.

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

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

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

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

— Опять за столом свалился, а? — продолжал он. — Я ж тебе сколько раз говорил, Морозов, хоть до общаги доходи. Ещё шею свернёшь над своим ЦУБом.

«Морозов». «Общага». «ЦУБ».

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

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

Лицом. Его лицом. Только помоложе. Чуть круглее. С густыми тёмными волосами, аккуратно зачёсанными набок. Под фотографией — «НИИ «Электронмаш». Морозов А. Н. Инженер‑конструктор».

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

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

Алексей перевёл взгляд на стену.

На стене, над доской объявлений, висел календарь. Большой, с отрывными листами. Красно‑чёрные цифры, сверху красивая картинка: трактор на поле, а над ним слоган про «пятилетку качества».

На оторванном листе красовалось:

«МАЙ 1976».

Он посмотрел на эти цифры, как на строку лога с невероятным значением.

1976. Не «1986», не «1996», не «2026». Семьдесят шестой.

— Ну… — произнёс он тихо. — Отлично.

Мужчина у кульмана, похоже, решил, что возглас относится к нему.

— Отлично, говоришь? — буркнул он. — Отлично у нас будет, когда ты ЦУБ нормально доведёшь, а не будешь ночами на нём как на подушке спать. Иди умывайся. Через двадцать минут планёрка у Седых, мы опять за тебя краснеть будем.

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

Алексей ещё секунду сидел, как вкопанный. Пальцы всё ещё лежали на краю коробки с К155. Мир вокруг настойчиво предлагал одну единственную гипотезу, и эта гипотеза была безумной, зато очень логичной.

Вдох — резкий, пахнущий пылью и канифолью. Выдох — долгий.

— Ладно, — сказал он себе. — Предположим.

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

На мгновение поймал своё отражение в стекле окна. Тот же человек, что утром в зеркало в ванной в 2026‑м. И не тот.

— Ну здравствуй, НИИ, — тихо сказал он отражению. — Посмотрим, какое тут ТЗ на вчера.

За дверью кто‑то громко крикнул:

— Морозов! Ты идёшь или тебя уже списать в макетный цех?

Он машинально ответил:

— Иду.

И только после этого понял, что не знает ни, куда идти, ни кто эти люди.

Зато он очень хорошо знал, что такое серия К155, как выглядит ЕС ЭВМ и сколько времени загружается игра с кассеты.

Этого, возможно, хватит на первые двадцать минут.

Он шагнул к двери.

Загрузка...