Глава 23

Поездка до офиса «MetaSpace Solutions» заняла чуть больше времени, чем я рассчитывал. Компания располагалась не в одном из сверкающих небоскрёбов центрального делового района, как «Сонхо Групп», а в более современном, но менее пафосном технологическом парке на окраине Сеула. Здание из стекла и светлого бетона, с лаконичным дизайном было окружено аккуратными газонами и парковками для велосипедов — типичное обиталище стартапа, который уже перерос гаражную стадию, но ещё не забронзовел.

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

Подать заявку было просто. Найти подходящую вакансию на их сайте — дело пары минут. Составить резюме, идеально соответствующее их требованиям, — ещё пять минут (в основном я просто копировал фрагменты чужих анкет и подгонял вымышленный опыт под нужный профиль). Я указал солидный стаж работы в паре IT-компаний и добавил несколько важных технических навыков, которыми якобы владею, — всё это, разумеется, подкреплялось мгновенной проверкой и корректировкой через Зазеркалье. В резюме я также указал, что владею некоторыми познаниями о платформах, которые очень часто используются в той доменной области [1], где обитает эта компания. Ответ пришёл почти сразу — в тот же день мы созвонились, и я получил приглашение на техническое собеседование.

[1. Доменная область — это та часть реального мира, с которой работает бизнес.]

Я мог бы и не утруждать себя всей этой комедией. Стоя перед стеклянными дверями «MetaSpace Solutions», я на мгновение прикрыл глаза и позволил своему восприятию расшириться. Эфирное тело, более плотное и послушное после недавнего прорыва, без проблем отделилось от физической оболочки, становясь невидимой точкой наблюдения в холле. Отсюда, из этой начальной точки, я мог «ощупать» всё здание.

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

Мое сознание скользнуло вверх, этаж за этажом. Всего их было три, если не считать холла. Довольно много, если учесть, что компания вообще-то небольшая, но скорее всего, это здание покупали на вырост. Ну или арендовали. В любом случае — уверенные в себе люди. Я исследовал общую планировку: вот зона ресепшена, переговорные комнаты, вот большой опенспейс, гудящий активностью, вот отдельные кабинеты руководства, серверная, комната отдыха… Я мог уловить общий эмоциональный фон — где люди были более сосредоточенны, где царила более расслабленная атмосфера. Я даже смог различить «горячую точку» — место, где шли самые жаркие споры и рождались идеи. Вероятно, именно там находилось ядро разработки. Я мог бы попытаться заглянуть в прошлое отдельных помещений, уловить обрывки недавних разговоров, проследить маршруты ключевых сотрудников, но зачем сейчас тратить время на вот это вот всё? Гораздо легче получить желаемое, просто общаясь с людьми. Как в реальности, так и в развилках.

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

Я открыл глаза, возвращая восприятие в физическое тело.

Толкнув стеклянную дверь, я вошёл в просторный, светлый холл. Минималистичный дизайн, стойка ресепшена из светлого дерева, пара диванчиков для посетителей, большой экран на стене с логотипом «MetaSpace Solutions» — переплетённые линии, образующие стилизованное облако или нейронную сеть. За стойкой сидела девушка с приветливой улыбкой.

— Добрый день, — обратился я к ней. — Кан Мёнджин. У меня назначено собеседование на позицию backend developer [2].

[2. Backend developer — разработчик серверной части веб-приложения.]

Девушка быстро проверила что-то в компьютере.

— Кан Мёнджин-ши, да, конечно. Вас ждут. Одну минуту, я сейчас свяжусь с Пэ Суджи-ши.

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

Через пару минут из коридора появилась женщина лет тридцати пяти, одетая в стильный, но строгий деловой костюм. Хм-м…, а мы точно у айтишников? Это, очевидно, и была Пэ Суджи — вероятно, из HR-отдела.

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

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

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

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

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

Лифт остановился, двери открылись, и мы шагнули в сердце «MetaSpace» — большой опенспейс, залитый светом из панорамных окон. Столы были расставлены группами, повсюду виднелись мониторы, доски с диаграммами, на полках стояли прототипы каких-то устройств.

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

Пэ Суджи провела меня мимо нескольких рабочих зон. Я мельком ловил взгляды сотрудников — в основном выражающие мимолётное любопытство. Я же, идя за HR-специалистом, впитывал информацию. Вот группа из шести человек, оживлённо обсуждающих что-то у большой доски, испещрённой схемами баз данных и API [3] (что за проект «Chronos»?). Я кожей чувствовал их сплочённость. Вот чуть поодаль сидят двое мужчин постарше, сосредоточенно глядя в мониторы, на которых видны архитектурные диаграммы (это архитекторы или разработчики?). А вон в дальнем углу, почти изолированно, сидит человек, от которого исходит едва уловимое напряжение, смешанное с… тревогой?

[3. API (англ. application programming interface) — программный интерфейс, то есть описание способов взаимодействия одной компьютерной программы с другими.]

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

— Вот здесь, — Пэ Суджи остановилась у входа в просторную переговорную комнату, отделённую от опенспейса стеклянной стеной. Внутри за столом уже сидели двое мужчин. — Ко Донмён-ши, Им Чхольмин-ши, это Кан Мёнджин-ши. Я оставлю вас. Удачи, Мёнджин-ши!

Она улыбнулась мне на прощание и ушла. Я сделал глубокий вдох и вошёл в переговорную.

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

Нужно было как-то разрядить эту неловкость.

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

Шутка, кажется, достигла цели. На лицах обоих собеседников появились улыбки.

— Вовсе нет, что вы, — ответил тот, что помоложе. — У нас тут свобода самовыражения. Главное, чтобы код был хороший. Присаживайтесь. Я Ко Донмён, отвечаю за разработку основной платформы.

— Им Чхольмин, архитектор, — представился второй. — Рад познакомиться.

Мы расселись за столом. Передо мной стояла бутылка воды и чистый блокнот с ручкой — стандартный набор. Я решил, что сейчас стоит полностью сосредоточиться на разговоре с этими людьми. Конечно, мое сознание фоном продолжало сканировать окружение, улавливать их эмоциональное состояние, отмечать нюансы в их поведении, но основное внимание было направлено на диалог. А вот Зазеркалье… Оно работало на полную катушку, но незаметно для собеседников. Пока я слушал их или отвечал на вопрос, в десятках параллельных реальностей я уже задавал им совершенно другие вопросы, проверяя реакции, нащупывая слабые места, собирая информацию.

«Какая сейчас самая большая техническая проблема в проекте „Chronos“?» — спрашивал я у Донмёна в одной из развилок.

«Насколько сильно технические решения зависят от мнения… хм, скажем, руководства или конкретных лидеров?» — уточнял я у Чхольмина в другой.

«Есть ли в архитектуре какие-то унаследованные части, которые все боятся трогать?»

«Часто ли приходится адаптироваться к изменению требований?»

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

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

Интервьюеры оказались именно такими, как я и ожидал, — крепкими профессионалами. Было видно, что они ищут не просто исполнителя, а человека, способного усилить их команду. Они не стали гонять меня по абстрактным алгоритмическим задачкам, которые так любят на Западе. Вместо этого разговор сразу пошёл о практических вещах.

Начали с основ — буквально несколько вопросов по базовым концепциям Java, по работе с базами данных, по сетевым протоколам. Просто чтобы убедиться, что перед ними не случайный человек. В основном я отвечал лаконично, идеально попадая в их ожидания, — Зазеркалье подсказывало, насколько следует углубляться в детали.

Затем перешли к опыту. И вот здесь я развернулся. Опираясь на ту информацию, которую я успел собрать удалённо и продолжал собирать прямо сейчас, заглядывая в недавнее прошлое этого этажа, я конструировал свой вымышленный опыт так, чтобы он идеально ложился на их текущие потребности. Я «вспоминал», как решал проблемы с отказоустойчивостью распределённой системы, очень похожей на ту, что обсуждали у них в коридоре полчаса назад. Я рассказывал о проектировании API для сложной интеграции, используя терминологию и подходы, которые явно были им близки (я видел похожие схемы на одной из досок). Я «делился опытом» работы с той самой специфической платформой для IoT-устройств [4], которую, как я уже понял, они активно использовали в проекте «Chameleon». Каждый мой ответ был не просто технически верным, он полностью соответствовал их реальности.

[4. Интернет вещей (Internet of things, IoT) — это реальные, физические устройства, подключённые к Интернету.]

Ко Донмён слушал меня с растущим интересом, кивая, иногда задавая уточняющие вопросы. Было видно, что мой «опыт» его впечатляет.

Но ещё больше впечатлён был архитектор, Им Чхольмин. Поначалу он слушал немного отстранённо, но по мере того, как я отвечал, его взгляд становился всё более внимательным и заинтересованным. Когда основная часть вопросов об опыте была исчерпана, он взял инициативу на себя.

— Мёнджин-ши, — начал он, поправляя очки, — позвольте задать пару вопросов несколько иного характера. Скорее, на видение… Как бы вы подошли к проектированию системы кэширования для обработки, скажем, миллиона запросов в минуту к какому-нибудь API статистики? Какие уровни кэша вы бы использовали?

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

Я, разумеется, мгновенно нашёл в Зазеркалье несколько оптимальных решений, выбрал наиболее элегантное и соответствующее тому уровню технологий, который я «ощущал» в компании, и подробно изложил его.

Чхольмин кивнул, явно удовлетворённый.

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

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

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

Наконец Им Чхольмин откинулся на спинку стула и обменялся взглядами с Ко Донмёном.

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

Донмён кивнул.

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

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

Загрузка...