Анастасия Градцева Бывшие. Опять ты! · Глава 25.

Глава 25.

Два месяца спустя

— Ох блин… — Рома откидывается на спинку кресла, отъезжает от рабочего стола и с хрустом потягивается. — Сегодня вроде вторник, а я так задолбался, как будто пятница.

— Можно подумать, ты один, — хмыкает Леша. — Мы тут все с горящими жопами еще с прошлой недели.

— А что вы хотели, мальчики? У нас релиз завтра, — говорю я, не отрываясь от монитора.

И мгновенно прихожу в ужас от своих же слов.

Завтра, боже мой. Уже завтра!

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

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

Два месяца напряженной работы, и вот завтра оно должно запуститься.

По-настоящему, по-взрослому — с реальными данными наших партнеров.

Сказать, что я нервничаю — просто ничего не сказать.

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

А нас забрал себе Григорьев.

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

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

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

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

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

— Все, подтверждай готовность команды, — бросил он.

— Подождите, а если…

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

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

Мы должны справиться.

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

Открываю внутреннюю админку.

Так. Тут что-то не так.

— Все, гоу ту хоум? — весело спрашивает Андрей у меня за спиной. — Или по пиву? Что скажете, народ?

— Я бы выпил, — оживляется Рома.

— Да ну вас, я хочу еще на матч успеть, — бухтит Леша. — Сегодня Арсенал играет с…

— Блядь! — выдыхаю я. — Черт, черт, черт!

— Что такое, Кать? Таракана увидела? — ржет Андрей, но мне настолько глубоко плевать на его тупые шутки, что я даже не оборачиваюсь.

— Номер снова доступен, — шепчу я.

— Что? — Возле меня вырастает Рома, смотрит через мое плечо в экран. — В смысле?

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

Моя спина моментально становится мокрой.

Это не просто мелкий баг, это огромная, гигантская ошибка.

Убытки в миллионы рублей.

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

— Вот, смотри. — Я ожесточенно щелкаю мышкой. — Система в этом редком сценарии считает забронированный номер свободным.

— Мы все проверяли, на тестах чисто было, — подает голос Рома.

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

У парней вытягиваются лица. До всех медленно доходит, в какой жопе мы оказались.

Андрей тоже подскакивает к моему столу.

— И что теперь делать? — нервно выкрикивает он.

— Что делать, что делать, — раздражается Леша. — Муравью хер приделать. Ясно понятно что: не релизиться завтра.

— Мы не можем, там уже все подвязано, — тихо говорю я.

— А что ты предлагаешь? — спрашивает он. — Выкатывать с такой ошибкой?

— Нет. — Я кусаю губы. — Конечно, нет.

Я пишу Григорьеву в тимс, но там он неактивен, и сообщение висит непрочитанным. Звоню ему туда — ноль эффекта.

— У тебя мобильный его есть? — спрашивает Леша.

— Есть. Сейчас.

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

— Ну что?

— Ничего. Гудки.

После третьей попытки я сбрасываю звонок и, помедлив, звоню Сафонову.

Да, он уже формально не наш менеджер, но вдруг поможет найти Григорьева? Или кого-то еще?

Но Сафонов тоже не берет трубку.

Я кладу телефон на стол и смотрю на парней.

— Никто не отвечает, — говорю я, хотя это и так ясно.

— А ты сама не можешь все стопнуть? — визгливо спрашивает Андрей. — Ты же тимлид.

— Технически могу, — говорю я. — Но…

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

— Ага, можно сразу считать, что я уволена, — невесело усмехаюсь я. — Насчет вас не знаю, а для меня дверь в айти закроется тут же. После такого меня даже в тестирование не возьмут.

Пацаны молчат.

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

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

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

— Что? — выкрикивает Андрей. — Что мы должны делать? Ты сама нормально не проверила, подписалась на релиз, а мы теперь крайние? Так получается?

— Не ори, — обрывает его Леша. — Что как баба-то?

— Не надо оскорблять баб, — возражаю я. — Мы себя так не ведем.

— Сорян, Кать, я так, выражение просто такое.

— Да ладно, я не обижаюсь. Ну что? — Я оглядываю своих ребят. — За работу?

— Я тут при чем? — не успокаивается Андрей. — Моя часть кода вообще не связана с бронью.

— Да плевать, кто с чем связан, Андрей! — не выдерживаю я. — Мы, блин, команда или как?

Меня перебивает трель моего телефона. Это Сафонов.

— Ты звонила? — спрашивает он.

— Да, звонила, тут просто…

Я коротко обрисовываю ему ситуацию. Сафонов матерится, а потом строго добавляет:

— Скоро буду. Я уже выехал с парковки, но сейчас вернусь обратно в офис.

— Саш, это не обязательно, — слабо протестую я. — Ты…

— Скоро. Буду, — отрезает он и кладет трубку.

Я медленно опускаю телефон и ловлю взгляды своих парней.

— Саша? — ревниво спрашивает Андрей.

— Ты? — с ухмылкой уточняет Рома.

Я тяжело вздыхаю.

А говорят, что мужики не сплетники. Да они хуже базарных баб, уж я-то знаю. Я с ними в одном кабинете работаю!

— Сафонов — мой бывший муж, — сухо поясняю я. — И он сейчас придет к нам. Еще вопросы не по делу будут?

— Вот пусть твой бывший муж и спасает твою жопу, — выплевывает Андрей. — А я не нанимался!

У Ромки с Лешей вытягиваются лица.

— Андрюх, ты чего? — хмурится Леша. — Это наш общий проект.

— А мне насрать. Ясно?

— Нам же всем завтра кабздец будет, — растерянно говорит Рома.

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

Это ведь не по-пацански.

Но Андрею сейчас похрен. В нем говорит обиженное мужское эго.

— Моя часть работы сделана хорошо, — рявкает он, — к ней претензий не будет, а за весь проект я отвечать не собираюсь. Мне за это не платят. Ей, — Андрей кивает на меня, — платят. Вот пусть она со своим ебарем и страдает. Я тут при чем?

— Ты охренел такое нести?! — Леша тяжело разворачивается в сторону Андрея, но я удерживаю его за рукав.

Не надо. Еще драк нам тут не хватало.

К тому же, с этим дурачком я могу и сама справиться.

Я откидываюсь на спинку кресла, смотрю на Андрея и улыбаюсь.

Он не понимает. Хмурится.

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

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

Андрей сначала весь краснеет, как помидор, а потом сжимает руки в кулаки.

— Это я с тобой спал из жалости! — почти визжит он. — Я бог секса, а ты…

И тут парни начинают хохотать. Да что там хохотать — прямо ржать! Громко и бесстыдно.

Под этот безжалостный смех Андрей хватает куртку и выбегает из офиса. Что-то мне подсказывает, что мы его тут больше не увидим.

— Вот еблан, — крутит головой Леша, как следует отсмеявшись. — А казался нормальным.

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

— Что, Сафонов тоже мудилой оказался? — беспардонно интересуется Ромка.

Все-таки он у нас главная сплетница.

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

Повисает неловкое молчание.

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

— Да. Так. — Я откашливаюсь. — Нам надо понять, где именно ломается цепочка: в создании брони, в обновлении доступности, в синхронизации или…

Дверь резко распахивается.

На мгновение я пугаюсь, что вернулся Андрей, но нет, это Сафонов.

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

Но не доехал и теперь он тут.

И боже мой, я так рада его видеть, что с трудом удерживаюсь, чтобы не броситься ему на шею.

— Привет, — говорит Саша и находит меня взглядом. — Видел тут крысу.

— Где? На парковке?

— У лифта встретил.

— Настоящую живую крысу? — растерянно спрашиваю я.

— Ага. Вашу. Которая бежала с тонущего корабля, — хмыкает Саша, и только тут до меня доходит, что речь об Андрее.

— Он не наш! — подает голос Ромка. — Нам его подкинули.

— И чего это наш корабль тонущий? — вмешивается Леша. — У нас просто небольшая поломка. И теперь, когда с нами Александр…

— Саша, — поправляет его Сафонов и сбрасывает с плеч пальто. Швыряет его не глядя на ближайший свободный стул. — Я сейчас тут не как менеджер. Катя, командуй.

Я растерянно молчу.

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

Это же типичный Сафонов.

Ему всегда нужно быть главным. Особенно рядом со мной.

— Ты можешь руководить процессом, — неловко говорю я. — Я не против. Я понимаю, в какой мы жопе. И… спасибо тебе. Правда спасибо.

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

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

Мне одной кажется, что это звучит ужасно неприлично?

— Я… Да…

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

— Да, — глупо повторяю я. — Конечно. Садись за его ноут.

— У меня свой есть. Дашь доступ?

— Дам, — говорю я и опять краснею.

Мои парни едва сдерживают ухмылки. Совсем страх потеряли!

Им тут что, реалити-шоу?

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

— А я? — спрашивает Саша.

— Ты. — Мне приходится сделать небольшой вдох, чтобы успокоиться. Я правда нервничаю. Кто он и кто я? У него опыта работы в три раза больше моего. — Ты можешь взять availability? Похоже, бронь создается, а пересчет доступности не видит ее на новых тарифах. Посмотри последний фикс и маппинг семейного размещения с допместом.

Выговариваю это все и внутренне сжимаюсь.

А вдруг он скажет, что это чушь? Усмехнется и закатит глаза, ведь что я могу понимать в разработке?

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

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

— Спасибо за четкую задачу, постараюсь разобраться, — говорит Саша и достает из сумки ноутбук. — Где тут у вас кофе берут? Без него я эту ночь точно не вывезу.

— В коридоре, — машинально отвечаю я и зачем-то добавляю. — Я принесу.

— Сиди. Я сам. Тебе латте, как обычно?

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

Когда Саша исчезает в коридоре, меня вдруг окликает Ромка.

— Кать!

— Что?

— Лимон съешь, а то у тебя лицо слишком довольное.

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

Это ужасно глупо, но, кажется, я сейчас счастлива.

И у меня уже даже нет сил себя за это ругать.