История начинается со Storypad.ru

ГЛАВА 8.

4 августа 2025, 00:46

Харуки

На 27-м этаже располагался технический отдел. Оpen space, гулкий и упорядоченно-застывший, как библиотека перед штормом.

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

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

— Впечатляет, — протянул Лэй, когда мы вошли. — Прямо как в фильмах.

— Это команда разработки, — сказал я. — Здесь сидят middle и junior разработчики.

— Вон там, — я кивнул в сторону дальнего угла, где столы стояли полукругом, — сидят старшие девелоперы. Они пишут основные модули, делают архитектуру и решают, как будет работать backend.

— А frontend? — уточнил он.

— Другая команда. Сидят через этаж. Мы с ними пересекаемся только по продукту.

— Понял. А senior-разработчики подчиняются...

— Джуну. Ведущий разработчик. Мы с ним работаем напрямую. Пошли, я тебя представлю.

— Хорошо.

Мы углубились в open space, пройдя мимо десятков одинаковых рабочих мест. Я ни с кем не здоровался — да это и не имело смысла: никто не поднимал глаз.

Только мониторы, наушники, код. Кто-то печатал с дикой скоростью, кто-то стучал по клавише пробела в ритме барабана.

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

На креслах — подушки для спины и поясничные валики. У кого-то была подставка для ног. Столы покрыты USB-хабами, пачками стикеров, шнурами, термосами и таинственными устройствами — вроде мини-клавиатур с 5 кнопками и светящейся RGB-подсветкой. Один из парней держал мышь, похожую на гоночную машину — огромную, как бластер.

— Вот они, — буркнул я. — Старшие девелоперы. Пошли к Джуну.

Он сидел ближе всех, в наушниках с шумоподавлением, лицо уткнуто в экран. Код бежал, как строка на табло аэропорта: белый на чёрном, бесконечные скобки, циферки, комментарии — настоящий backend.

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

— А, Харуки... — на лице появилась полуулыбка. Он снял наушники, крутанулся в кресле.

— Не ожидал. У нас встреча же позже?

— Да, но я решил зайти раньше, — кивнул я на Лэя. — Познакомить. Это Линь Лэй, наш старший аналитик.

Лэй вежливо поклонился. Джун поднялся с кресла, пожал ему руку. Глаза у него заблестели чуть сильнее, чем надо. А его «приятно познакомиться» зазвучало нервным энтузиазмом.

— Джун, — представился он,— я тут тоже как бы старший. Рад познакомиться. Вы давно у нас?

— Почти две недели, — ответил Лэй спокойно.

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

— Мы очень вас ждали, — сказал он.

Что ещё за «ждали»? — не понял я. Он ведь даже не знал, что мы наняли кого-то нового. Что он несёт?

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

— Вот так мы и работаем, — начал он. — Тут бэкенд, тут графический интерфейс, тут слежу за чатами и сборками.

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

Он наклонился к Лэю, ткнул пальцем в правый монитор:

— А вот тут ваша модель, — с нажимом произнёс он слово ваша. И в этот момент слегка коснулся предплечья Лэя.

Лэй не отдёрнулся. Только посмотрел на руку, потом — на экран.

Ваша? — мысленно передразнил я. — Какая ещё «ваша»? Она моя. Лэй к ней пока даже не притронулся.

— Ваша модель, — продолжил Джун, почти с восхищением. — Сейчас превращается в полноценное приложение. Здесь — основная ветка кода. Пишем в Java, с фреймворком Spring Boot. Вот тут — REST API, а это пайплайн, который мы завели под ваши расчёты. Пока всё в тестовом режиме, но скоро будет продакшен-билд.

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

Лэй спокойно кивнул.

— Я знаю основы программирования, — сказал он тихо, но твёрдо.

Я невольно усмехнулся. Так его. Правильно. Построй павлина. Но, к сожалению, Джун не считал себя униженным — напротив, будто ещё больше обрадовался.

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

Ну всё, началось. Джун щеголяет терминами, будто лекцию на техконференции читает.

Остынь, герой. Лэй не по мальчикам.

Стоп. Харуки, а тебе вообще какая разница? Пусть делает, что хочет. С кем хочет.

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

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

Джун бросил на меня недовольный взгляд, но тут же снова повернулся к Лэю, будто я — просто шум на фоне.

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

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

Лэй перевёл взгляд с экрана на него. Хмыкнул.

— Мне кажется, у каждой команды своя задача. Но цель-то у нас общая.

Он выдержал паузу.

— И если, как вы сказали, неплохо, когда аналитики знают немного о программировании...

Он наклонился чуть ближе к экрану, как будто рассматривал график.

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

У Джуна слегка дёрнулось лицо. Не грубо, не очевидно — но я заметил.

А я еле сдержал злорадную ухмылку. Вот так, кхун Джун. Получи и распишись.

Джун — ещё тот высокомерный придурок. Да, умный, не зря главный разработчик, но гонора в нём больше, чем в любой нейросети. Правильно, что Лэй его на место поставил. Хоть кто-то.

Правда, продлилось это недолго. До совместного совещания.

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

А Лэй? Отвечал спокойно, иногда — короткой, вежливой улыбкой. Без эмоций. Но Джун, похоже, принимал всё за чистую монету.

А я... злился.

— Спасибо, — сказал Лэй, когда мы закончили и направились к выходу переговорной.

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

Лэй отступил на полшага, и сухо улыбнулся:

— Не хотел бы отвлекать вас.

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

Он... подмигнул?

Нет. Мне не показалось.

Лэй кивнул спокойно — ни капли смущения, ни тени улыбки, только обычная профессиональная вежливость:

— Спасибо. Я учту.

Мы попрощались и вышли.

— Тебе мало Джой? — спросил я в лифте, не скрывая раздражения.

— Что? — он повернулся, приподняв бровь.

— Ну, одного человека в фирме тебе недостаточно, с кем флиртовать?

Он нахмурился, а потом вдруг рассмеялся. Лифт открылся, мы вышли на наш этаж.

— Я не флиртовал с ним. Ты же знаешь, мне это не интересно.

— Но его намёки тебе понравились, не так ли? — не отставал я.

Он небрежно пожал плечами:

— Всегда приятно, когда хвалят по делу.

— Ага. Так вот что тебе нравится — лесть?

Он остановился. Посмотрел прямо, с неожиданной серьёзностью:

— Почему тебя это так цепляет? Джой, Джун...

Он снова улыбнулся — спокойно, почти лениво, но в глазах сверкнуло что-то дерзкое.

Мы подошли к моему кабинету.

— Меня ничего не цепляет, — буркнул я. — Я просто не люблю, когда рабочее время тратят на дешёвый флирт. Тебя, насколько я помню, нанимали не ради этого.

Он рассмеялся, открыл мою дверь.

— А тебя смущает, что я флиртую со всеми... или что не флиртую с тобой?

Я выругался по-японски, резко прошёл в кабинет.

А он всё ещё смеялся у меня за спиной. Мерзавец. Бесишь ты, Лэй. Бесишь.

***

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

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

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

— Разве так получится? — застонал я. — Логарифмы — это красиво, но ты ломаешь динамику исходной модели.

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

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

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

— Я не люблю бустинг, — буркнул я. — Слишком много шума.

— А может, ты просто не умеешь его готовить, как следует? — и жестче добавил, он явно тоже был на взводе,

— Харуки, если бы с твоей моделью всё было идеально, ты бы не бился головой об стенку уже сколько? Месяцев шесть?

Я стиснул зубы, резко выхватил у него фломасте, подошёл к белой доске,

— Смотри, — бросил я и стал быстро исправлять его уравнение, — вот здесь, если ты заменяешь X на переменную в квадрате, ты нарушаешь симметрию распределения. И куда ты собираешься вставлять свои цифры, доктор наук? В правый хвост?

Он откинулся на спинку кресла, стал теребить ручку, на губах снова появилась дразнящая улыбка.

— Если так посмотреть...

— А как ещё? Стоя на голове? — съязвил я. — Если ты не видишь очевидное — дело не в моей модели, а в том, что зря тебе докторскую дали.

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

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

Он быстро зачеркнул моё x^2 и вместо него вывел e^x.

Я замер. Мой взгляд метался между ним и доской.

Что за...

Результат действительно сходился. Хотя с этой функцией я бы даже не подумал начинать.

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

Я не понимал, почему его ход работал. Но он работал.

Лэй хлопнул меня по плечу. Мы стояли рядом, глядя на доску, исписанную уравнениями и стрелками. Сегодня он был в обычной футболке и джинсах — костюм он больше не надевал. Почему-то мне так он нравился больше. Хотя... слово «нравится» между нами вообще неуместно.

— Что, до сих пор не дошло? — спросил он.

— Дошло, — соврал я. А что я мог сказать? Что в голове каша?

— И что же? — не отставал он. Его рука всё ещё была на моём плече. Он приблизился. Ближе, чем нужно.

— Харуки, просто сдайся, — произнёс он мне прямо в ухо. Спокойно. Низко. Уверенно. — Ты не выиграешь у меня.

Я почувствовал его дыхание. Тёплое. Чёткое. Слишком близко. Запах стал резче — цитрус, мята, может, что-то древесное. Не навязчиво, но я уловил его отчётливо, как будто воздух сгустился.

Я замер. Растерялся — буквально на секунду. Но он это увидел.

— Не красней, — усмехнулся. — Тебе не идёт.

Я резко повернулся. Наши лица оказались в паре сантиметров друг от друга. Он больше не улыбался, но и не отступил. Смотрел прямо. Темно-карие глаза. Совсем не как у Ю Нина.

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

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

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

И, к чёрту, сам не знал, кто кого провоцирует в этот момент.

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

— Чего ты так распереживался, красавчик? — добавил уже на японском, не опуская глаз. — Вон как сердце стучит.

Он нахмурился, чуть сильнее, чем нужно.

— Что ты сказал?

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

— Что? — Он отдёрнул руку, будто обжёгся. — Какой ещё флирт?

— Самый настоящий, — приподнял я бровь.

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

— Такой, который ведёт к чему-то более интересному, чем твои функции в квадрате.

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

— Конечно, это тебя больше интересует. Учитывая, что всё, что написано на доске — для тебя китайский.

— От китайца слышу, — хмыкнул я. — И вообще...

Я повернул голову, глядя на формулы.

— Ты написал бессмыслицу. Экспонента тут вообще не нужна.

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

— Потому что... — начал я.

И снова замолчал.

Он потянулся к своему ноутбуку, лежащему у меня на столе, неспешно закрыл его. Чехол с очками положил сверху, и направился к двери.

— Как решишь задачку — приходи. Мой кабинет рядом.

Он бросил взгляд через плечо:

— Итак, навскидку, звезда математики из Японии: учись сначала проверять данные, а потом уже считать.

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

Я остался один. Смотрел на доску.

Пытался понять, как он, чёрт побери, получил правильный результат.

И — к своему стыду — всё ещё чувствовал на коже его запах.

...

До меня дошло только через час. Я громко выругался. Хотел уже мчаться к нему — ругаться, орать...

А потом вдруг засмеялся.

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

Я смеялся. Невольно, искренне. Восхищаясь.

А потом заметил то, чего раньше не видел.

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

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

Примечание автора :

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

545790

Пока нет комментариев. Авторизуйтесь, чтобы оставить свой отзыв первым!