— Не все, разумеется, но у нас параллельно идут другие важные проекты, — объясняет ситуацию руководитель. — Я не могу вот так резко выдернуть работника из текущих задач и перебросить заниматься совершенно другим проектом. Представь аналогичную ситуацию: ты официант, который внезапно бросает работу в самый пиковый день. Согласись, что коллегам придётся очень серьёзно напрячься, чтобы равномерно распределить твою нагрузку во время проведения крупного банкета? А ты ещё и предупредил об увольнении в самый последний момент.
— Согласен, ситуация сложилась бы крайне неприятная для всех, — признаю справедливость аналогии.
— Вот у нас сейчас как раз такая ситуация, — кивает начальник. — Разница заключается лишь в том, что ты своих коллег по работе физически не видишь, поскольку работаешь удалённо из дома.
Сунь Минцзе относится к тому типу людей, у которых на лице отчётливо написано, когда они говорят чистую правду, а когда сознательно лгут. И его нынешние слова про загруженность остальных работников являются абсолютной правдой. Более того, в его глазах отчётливо читается плохо скрываемая паника от осознания того, что сейчас собеседник может категорически отказаться от помощи компании. А потеря ключевого сотрудника в такой момент — это не то, что небольшая компания сможет легко пережить.
Им придётся выдёргивать кого-то из штаба, занимающегося другим проектом, сдвигая тем самым сроки, потому что нанять кого-то из вне просто не вариант. Компания не захочет передавать исходники приложения в руки нанятого всего на пару дней работника из-за возможного слива данных. И не только. Доверить код кому-то ещё — означает пойти на риск, вдруг ещё один программист обнаружит слежку?
У компании заключён договор с целой сетью ресторанов о бесперебойном доступе к программе и своевременном решении любых возникающих технических проблем. Любая задержка — это потенциальная потеря денег и, что ещё хуже, деловой репутации. Конкурентов в Пекине полно, обычно здесь никто не ждёт долго, люди просто предпочитают обратиться за услугами к более проворным людям.
— Хорошо, я пойду вам навстречу в этой ситуации, — принимаю окончательное решение. — Но хочу, чтобы вы чётко обозначили точные временные рамки работы.
— Три рабочих дня по четыре-шесть часов непосредственно в офисе, — моментально отвечает начальник, явно заранее продумавший предложение. — В собственном коде ты действительно как рыба в воде. Тимлид детально обозначит перед тобой приоритетные задачи, и я абсолютно уверен, что ты быстро справишься.
— Я согласен на такие условия, — киваю. — Но с вас положительная рекомендация в мой адрес — хочу немного поднять свой социальный рейтинг.
— Без проблем, договорились.
* * *
Через два дня. Офис компании.
На протяжении последующих двух рабочих дней я добросовестно выполняю все поставленные передо мной технические задачи. Помимо различных косметических изменений в пользовательском дизайне программы, успешно внедряю в CRM-систему автоматический генератор персональных предложений, алгоритм которого написали мои коллеги. Теперь система самостоятельно создаёт и отправляет клиенту индивидуальные предложения со скидками на товары, которые он просматривал в каталоге, но по каким-то причинам не приобрёл.
По специальной просьбе тимлида также добавляю единый внутренний чат для оперативного общения команды по конкретному заказу, интегрированный непосредственно в карточку клиента. Теперь в пару простых кликов можно добавлять особые указания, напоминания или любые персональные заметки о предпочтениях клиента.
Откинувшись в удобном офисном кресле, я допиваю остывший кофе и отвожу усталый взгляд от экрана ноутбука и смотрю через открытую дверь на стеклянную стену, за которой продолжает работать остальная команда разработчиков. Сунь Минцзе выделил для меня отдельный кабинет с новеньким ноутбуком, чтобы никто не отвлекал от сосредоточенной работы. Но когда очередное рабочее задание полностью завершено, а тимлид ещё не ответил на сообщение с запросом новых задач, становится откровенно скучно.
Поглядываю на часы — до окончания рабочего дня остаётся два часа. Обычно у команды разработчиков существует общий корпоративный чат как для рабочих моментов, так и неформального общения, но за всё время моего пребывания в компании меня так и не добавили в группу. Складывается впечатление, что основная команда работает над более серьёзным и масштабным проектом, а CRM-система для ресторанов — это скорее побочная разработка для первоначального старта компании. В конце концов, все успешные IT-компании с чего-то начинают свой путь.
Мои размышления внезапно прерывает звуковое уведомление из вичата. Взяв смартфон в руки, внимательно пробегаюсь глазами по сообщению от Ян Вэймина с двумя прикреплёнными файлами:
«Нужна твоя помощь. Администрация Bybit прислала логи по моему взломанному торговому счёту, но технические подробности и анализ данных — категорически не моя сфера. У тебя есть надёжные контакты среди IT-специалистов, кто может проанализировать информацию и сказать, кто именно меня ограбил?»
Моментально оживляюсь и приступаю к перекидыванию прикреплённых файлов на рабочий ноутбук. На большом экране удобнее изучать данные.
Открыв логи, обнаруживаю, что они содержат детальную информацию о всех транзакциях на торговом счету Ян Вэймина за последние несколько недель. Тысячи строк записей о входах в систему, торговых операциях, переводах средств между кошельками. Общий объём предоставленных данных впечатляет — очевидно, администрация биржи провела серьёзное внутреннее расследование инцидента.
Большинство записей выглядят абсолютно обычно и не вызывают подозрений, но ближе к хронологическому концу начинают появляться подозрительные и нетипичные активности. Кто-то методично пытался подобрать пароль к защищённому аккаунту, эти попытки продолжались несколько дней подряд с различных IP-адресов и исключительно в ночное время.
Копирую каждый подозрительный сетевой адрес и изучаю его через специализированный сервис геолокации. Результат анализа закономерно показывает VPN-сервер, расположенный в Нидерландах — классический и широко распространённый способ эффективно скрыть реальное географическое местоположение злоумышленника.
На протяжении получаса кропотливо исследую логи, пока не добираюсь до строк с подробной информацией о браузере потенциального взломщика. Часовой пояс в системных настройках указан как «Азия/Пекин», а язык интерфейса браузера установлен на упрощённый китайский. Эти технические детали уже наводят на кое-какие предположения.
— Уже закончил? — в кабинет неожиданно заходит тимлид команды разработчиков.
— Да, — быстро сворачиваю окно с логами и демонстративно лениво потягиваюсь в кресле.
— CRM-систему протестировал под высокой нагрузкой? Всё функционирует стабильно? — интересуется он практическими деталями.
— Конечно. Никаких проблем или сбоев не выявлено. Финальную версию уже загрузил на сервер.
— Отлично, сейчас всё изучу, и ты свободен, — одобрительно кивает собеседник, перед тем, как выйти из кабинета.
Как только он уходит, я снова открываю логи.
Хакеры каким-то образом сумели обойти двухфакторную аутентификацию, оперативно сменили контактный email-адрес и вывели абсолютно все накопленные средства со счёта. Вся преступная операция заняла менее трёх минут — работа настоящих профессионалов.
Наконец мне попадается подозрительный IP-адрес, который не замаскирован виртуальными частными сетями.
