Глава 24

Проклятый баг. Бэ Душик в очередной раз впился взглядом в строки кода на мониторе, чувствуя, как раздражение уже начинает медленно закипать где-то в глубине. Уже третий час он бился над этой ошибкой в модуле статистики «Chronos» — данные агрегировались некорректно при пиковых нагрузках, но в совершенно непредсказуемые моменты. Логи молчали, тесты проходили идеально. Это была одна из тех проблем, которые высасывают все соки, заставляя сомневаться в собственном здравомыслии. Вокруг привычно гудел опенспейс: стук клавиатур, тихие переговоры коллег у соседней доски, где Рю Джиэ снова что-то яростно доказывала, размахивая маркером, гул вентиляторов серверной стойки в дальнем конце зала. Обычный рабочий шум, который Душик давно научился игнорировать, но сегодня он словно царапал по нервам. Ему нужна была тишина и полная концентрация, а не вот это вот всё.

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

Душик смерил пришельца быстрым оценивающим взглядом. И удивлённо приподнял бровь. Незнакомец был одет… странно. Для этого места, по крайней мере. Сидящий как влитой тёмно-серый костюм, белоснежная рубашка, галстук. Ни единой складки, ни пылинки. Он что, перепутал офис IT-компании с залом для приёмов в каком-нибудь чеболевском конгломерате? Больше походил на продажника или финансового консультанта, который сейчас начнёт впаривать какие-нибудь сомнительные инвестиции, а не на программиста.

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

— Ребята, на минутку! — Донмён, как и ожидал Душик, направился прямиком к их «островку» — группе столов, где сидела их основная команда. — Хочу вас познакомить с Кан Мёнджином! Мы только что отлично пообщались с Чхольмин-ши. Возможно, это наш будущий коллега!

«Отлично пообщались», по версии Донмёна, могло означать что угодно. Посмотрим, что скажет Чхольмин потом.

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

— Это Мун Бёнчхоль, наш гуру, самый опытный разработчик.

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

— Рю Джиэ, наша звезда сложных алгоритмов и оптимизации.

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

— Им Сану, — Донмён кивнул на следующего, — наш специалист по самым глубоким погружениям в код.

«То есть задрот, если называть вещи своими именами», — мысленно уточнил Душик.

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

— Джо Ынби, наше молодое дарование, быстро учится.

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

— Ну, а это Бэ Душик, наш главный скептик и мастер по поиску багов там, где их вроде бы нет, — завершил Донмён представление, указывая на него.

Душик ограничился сдержанным кивком. Улыбаться не хотелось. Его баг ждал.

Кан Мёнджин кивал каждому в ответ, прямо встречая взгляд. Когда очередь дошла до Душика, спокойные внимательные глаза незнакомца задержались на нём на долю секунды дольше, чем на остальных. Или это Душику только показалось?

«Взгляд у него тяжёлый, — подумал Душик. — Неприятный тип».

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

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

— Вау, Кан Мёнджин-ши, — протянула она с широкой улыбкой, опираясь бедром о свой стол. — Серьёзный у вас подход к собеседованиям! Прямо как на приём к президенту. У нас тут, знаете ли, дресс-код попроще — кто что утром нашёл, в том и пришёл. Вы всегда так официально?

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

Но Мёнджин лишь улыбнулся краешком губ. Ни тени смущения.

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

Ответ прозвучал неожиданно буднично и с долей самоиронии. Джиэ одобрительно хмыкнула и рассмеялась, качнув головой. Донмён тоже облегчённо заулыбался — лёд тронулся. Бёнчхоль даже чуть приподнял бровь — знак почти бурного проявления эмоций с его стороны. Ынби вежливо хихикнула. Один Сану остался невозмутим — ему, кажется, вообще всё равно.

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

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

— Мёнджин-ши рассказал нам с Чхольмин-ши много интересного, — начал он, обращаясь ко всей команде. — Кажется, он в прошлом сталкивался с задачами, похожими на те, что мы решаем сейчас…

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

— Раз уж речь зашла о том, что вы можете стать нашим коллегой, — вмешался Душик, — тогда вопрос не по работе. Кофе или чай? И какой именно? У нас тут целая культура вокруг этого сложилась, важно понимать предпочтения будущих коллег.

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

Мёнджин повернулся к нему. Его взгляд оставался таким же спокойным, внимательным.

— Кофе, — ответил он без паузы. — Чёрный. Без сахара. Чем крепче, тем лучше. Но хороший чай тоже ценю, особенно улун.

«Ладно, хоть в этом он нормальный», — подумал Душик.

— О, ценитель! — оживилась Джиэ. — У нас Бёнчхоль-сонбэ — главный эксперт по чаю. Он такие церемонии иногда устраивает! А кофе… Кофе — это наше топливо. Без него тут половина команды до обеда не доживает. Вы, Мёнджин-ши, «жаворонок» или «сова»? Как у вас с утренними подъёмами?

— Скорее «сова», которая научилась притворяться «жаворонком» по необходимости, — Мёнджин чуть улыбнулся. — Ранние подъёмы не люблю, но если нужно — встаю без проблем. Кофе в этом очень помогает.

— А как насчёт обеда? — встрял Донмён, явно радуясь, что разговор идёт без неловкости. — У нас тут рядом есть пара отличных мест. Корейская кухня, японская, даже неплохая итальянская пиццерия. Вы что предпочитаете? Или носите доширак [1] из дома?

[1. В Корее так называют ланч-боксы, обед, принесённый из дома.]

— Предпочитаю разнообразие, — ответил Мёнджин. — Сегодня могу захотеть острый кимчиччигэ [2], а завтра — рамён или даже пиццу. Зависит от настроения. Доширак — это хорошо, но я, признаться, не самый умелый повар.

[2. Кимчиччигэ — корейское рагу, приготовленное из кимчи и других ингредиентов, таких как зелёный лук, репчатый лук, тофу, свинина или морепродукты.]

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

— А что насчёт хобби, Мёнджин-ши? — спросила Ынби, набравшись смелости. Её голос был тихим, но любопытство пересилило робость. — Чем занимаетесь в свободное время? Ну, когда оно есть, конечно.

Мёнджин на мгновение задумался, словно перебирая варианты.

— В последнее время… — начал он медленно, — я много читаю. Пытаюсь наверстать упущенное в разных областях. Ещё открыл для себя прелесть долгих прогулок по городу без определённой цели. Иногда это помогает проветрить голову лучше, чем что-либо ещё.

— Прогулки — это здорово! — поддержал Донмён. — А что читаете, если не секрет? Фантастику? Детективы?

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

Бёнчхоль, до этого молчавший, вдруг проявил интерес.

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

Душик удивлённо посмотрел на Бёнчхоля. Тот редко участвовал в таких разговорах, предпочитая обсуждать архитектуру кода или тонкости чайной церемонии. Похоже, Мёнджин чем-то зацепил и его.

— Пак Кённи, — ответил Мёнджин. — «Земля». Масштабное полотно, много судеб. Заставляет задуматься о времени и переменах.

Бёнчхоль медленно кивнул.

— Достойный выбор. Очень достойный.

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

Мёнджин перевёл взгляд на Донмёна.

— Спасибо, что уделили время для такого неформального общения, — сказал он. — Теперь, если позволите, я бы хотел немного лучше понять, над чем именно вы здесь работаете. Я видел упоминания проектов на досках — «Chronos», «Chameleon»… Звучит интригующе. Расскажите немного подробнее, какой основной проект у вашей команды? Мне важно понимать контекст.

Донмён с готовностью кивнул. Он явно любил рассказывать о том, чем они занимаются.

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

Он сделал паузу, оглядывая команду, словно ища поддержки. Джиэ кивнула, Бёнчхоль оставался невозмутим.

— А если говорить о конкретных направлениях, над которыми мы все так или иначе работаем, — продолжил Донмён, — то можно выделить три ключевых. Первое — это как раз «Chameleon». Представьте себе зоопарк [3], — он развёл руками. — Огромный зоопарк из лампочек, кондиционеров, датчиков движения, умных замков, счётчиков воды и электричества… Каждый производитель говорит на своём «языке», использует свои протоколы. Задача «Chameleon» — научить нашу платформу понимать их всех. Мы создаём универсальный шлюз, пишем адапторы, чтобы данные от любого устройства, будь то старый датчик температуры или новейший контроллер освещения, могли поступать в нашу систему и управляться ею. Это постоянная работа — новое железо появляется каждый день. Наша команда, — он обвёл рукой их столы, — как раз чаще всего занимается этим зоопарком, особенно Джиэ и Душик, они у нас мастера по расковыриванию нестандартных протоколов.

[3. Зоопарк — на программистском жаргоне — проект или среда, где используется слишком много различных технологий, создающих сложности в поддержке.]

Джиэ самодовольно улыбнулась, а Душик лишь поморщился. Да уж, «расковыривать» кривые китайские протоколы без нормальной документации — то ещё удовольствие.

— Второе направление — «Synapse», — продолжал Донмён. — Если «Chameleon» — это уши и руки нашей системы, то «Synapse» — это её нервная система, логика. Это движок, который позволяет настраивать автоматизацию. Ну, знаете, «если… то…». Если датчик движения в коридоре никого не видит десять минут, то выключить свет. Если температура в переговорке поднялась выше двадцати пяти градусов, а там идёт совещание (люди есть), то включить кондиционер на охлаждение. Если сработал датчик протечки — перекрыть воду и отправить уведомление службе эксплуатации. «Synapse» позволяет создавать очень сложные сценарии, связывая разные устройства и условия. Мы сейчас как раз работаем над второй версией движка, чтобы он был ещё быстрее, умнее и проще в настройке для конечного пользователя. Бёнчхоль-сонбэ и Сану много сил вкладывают именно в ядро этого движка.

Бёнчхоль коротко кивнул, подтверждая слова Донмёна. Сану, как обычно, не отреагировал.

— И третье — «Chronos», — Донмён указал на доску, где Душик утром рисовал схемы базы данных. — Это наша память и аналитический центр. Все данные с тысяч устройств — температура, влажность, потребление энергии, логи доступа, работа датчиков — всё это нужно где-то надёжно хранить и уметь быстро доставать. «Chronos» собирает эту статистику, обрабатывает и позволяет строить отчёты, графики, дашборды. Администратор здания может посмотреть, где больше всего тратится электричества, когда чаще всего пользуются переговорками, не было ли аномальных скачков температуры ночью… Это помогает оптимизировать расходы, планировать обслуживание. Ынби у нас сейчас много занимается визуализацией этих данных, а я вот… — Донмён виновато улыбнулся Душику, — пытаюсь поймать странный баг с агрегацией. В общем-то, этим мы занимаемся вместе с Душиком.

— Хорошо, благодарю за короткое объяснение, — произнёс Мёнджин. — Получается, ваша команда работает над всеми тремя направлениями? Или есть специализация?

— Мы — ядро, — ответил Донмён с гордостью. — Поэтому так или иначе касаемся всего. Но, конечно, есть и другие команды. Есть ребята, которые больше фокусируются на интерфейсах для пользователей, есть команда, которая занимается развёртыванием и поддержкой для клиентов, есть тестировщики… Но основные технические вызовы — они здесь. Поэтому мы и ищем сильного бэкенд-разработчика, который сможет быстро влиться и помочь нам и с интеграциями в «Chameleon», и с логикой в «Synapse», и с обработкой данных в «Chronos».

«Ага, и баги за нами разгребать», — мрачно подумал Душик, но промолчал.

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

— Понятно. Спасибо, Донмён-ши, это было очень полезно для понимания общей картины.

Казалось, он собирался задать ещё какой-то вопрос, но в этот момент тишину их уголка опенспейса нарушил мелодичный, но настойчивый сигнал уведомления. Звук исходил от компьютера Им Сану.

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

— Сану? Всё в порядке? — удивлённо спросил Донмён.

— Митинг… — коротко бросил Сану, не глядя на на коллег, продолжая лихорадочно щёлкать мышкой. — Архитектурный. Опять опаздываю. Чхольмин-ши убьёт.

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

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

— Вечно он так, — вздохнул Донмён. — Ладно, видимо, это знак, что и нам пора закругляться.

Он повернулся к Мёнджину.

— Мёнджин-ши, спасибо вам ещё раз! — его тон снова стал более формальным, но улыбка оставалась дружелюбной. — Было очень интересно с вами пообщаться. Как я и говорил, решение будет принято не сразу, мы с вами свяжемся в ближайшие дни, как только всё обсудим.

Он встал из-за стола, давая понять, что встреча окончена. Мёнджин тоже поднялся.

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

Он кивнул каждому по очереди.

— Я провожу вас, — сказал Донмён и направился к выходу из опенспейса, Мёнджин последовал за ним.

Душик смотрел им вслед, пока они не скрылись за поворотом коридора. В их уголке опенспейса на мгновение воцарилась тишина, нарушаемая лишь стуком клавиш — это Бёнчхоль уже вернулся к своему коду. Джиэ задумчиво постукивала маркером по краю стола, а Ынби делала вид, что читает что-то на экране, хотя явно думала о чём-то своём.

— Ну что скажете? — спросила Джиэ, поворачиваясь к Бёнчхолю и Душику. — Как вам наш кандидат в смокинге… то есть в костюме?

Бёнчхоль пожал плечами, не отрываясь от монитора.

— Говорит разумно. Книги правильные читает. Но код покажет.

Типичный Бёнчхоль.

— А мне понравился, — неожиданно сказала Ынби. — Он так спокойно держится. Да и вообще интересный.

Джиэ кивнула.

— Да, у меня похожее впечатление. Но вот опыт… Надо будет у Чхольмина потом узнать, что он там на самом деле рассказал. А ты что думаешь, Душик?

Душик потёр подбородок.

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

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

— Ребята! — выпалил Донмён, плюхаясь на свой стул. — Этот парень — хватай и беги! Я не знаю, где HR его откопали, но это просто находка! Чхольмин тоже под впечатлением, говорит, давно такого уровня не видел. Этот кандидат на вопросы по архитектуре отвечал так, будто сам эту платформу проектировал! Нам нужно его брать, срочно, пока его кто-нибудь другой не перехватил!

Душик хмыкнул.

— Успокойся, Донмён. Отдел кадров решит. И вообще, он ещё код не писал. Может, он теоретик гениальный, а на практике…

— Да какой теоретик! — Донмён махнул рукой. — Вы не представляете! Мы ему с Чхольмином только общие контуры задач обрисовали, а он начал задавать вопросы… И попал точно в те узкие места нашего зоопарка в «Chameleon», над которыми мы сами только-только головы ломать начали! И про движок правил такие вещи предположил… Да он как будто уже внутри нашей системы побывал!

Душик нахмурился. Если это так, то это было странно. Очень странно.

— Может, он просто хорошо подготовился? Изучил нас заранее? — предположила Джиэ, хотя в её голосе тоже слышалось удивление.

— Так подготовиться невозможно! — горячился Донмён. — Мы же не трубим о наших внутренних проблемах на каждом углу! Нет, тут дело в другом: он словно схватывает с полуслова, причём абсолютно естественно. Вы и сами могли убедиться, что ответ он находит быстро, но даже не представляете, насколько сильное он производит впечатление на интервью. Короче, я абсолютно уверен, он нам очень нужен. Я пойду к Суджи, скажу, чтобы ускорили процесс.

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

Душик проводил его взглядом, испытывая смешанные эмоции. С одной стороны, энтузиазм Донмёна и высокая оценка Чхольмина внушали доверие. Сильный сокомандник не помешает. С другой — всё в этом Кан Мёнджине было слишком… идеальным.

А ещё он по-дурацки одевается.

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

«Ладно, — решил Душик. — Если его возьмут, посмотрим. Время покажет, что он за птица».

Загрузка...