ГЛАВА 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.
Я замер. Мой взгляд метался между ним и доской.
Что за...
Результат действительно сходился. Хотя с этой функцией я бы даже не подумал начинать.
Нахмурившись, я взял маркер и не заметил, как начал грызть его кончик — дурацкая привычка с аспирантуры.
Я не понимал, почему его ход работал. Но он работал.
Лэй хлопнул меня по плечу. Мы стояли рядом, глядя на доску, исписанную уравнениями и стрелками. Сегодня он был в обычной футболке и джинсах — костюм он больше не надевал. Почему-то мне так он нравился больше. Хотя... слово «нравится» между нами вообще неуместно.
— Что, до сих пор не дошло? — спросил он.
— Дошло, — соврал я. А что я мог сказать? Что в голове каша?
— И что же? — не отставал он. Его рука всё ещё была на моём плече. Он приблизился. Ближе, чем нужно.
— Харуки, просто сдайся, — произнёс он мне прямо в ухо. Спокойно. Низко. Уверенно. — Ты не выиграешь у меня.
Я почувствовал его дыхание. Тёплое. Чёткое. Слишком близко. Запах стал резче — цитрус, мята, может, что-то древесное. Не навязчиво, но я уловил его отчётливо, как будто воздух сгустился.
Я замер. Растерялся — буквально на секунду. Но он это увидел.
— Не красней, — усмехнулся. — Тебе не идёт.
Я резко повернулся. Наши лица оказались в паре сантиметров друг от друга. Он больше не улыбался, но и не отступил. Смотрел прямо. Темно-карие глаза. Совсем не как у Ю Нина.
Я увидел, как в уголках глаз прячется напряжение. Лицо стало чуть жёстче. Он замер. Кажется, только сейчас понял, насколько близко подошёл. Поздно. Мы уже стояли почти вплотную.
Я позволил себе дерзость — короткую, как вспышка. Улыбнулся, глядя в упор. Потом медленно опустил взгляд — на губы. Они были сухие, чуть приоткрытые. На шее под кожей дёрнулась жилка. Адамово яблоко слегка качнулось — он сглотнул.
Никто не двигался. Ни он. Ни я.
И, к чёрту, сам не знал, кто кого провоцирует в этот момент.
— А тебе, кстати, очень идёт смущение, — сказал я первым. Прозвучало с усмешкой, но, чёрт возьми, я был почти искренен.
— Чего ты так распереживался, красавчик? — добавил уже на японском, не опуская глаз. — Вон как сердце стучит.
Он нахмурился, чуть сильнее, чем нужно.
— Что ты сказал?
— Что твоя рука слишком долго лежит на моём плече, — выдохнул я, не убирая улыбки. — Я могу решить, что все наши споры — это твой неуклюжий флирт.
— Что? — Он отдёрнул руку, будто обжёгся. — Какой ещё флирт?
— Самый настоящий, — приподнял я бровь.
Мы всё так же стояли рядом. Руку он убрал, но отходить не спешил.
— Такой, который ведёт к чему-то более интересному, чем твои функции в квадрате.
Он наклонил голову на бок, сначала посмотрел на доску, потом снова на меня.
— Конечно, это тебя больше интересует. Учитывая, что всё, что написано на доске — для тебя китайский.
— От китайца слышу, — хмыкнул я. — И вообще...
Я повернул голову, глядя на формулы.
— Ты написал бессмыслицу. Экспонента тут вообще не нужна.
— Так почему результат тогда сходится? — спокойно отозвался он и снова улыбнулся — своей нахальной, самоуверенной улыбкой. Он уже пришёл в себя.
— Потому что... — начал я.
И снова замолчал.
Он потянулся к своему ноутбуку, лежащему у меня на столе, неспешно закрыл его. Чехол с очками положил сверху, и направился к двери.
— Как решишь задачку — приходи. Мой кабинет рядом.
Он бросил взгляд через плечо:
— Итак, навскидку, звезда математики из Японии: учись сначала проверять данные, а потом уже считать.
Он вышел, даже не потрудившись закрыть за собой дверь. И, конечно же, смеялся. Тихо, но с удовольствием.
Я остался один. Смотрел на доску.
Пытался понять, как он, чёрт побери, получил правильный результат.
И — к своему стыду — всё ещё чувствовал на коже его запах.
...
До меня дошло только через час. Я громко выругался. Хотел уже мчаться к нему — ругаться, орать...
А потом вдруг засмеялся.
Когда он успел? Когда успел, черт побери, на моей доске, в моих расчетах, заменить исходную формулу на бессмыслицу — на математический нонсенс, который даёт фальшиво правильный результат? Ловушка для первокурсников. И я в неё влетел на полной скорости. Он заставил меня час искать несуществующее решение...
Я смеялся. Невольно, искренне. Восхищаясь.
А потом заметил то, чего раньше не видел.
Я взял маркер. И впервые за много недель сдвинулся в расчётах вперёд.
— Лэй... может, ты и не так уж плох, — пробормотал я, всё ещё глядя на формулу, и, впервые за долгое время, улыбнулся по-настоящему.
Примечание автора :
Все математические термины, использованные в тексте, являются стилизованной декорацией и не претендуют на научную точность. Это художественное допущение, а не учебник по статистике или машинному обучению. Настоящие математики, пожалуйста, не бейте меня фломастером.
Пока нет комментариев. Авторизуйтесь, чтобы оставить свой отзыв первым!