Я стояла за зеркальной панелью лифта и слышала, как мой начальник назначает дату моего увольнения, пока в руках остывал кофе для его презентации.
— Уволим её в пятницу, — сказал Грант. — Пусть сначала закончит код. Потом она нам не понадобится.
— А премию за завершение тоже можно отменить? — рассмеялся руководитель операционного отдела Маркус.
Двери лифта сомкнулись между нами, и только тогда я поняла, что перестала дышать. Восемнадцать месяцев я строила «Атлас» — платформу для распределения грузов, на которую наша чикагская компания поставила всё будущее. Я исправляла ошибки по ночам, пропустила поездку к матери на Рождество и однажды накрыла спящую за клавиатурой Прию своим кардиганом, прежде чем снова вернуться к работе.
Система была нашей. По крайней мере, я так думала.
Когда лифт снова открылся, Грант увидел меня. Его улыбка чуть дрогнула, но не исчезла.
— Большой день, Ханна. Готова нас порадовать?
Я протянула ему стакан.
— Почти.
Он не знал, что я ещё не закончила проверку безопасности. На экране платформа выглядела безупречно, но испытания показывали: если поток заказов резко возрастёт, два грузовика могут получить один и тот же маршрут. Для перевозчика это означало потерянное время, штрафы и водителей, которые часами ждали у неправильных ворот.
Я сообщала об этом трижды.
— Сделай слайды аккуратнее, — отвечал Грант. — Никому не нужны твои страшилки перед запуском.
В десять утра в календаре появилась встреча на пятницу: «Передача дел. Отдел кадров, Грант, служба безопасности». Повестки не было. В понедельник рядом с обещанной премией стояла отметка «ожидает утверждения».
Я не стала устраивать сцену. Сначала сохранила рабочие журналы, затем отправила результаты опасного испытания Гранту, в отдел соответствия и генеральному директору. К письму приложила таблицу с временем каждого сбоя и номером обращения, на которое никто не ответил.
Прия подошла ко мне после обеда. На её рукаве осталась полоска графита от карандаша.
— Ты видела приглашение на пятницу? — спросила она.
— Видела.
— Они хотят забрать проект?
Я посмотрела на мигающий красный показатель испытания.
— Они хотят забрать всё, что сможет их спасти.
Вечером дома я достала из шкафа небольшой зашифрованный накопитель. На нём лежал «РоутГласс» — испытательный тренажёр, который я начала создавать ещё до этой работы и указала в договоре как собственную разработку. Там были вымышленные маршруты и ни одной строки кода «Атласа».
Я забыла о нём, потому что работа поглотила меня.
Теперь открыла незаконченный проект и снова начала собирать его по частям.
После полуночи на рабочем телефоне всплыл ответ Гранта: «Ты не уполномочена задерживать запуск».
Ниже находился окончательный список выпуска. Опасное испытание было отмечено как пройденное. А рядом с подтверждением стояло моё имя, хотя я его не ставила. Я приблизила экран и увидела внизу ещё одну строку, которую раньше не замечала. В этот момент за моей спиной раздался звук открывающегося замка, а рука уже потянулась к папке с исходными журналами…
ЧАСТЬ 2
Ручка моей двери повернулась, и я замерла, прижав ладонь к накопителю. В квартиру вошла Прия. Она держала в руках бумажный пакет с двумя чашками чая, но смотрела не на меня, а на рабочий телефон.
— Я звонила тебе шесть раз, — сказала она. — Грант приказал всем удалить старые сообщения.
— Почему ты пришла ночью?
Прия достала из кармана сложенный лист. На нём был тот самый список выпуска, распечатанный до моего имени.
— Я нашла его в принтере отдела. Подпись появилась позже.
У меня похолодели пальцы. Я открыла журнал доступа к системе. Подтверждение опасного испытания внесли с учётной записи Гранта, но через несколько минут запись изменилась так, будто её создала я.
— Они подделали не только подпись, — прошептала я. — Они готовят виноватую заранее.
В семь утра мы приехали в офис. На стеклянных стенах уже висели плакаты с надписью о великом запуске, а в переговорной Маркус репетировал речь. Грант встретил меня у кофейного автомата.
— Сегодня ты улыбаешься, — сказал он. — Иначе отдел кадров решит, что ты саботируешь проект.
— А если система сорвётся?
Он медленно размешал сахар.
— Тогда все вспомнят, кто отвечал за проверку.
На совещании я показала таблицу с двойными маршрутами. Маркус даже не посмотрел на экран.
— Ханна, мы не будем пугать клиентов техническими подробностями.
— Это не подробность. Это авария, которая ещё не случилась только потому, что нагрузка была низкой.
Грант наклонился ко мне.
— Подпиши выпуск и получишь премию. Откажешься — мы сочтём это нарушением приказа.
Я увидела, как Прия сжала край блокнота. На его обложке был нарисован маленький жёлтый автобус — её привычка, когда она нервничала.
— Я не подпишу то, чего не проверяла, — сказала я.
Тогда Грант улыбнулся.
— Уже подписала.
На экране появился скан документа с моим именем. Я почувствовала, как внутри поднимается беспомощная ярость, но заставила себя говорить спокойно.
— Кто загрузил файл?
— Это выяснит отдел безопасности после запуска.
В полдень началось испытание. Первые показатели были зелёными. Потом заказы хлынули одновременно из трёх складов. На карте вспыхнули одинаковые номера машин. Один маршрут исчез, второй повторился, а диспетчеры начали звонить в нашу комнату.
— Остановите распределение! — крикнула я.
— Нельзя, — ответил Маркус. — Клиенты уже подключены.
Грант схватил меня за локоть.
— Исправляй. Ты же у нас главный специалист.
Я посмотрела на экран и поняла: сбой был не случайным. Кто-то заранее отключил защитный предел, который я добавила ночью. И сделал это из закрытого раздела, доступного только двум руководителям.
В этот момент в переговорную вошла генеральная директор Елена Воронцова. В руке она держала тонкую папку.
— Грант, — сказала она, — почему на каждой странице этого отчёта стоит дата, когда Ханна ещё не работала в компании?
Грант побледнел, но ответил слишком быстро:
— Потому что она готовила материалы заранее.
Елена открыла папку и повернула к нам первую страницу. Под таблицей стояла чужая подпись, а внизу была приписка, которую я никогда не видела: «Исходные данные получены от Норы Белл».
Прия уронила карандаш. Нора Белл была первой тестировщицей «Атласа». Три месяца назад она уволилась и исчезла из всех рабочих списков. Елена подняла глаза на Гранта.
— Где она сейчас?
Грант отступил к столу.
— Не знаю.
И тогда из коридора донёсся хриплый голос:
— Я знаю. Я сама здесь.
Дверь открылась, и Нора шагнула внутрь, сжимая в руке конверт. Но прежде чем она успела его раскрыть, на телефоне Елены зазвонил неизвестный номер…
ЧАСТЬ 3
Елена ответила, включив громкую связь.
— Говорите.
В трубке раздался голос Норы, хотя сама Нора стояла перед нами.
— Если вы нашли меня, значит, Грант уже понял, что копию я отдала не ему.
Грант резко повернулся к женщине у двери.
— Нора, ты подписала соглашение о неразглашении.
— А ты подписал приказ, по которому я должна была отвечать за сбой, которого ещё не было, — сказала она. — Я сохранила оба документа.
Она положила конверт на стол. Бумага внутри была жёлтой от времени, а на каждом листе стояли дата, номер версии и подпись Гранта. В первом документе он требовал убрать защитный предел, чтобы запуск прошёл быстрее. Во втором назначал Нору ответственной за проверку. В третьем, составленном после её увольнения, меня указывали как автора всех решений.
— Это подделка, — выдохнул Маркус.
— Нет, — ответила Нора. — Оригиналы хранились у нотариуса. Я забрала их утром.
Елена взяла верхний лист.
— Здесь написано, что ты знал о двойных маршрутах за два месяца до сегодняшнего запуска.
Грант ударил ладонью по столу.
— Я знал о риске, но она обещала исправить его!
Он ткнул пальцем в меня.
— Ханна сама сказала, что всё готово.
В комнате стало так тихо, что я услышала потрескивание перегретого блока питания.
— Назови дату, — сказала я.
— Что?
— Дату, когда я это сказала.
Грант открыл рот, но не ответил. Прия достала свой блокнот.
— В тот день Ханна была со мной в серверной. Мы отправляли вам письмо о сбое. Время — двадцать два сорок семь.
— Ты тоже участвовала? — бросил Грант.
— Я была свидетелем, — сказала Прия. — И сохранила копию письма.
Елена перелистнула документы. На последней странице стояла не моя подпись, а подпись Маркуса.
— Вы оба согласовали увольнение Ханны до завершения проекта, — сказала она. — А премию собирались разделить после запуска.
Маркус попятился.
— Грант сказал, что генеральная директор всё одобрила.
— Я ничего не одобряла, — ответила Елена.
Грант посмотрел на него с такой яростью, что Маркус сразу понял: его использовали как свидетеля против самого себя.
Я открыла ноутбук и подключила «РоутГласс». Вымышленный тренажёр воспроизвёл поток заказов. Красные линии снова сошлись в одну точку, но затем защитный предел остановил распределение.
— Вот как должна была работать система, — сказала я. — Я не разрушала «Атлас». Я пыталась не дать ему разрушить клиентов.
Нора сжала край конверта.
— Грант знал, что если запуск сорвётся после её увольнения, компания предъявит ей ущерб. А если запуск удастся, он получит премию и должность Маркуса.
— Замолчи, — сказал Грант.
— Ты сам сказал мне это в кабинете, — ответила Нора. — Я тогда ещё работала.
Елена вызвала отдел соответствия и распорядилась немедленно остановить проект. Она также объявила, что все решения Гранта и Маркуса будут проверены независимой комиссией. Но едва мы вышли из переговорной, ей позвонили из финансового отдела.
Она слушала молча, затем посмотрела на меня.
— Ханна, в ваших документах есть проблема. Доступ к «РоутГлассу» зарегистрирован на компанию, хотя вы создали его до найма.
У меня перехватило дыхание. Грант, которого охранник уже провожал к лифту, услышал это и вдруг усмехнулся.
— Значит, она всё равно отдала нам собственную разработку.
Елена посмотрела на последний лист соглашения, и её лицо изменилось.
— Нет, — сказала она. — Вот только этот пункт подписан не Ханной. И тот, кто его подделал, оставил дату, когда компания ещё не существовала в нынешнем виде…
Грант увидел последнюю страницу договора — и отступил…
Я думала, что главное доказательство уже найдено. Но одна старая запись изменила не только судьбу проекта, но и моё решение.
«Каждую подпись придётся заслужить».
И впервые его уверенность рассыпалась.
👇 Финал этой истории уже открыт













