Если до этого момента молчание Тан Цзяшу можно было списать на нежелание разговаривать, то теперь, когда он лишился дара речи, это означало лишь одно: он действительно не знал, что сказать.
Оказывается, Е Синюй вовсе не дурак. Он давно всё понял: Тан Цзяшу лишь искал в нём некие призрачные ощущения. Или, если смотреть на более жестокую правду, в тот самый момент Тан Цзяшу просто нуждался в ком-то, кто помог бы ему разобраться, каково это — быть с мужчиной, и Е Синюй подвернулся как нельзя кстати.
Помолчав долгое время, Тан Цзяшу наконец произнёс:
— Прости.
— Не хочу я это слышать! — Е Синюй внезапно повысил голос, переходя на крик. — Ты думаешь, раз ты взял на себя вину и сбежал, то на этом всё кончено? Тан Цзяшу, я был с тобой три года! За это время у меня было немало ухажеров, но я выбрал именно тебя, а как ты со мной обошёлся?
Голос Е Синюя дрогнул, в нём послышались рыдания. Тон сменился, и он начал говорить бессвязно:
— …Прости, я был неправ. Я не должен был капризничать, не должен был строить тебе козни. Я люблю тебя, брат Цзя. Поверь мне, я правда, правда тебя люблю…
Перед лицом этого потока нелепиц Тан Цзяшу оставался подчёркнуто спокойным:
— Ты в баре один? Или с друзьями?
Е Синюй что-то пробормотал на том конце, Тан Цзяшу не расслышал. Он только собрался переспросить, как на том конце послышалась возня, телефон перешёл в другие руки, и кто-то сказал:
— Алло, вы его друг? Этот господин напился. Если вам удобно, приедьте и заберите его, я боюсь, как бы с ним в нашем баре чего не случилось.
Это было сказано ещё вежливо. Видимо, Е Синюй уже был никакой, и работники бара боялись, что он так и останется валяться у них без присмотра. Несмотря на то что они расстались, Е Синюй всё же был его однокурсником, и Тан Цзяшу не мог остаться в стороне:
— Какой адрес?
Работник поспешно продиктовал адрес. Тан Цзяшу повесил трубку, тяжело вздохнул, подумав, что сегодняшний вечер точно не задался, и встал, направляясь к шкафу за одеждой.
В этот момент телефон зазвонил снова. На сей раз звонил Чэн Чжаожун. Он с порога проявил заботу:
— Сяо Тан, ты уже дома? Ещё не спишь?
— Нет, — ответил Тан Цзяшу, натягивая одежду. — Директор Чэн, что-то случилось?
— О, отлично, — обрадовался Чэн Чжаожун. — Тут такое дело: в проекте большой модели, за который отвечает ваша Первая группа разработки, возникла проблема — в одном специфическом сценарии производительность нестабильна. Обнаружили только что, Сяо Сюй напился, и до него не дозвониться. Может, посмотришь?
Тан Цзяшу замер. Какое странное совпадение:
— Это очень срочно?
— Довольно срочно. Директор Цзи завтра должен демонстрировать проект инвесторам. Он сейчас в самолёте, было бы некрасиво заставлять его после перелёта сразу садиться исправлять баги…
— …Логично, — рассудил Тан Цзяшу. Но представив, как Цзи Юйхуай после ночного рейса будет всю ночь напролёт сидеть в отеле, отлаживая код, он тут же сдался: — Хорошо, пришлите мне описание проблемы, я посмотрю.
К счастью, днём он скачал ту часть кода себе на компьютер, иначе пришлось бы посреди ночи ехать в офис. Но как быть с Е Синюем? Тан Цзяшу долго не раздумывал — быстро накинул куртку, схватил сумку с ноутбуком и, вызвав такси, помчался в бар.
На месте оказалось, что это обычный тихий бар, а не шумное заведение с танцами. Е Синюй лежал «трупом» на диване в кабинке у барной стойки. Бармен, увидев, что кто-то пришёл, наконец выдохнул. Не успел он открыть рот, как Тан Цзяшу спросил:
— У вас тут круглосуточно?
Бармен опешил:
— Господин, мы обычно работаем до трёх часов ночи.
Тан Цзяшу прикинул время и пробормотал себе под нос:
— Этого хватит.
Бармен растерялся ещё больше — чего хватит? Пока он пытался сообразить, Тан Цзяшу добавил:
— Есть отдельный кабинет? Какой минимальный заказ?
Двое официантов, подхватив мертвецки пьяного Е Синюя, затащили его в кабинет. Уложив его на диван, они посмотрели на Тан Цзяшу, который вытащил ноутбук и поставил его на журнальный столик, и застыли с ошарашенным видом. Чуть позже вошёл официант с фруктовой тарелкой, а Тан Цзяшу, стуча по клавишам, спросил его:
— Плед есть?
В полумраке кабинета, на изогнутом диване: с одной стороны Е Синюй, укутанный в плед и громко храпящий, а с другой — Тан Цзяшу, сосредоточенно правящий код на экране. Будь здесь Мэн Лэй, она бы наверняка воскликнула: да ведь это же точь-в-точь та картина, что постоянно возникала, когда они были вместе! И добавила бы что-нибудь едкое про то, что Е Синюй — как наваждение, которое никак не отвяжется.
После часа ночи проблему наконец удалось решить. Как и предполагал Тан Цзяшу, дело было в недостаточной настройке параметров. Просимулировав ещё несколько сценариев и убедившись, что всё верно, он развернул последнюю версию на облачном сервере компании, с облегчением выдохнул и отметил Чэн Чжаожуна в рабочем чате, сообщая результат.
Чэн Чжаожун тоже не спал и тут же прислал длинную цепочку эмодзи с поднятым большим пальцем. Помассировав затекшую шею, Тан Цзяшу потянулся закрыть ноутбук и размяться, как вдруг в чате всплыло новое сообщение.
Цзи Юйхуай: Спасибо за труд.
***
Тан Цзяшу зевал перед экраном, потирая переносицу, и наконец решил сходить за кофе, чтобы взбодриться.
После того как он закончил с программой после часа ночи, его сморило, и он подремал прямо на диване в кабинке — к счастью, персонал бара оказался понимающим и не стал их выставлять. В семь тридцать утра его разбудил будильник. Е Синюй всё ещё спал, Тан Цзяшу растолкал его, вывел из бара и запихнул в такси. Е Синюй, возможно, осознав, насколько безобразно вёл себя вчера, раз уж Тан Цзяшу вообще приехал его забирать, чувствовал вину. Он не стал устраивать сцен, виновато попрощался и послушно уехал.
Когда он заваривал кофе в комнате отдыха, он столкнулся с Юань Минь. Она уже видела ночные сообщения в чате и с ходу подколола его:
— Руководитель Тан, вышли в первый день — и сразу сверхурочные. Каковы ощущения?
Тан Цзяшу не выспался, кофеина не хватало, поэтому он ответил с непроницаемым лицом холодного парня:
— Привык.
Он имел в виду, что программист должен быть готов работать в режиме 24/7. Юань Минь усмехнулась. Она не спешила уходить, прислонилась к стойке со своей кружкой и завела разговор:
— Впрочем, ты попал в хорошее время. В конце прошлого года, когда мы боролись за сроки с компанией-конкурентом, директор Цзи заставлял всю Первую группу разработки пахать больше месяца без выходных. Ты не представляешь, я тогда словно вернулась в те времена, когда меня эксплуатировал научный руководитель. Но жаловаться было не на что — сверхурочные платили отличные. Да и директор Цзи впахивал больше нас: не ездил домой, жил в офисе, спал меньше четырёх часов в сутки. При этом на совещаниях выглядел бодрым, энергичным и мыслил ясно. Эта программа прошла уже через пять или шесть итераций, но костяк первоначальной версии был полностью написан его руками. Круто, да? Настоящий Железный человек. И главное, — она добавила с блеском в глазах, — такой красавец.
Тан Цзяшу уловил в выразительной речи Юань Минь нескрываемое восхищение. Помешивая кофе, он невольно поднял глаза и встретился с ней взглядом. Юань Минь приняла этот взгляд за вызов соперника.
— Не смотри на меня так. У директора Цзи фанатов полная компания, скоро сам увидишь. Недавно я слышала, как ребята из отдела маркетинга обсуждали: мол, на презентации продукта должны выступать директор Цзи и директор Чжэн. Два красавца на сцене — эффект был бы просто взрывной, сэкономили бы кучу денег на маркетинге.
Тан Цзяшу промолчал, сделал глоток кофе и тут же нахмурился: сахара мало, горько и вяжет рот.
Вернувшись в кабинет, Тан Цзяшу уставился на плотные блоки кода в редакторе. Вспомнив слова Юань Минь о том, что костяк этой программы написан Цзи Юйхуаем, он почувствовал волнение, подался вперёд и взялся за мышь.
У многих гениальных программистов есть свой неповторимый стиль. Стиль Цзи Юйхуая был похож на него самого: внимание к целому при проработке деталей, чёткая логика, вложенные структуры, безупречность. Даже комментарии были написаны грамотно и лаконично. Там, где логика была сложной, он парой строк выражал мысль достаточно ясно. Для технаря такая работа со словом — редкость, это позволяло тем, кто будет заниматься поддержкой, не тратить время на разгадывание ребусов, что значительно повышало эффективность.
В итоге Тан Цзяшу, сосредоточенно просмотрев код, быстро научился отличать оригинал Цзи Юйхуая от посредственных правок, внесённых другими в процессе итераций.
Продолжая изучать код, он начал хмуриться. Оригинальный код Цзи Юйхуая не только был изуродован кем-то из последователей, так ещё и в новых алгоритмах обнаружилось несколько явных багов, нарушавших первоначальную чистоту и элегантность. Это было похоже на шедевр мировой живописи, который какой-то неумеха испортил своими мазками — сплошное расточительство.
У Тан Цзяшу внутри всё закипело. С помрачневшим лицом он открыл историю коммитов и обнаружил, что правки внесённые аккаунтом под именем Charlie.
Он не помнил, чтобы в Первой группе разработки был кто-то с таким английским именем. Не раздумывая, он сделал скриншот фрагмента кода с явными багами и некорректными комментариями, отправил в рабочий чат проекта и прямо спросил:
— Кто такой Charlie? Посмотрите этот фрагмент. Тут два бага: при инициализации хеш-таблицы не обработаны повторяющиеся символы, и условия границ при переборе строки s тоже неверны. И, пожалуйста, дополните комментарии.
В окне личных сообщений всплыло уведомление от Чэн Чжаожуна:
— Сяо Тан, как будешь свободен, зайди ко мне в кабинет.
http://bllate.org/book/35583/4400732
Готово: