Глава 21

Возвращаюсь в комнату и с головой погружаюсь в поиски исходного кода программы. Перерываю весь интернет, все закоулки даркнета. И, к своему удивлению, таки нахожу заветные файлы! Похоже, утечка произошла стараниями одного из незадачливых интеграторов.

Но тут же возникает другая проблема — а на чём, собственно, кодить? Нет у меня с собой никакого компа. Конечно, можно смотаться в магазин, приглядеть что-нибудь. Но это сколько времени уйдет — выбрать, купить, настроить. Так и выходной пройдёт.

Взгляд падает на чехол от ноутбука, небрежно торчащий из сумки Ли Миньюэ. Недолго думая, строчу ей сообщение в WeChat, и вскоре получаю добро на использование девайса.

Годится. Подключаюсь к вайфаю общаги, скачиваю исходники CRM-ки, открываю. Передо мной разворачивается полотно из сотен строк кода. Посмотрим.

Работу прерывает звонок телефона, на экран номер Ли Джинг.

— Лян Вэй, твое присутствие на сегодняшнем показе критически необходимо, — голос стилиста звучит нервно и суетливо. — Только скажи сразу — сможешь или искать кого-нибудь другого?

— Смогу.

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

— Замечательно! — облегченно выдыхает Ли Джинг. — Жду тебя в шесть вечера. Не опаздывай!

Бросаю взгляд на часы, в запасе десять часов. Вновь погружаюсь в код.

— Вот ты где… — бормочу, находя нужный фрагмент, отвечающий за обработку клиентских данных.

Внимательно изучаю функцию. Неэффективная работа с базой, куча повторяющихся запросов, жуткие костыли в самом коде. Тут работы на добрый месяц, не меньше.

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

Тянусь за кофе и решаю начать с малого — с улучшения интерфейса.


Пара часов пролетает незаметно. Удалось изменить внешний вид приложения, получается даже сделать его более интуитивно понятным. Упростил главную панель управления: вместо большого количества мелких кнопок разместил несколько крупных, отвечающих за ключевые функции.

Не без внимания остались формы для ввода данных — настроено автозаполнение, чтоб ускорить процесс.

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

Тестируя обновленную CRM-ку, замечаю странную штуку. Каждые несколько минут система втихаря сливает какие-то данные на левые сервера, не имеющие к функционалу никакого отношения. Причем инфа чувствительная: списки клиентов, время их брони, финансовые показатели.

Нехило. Голословно обвинять кого-то рано, но интересные мысли уже возникли. Надо глубже покопаться. Даже интересно, сколько ещё сюрпризов обнаружу.

Раздаётся стук в дверь. Открываю, чтоб столкнуться лицом к лицу с Ли Миньюэ и администратором.

— Лян Вэй, бегом за мной! — командует Чэнь.

— Куда? Зачем?

— Ты же хотел навести неформальные мосты? Вот для неформала сейчас самое время.

— Ты про управляющего? — быстро соображаю. — Ты что договорилась? Так быстро?

Она кивает.

— Спасибо большое.

Перевожу взгляд на ноут. Кроме изменённого интерфейса, мне и продемонстрировать ему пока что нечего. Хотя очень нужно.

— Можно, возьму для презентации? — обращаюсь к Ли Миньюэ, кивая на лэптоп.

— Бери, — пожимает плечами она.

— Господин Минь наведывается от силы раз в неделю, — уже в лифте поясняет Айлинь. — Лучшего момента, чем сегодня, боюсь, долго не будет — он редко бывает в хорошем настроении. Считай, тебе повезло: бухгалтерия такое пропихнула, у меня волосы дыбом встали. Иди рассказывай.

С ноутом подмышкой захожу в ресторан. Айлинь тычет пальцем в угол зала, где за столиком восседает мужик в пиджаке.

— Здравствуйте, господин Минь. Вам про меня рассказывала Чэнь Айлинь, я с предложением касательного улучшения вашего CRM.

Не отрываясь от бумаг, управляющий молча кивает и жестом предлагает присесть:

— Цель беседы?

— Небольшая самопрезентация, — признаюсь честно. — Потом — вопрос, возможно, переходящий в предложение.

Пристраиваю ноут на краю стола, разворачиваю экраном:

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

Минь Бо смотрит на экран, временами кивая:

— Ещё?

— Есть нюанс — шифровка, я бы над ней хорошо поработал. Прежний кодер не уделил особого внимания безопасности данных. Чревато.

— Соглашусь, внешняя оболочка выглядит лучше оригинала. В чём суть предложения?

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

— Это не предложение, а прелюдия. К чему?

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

— Допустим. Ты же понимаешь, что сейчас должен меня чем-то заинтересовать? Чем-то более существенным, чем то, что продемонстрировал? Да, приятно, когда твои сотрудники умны и неравнодушны, но ты сейчас отнимаешь моё время, а я пока не вижу, зачем это мне, — он по-свойски перегибается через стол. — Говоря цинично, удобство сотрудников меня волнует не в первой строке приоритетов.

— Позвольте взглянуть на договор с разработчиком. Он же не секрет?

— Что ты там рассчитываешь обнаружить?

— Не хотел бы заранее.

— Я здесь ещё четверть часа, попроси администратора. — Собеседник явно утрачивает интерес к разговору, впрочем, жестом просит Айлинь заняться мной.

* * *

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

— Есть вопрос, переходящий в предложение. Я могу сделать то же самое, что прописано в договоре в целях и задачах, но в три с половиной раза дешевле.

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

— Дело не только в деньгах, но и в качестве. Сейчас ваша CRM-ка имеет целое множество дыр, которые разработчик не особо спешит исправить.

Достаю из кармана исписанный лист.

— Вот примерный список уязвимостей, вот риски. Не моё дело, но…

— Риски? Ты о чем?

— Хотя бы об этом, — тычу пальцем в одну из строчек. — Личные данные клиентов утекают. Куда и зачем — пока не ясно, но вашей компании оно и неинтересно. Если это нормально — просто скажите, не буду лезть не в своё дело.

Минь Бо надолго замолкает. По лицу вижу — задумался всерьез.

Наконец кивает:

— Это неформально обозначалось на старте и тогда мы были не против. Тебе кто-то помогал советом?

— Нет. Просто добросовестно поколупался сам. Так вы знали об этом?

— Скажем, раньше у нас было меньше возражений, без подробностей… Ты удачно попал, — менеджер поднимает глаза. — Не буду в деталях, это был совместный пилотный проект. Возможно, сейчас время чуть разойтись краями.

— Внимательно слежу за ходом вашей мысли.

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

Интересно. Представить чужую и более качественную работу как нечто, нужное самому работнику — это надо уметь.

Впрочем, наверное, в бизнесе другие и не выживают.

— Давай так, в течении месяца программа будет обслуживаться прежним разработчиком и тобой. Параллельно. Я установлю на свой компьютер две версии, буду сравнивать. М-м-м?

— Согласен, — принимаю предложение.

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

— Скорее, не хотят. Там надо рефакторить на корню, таким обычно никто не любит заниматься.

— Ну, тебе видней, — пожимает плечами босс. — Я в этом ничего не смыслю. Дерзай, кредит доверия выдан.


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

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

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

Судя по тому, что я вижу перед собой, именно этот акцент должен быть моей фишкой и конкурентным преимуществом.

* * *

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

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

Если мне не изменяет память, синяя коробочка стояла не здесь. Я специально расставлял в идеальном порядке — удобно для работы.

Странно. Кроме меня украшения никто не трогает…

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

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

Чёрт. Как такое вообще возможно? Я же проверял, даже десяти минут не прошло. И до показа всего ничего, надо срочно что-то решать.

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

— Внимание, одну секунду! — сначала громко объявляю по-китайски, затем повторяю по-английски. — Кто-то взял золотую цепочку вот отсюда, — поднимаю вверх коробок. — Это сделано явно не для того, чтобы помочь мне с работой.

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

Только рыжеволосая Кэрол как ни в чём не бывало сидит на стуле у зеркала и вроде как ожидает развития событий.

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

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

Кэрол с абсолютно невыразительным лицом ставит свой неизменный бокал на столик, поднимается с места и цокает шпильками, приближаясь ко мне:

— Семь минут, говоришь? Те, кто сейчас здесь, всё время стояли в очереди на показ, — она указывает на выход на подиум. — Ещё парочка сидела с визажистами, я своими глазами видела. Это и это. За последние именно семь минут сюда входили трое, учитывая персонал. Эта пришла в стрингах, в них же и ушла, не думаю, что спрятала в задницу, — рыжая с серьёзным видом тычет пальцем в одной из девиц.

Одна из моделей переводит на китайский, чтоб понимали остальные.

— Другие две? — уточняю, стараясь не отвлекаться на нарастающее перешёптывание.

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

Все взгляды в комнате скрещиваются на девушке.

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

— Она взяла, — американка равнодушно указывает на блондинку.

— Вы будете верить этой алкоголичке⁈ — не выдерживает европейка. — Она постоянно под мухой! Что можно разглядеть в таком состоянии⁈ Эй ты!.. — обвиняемая с лицом, не предвещающим ничего доброго, решительно направляется сюда.

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

На пол летят какие-то причиндалы, латиноамериканка с интересом смотрит на водопад из предметов.

— Эй, ты что творишь⁈ А ну верни, тварь! Не имеешь права! — девушка, на которую указала Кэрол, пытается выхватить аксессуар, но не преуспевает.

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

Кэрол, подошедшая ко мне вплотную, без затей опирается локтем на плечо.

Сервисный персонал нервно переглядывается и хватается за головы — до показа считанные минуты, а тут такой скандал!

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

Нетонкое, но ажурное плетение, россыпь мелких бриллиантов (так называемая крошка по одному миллиметру) — пропажа нашлась

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

Голова европейки дёргается, сама она отлетает на шаг.

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


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


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

— Вэй… Лянь…короче. Планы на вечер какие?

— Ничего конкретного, а что?

— Мы по барам, хочешь с нами? — предлагает американка. — Приглашаю лично, от своего имени.

— С кем? — уточняю. — Кто ещё будет?

— Я, Viva la Revolution и Бай Лу, — перечисляет опять нетрезвая к концу показа рыжая. — Может, ещё кого-нибудь захватим. Но это не точно. Хочешь?

— Конечно. — Было бы глупо отказаться. — Только не злоупотребляй, а то наш босс не одобрит. — Последнее вырывается на автомате.

Хотя-я, если человек любит алкоголь, ещё не одна мораль не помогла ему разлюбить. Особенно от такого как я.

— Плевать, что она там одобрит, а что нет, — равнодушно отмахивается Кэрол, ловко выскакивая из узкой юбки и оставаясь в, к-хм, ну пусть будет белье, которое особо ничего не прикрывает. — Мы тоже имеем право на отдых! Да, знаю, что я — алкоголик, — говорит она другим тоном и тихо, пока переодевается. — Но скоро возьмусь за проблему и быстро исправлюсь.

— Как?

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

* * *

В общагу возвращаясь только к двум ночи. Дверь стараюсь открывать тихо, чтобы не разбудить Ли Миньюэ.

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

Впадая в неожиданный раздрай, иду к ней, при этом замечаю на краю кровати чужой телефон — лежит экраном вверх. На дисплее какие-то красные рожи, все диалоги на корейском и я ничего не понимаю.

— Что случилось?

Ли Миньюэ разворачивается, хватает меня за плечи и сопит в темя, поскольку ростом тело предшественника не вышло, в отличие от неё:

— Проблемы в Корее.

— Какие? Если секрет — не говори, пойму.

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

— Что сейчас?

Она переводит взгляд на телефон:

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

Загрузка...