Глава 12 Полет «Феникса»

12 сентября, пятница

19:30, пятница, прошло два часа после запланированного запуска «Феникса». И все не очень хорошо. Запах пиццы ассоциируется у меня с безысходностью похоронного марша.

Всю команду IT-сопровождения собрали для подготовки к запуску уже в 16:00. Но нам просто нечего было делать, потому что мы ничего не получили от команды Криса, в последнюю минуту они все еще вносили какие-то изменения.

Это не очень хороший знак – вроде как быстренько приделывать детали к шаттлу за час до запуска.

В 16:30 Уильям ворвался к переговорную «Феникса», иссиня-бледный из-за того, что никто не может получить код «Феникса», чтобы запустить его в тестовом режиме. Хуже того, те части «Феникса», которые были запущены, провалили тесты.

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

Моя команда тоже, конечно, не просто сидела рядом и била баклуши. Напротив, мы работали с командой Уильяма, проверяя коды «Феникса» в тестовой среде. Потому что если все это не заработает в тестовом режиме, нам нужно будет молиться, чтобы запустить проект в реальный мир.

Мой взгляд перемещается с часов на стол. Брент и трое других инженеров совещаются с группой контроля качества. Они работали тут с 16:00 и уже выглядят измученными. У многих на ноутбуках открыты поисковики Google, другие систематически возятся с настройками серверов, операционных систем, баз данных и приложения «Феникс», пытаясь выяснить, как все собрать вместе, что, по словам разработчиков, было возможно.

Один из разработчиков пару минут назад вошел и сказал: «Слушайте, на моем ноутбуке все работает. Может, посмотрите?»

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

В другой части комнаты инженер громко разговаривает с кем-то по телефону: «Да, мы скопировали файлы, которые ты дал… Да, это версия 1.0.13… В каком смысле неправильная версия…Что? Когда вы ее поменяли?… Копирую еще раз, попробую снова… Ладно, слушай, это не будет работать… Думаю, это сетевая проблема…Что ты имеешь в виду, нужно открыть порт фаервола? Какого черта ты не сказал нам это два часа назад?»

Он бросает трубку и стучит кулаком по столу, крича: «Идиоты!»

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

Инженер устало кивает головой и говорит: «Если честно, я просто не могу в это поверить. Я разговаривал с этим уродом по телефону двадцать минут, а ему даже в голову не пришло, что это не проблема кода. Это просто полная ЖОПА».

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

Я смотрю на часы: 19:37.

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

«Ладно, ребята, расскажите мне, что вы думаете об этой ситуации», – спрашиваю я.

Вэс первым берет слово: «Эти парни правы. Это полный кошмар. Мы все еще получаем неполные релизы от разработчиков. За последние два часа я уже дважды видел случаи, когда они забывали переслать нам какие-то необходимые файлы, без которых код просто не запускался. И, как ты сам видел, мы до сих пор не знаем, как настроить тестовую среду, чтобы «Феникс» заработал нормально».

Он снова качает головой: «Исходя из того что я видел за последние полчаса, мне кажется, что мы двигаемся только назад».

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

Я говорю Уильяму: «Я знаю, до этого мы особо вместе не работали, но мне бы действительно хотелось узнать, что ты думаешь. Как это выглядит, на твой взгляд?»

Он смотрит вниз, потихоньку вздыхая, и говорит: «Если честно, я понятия не имею. Код меняется так быстро, что мы просто не успеваем за ним. Если бы я заключал пари, то ставил бы на то, что при запуске «Феникс» взорвется. Я пару раз разговаривал с Крисом о том, чтобы остановить релиз, но они с Сарой вообще не слушали, что я говорил».

Я спрашиваю его: «Что ты имеешь в виду «не успеваем»?»

«Когда мы находим проблемы в ходе тестирования, мы отправляем отчет разработчикам, чтобы они могли поправить ошибку, – объясняет он. – Затем они присылают нам новый релиз. Проблема в том, что на то, чтобы все настроить и запустить уходит где-то полчаса, и потом еще три часа, чтобы прокрутить весь дымовой тест. За это время нам приходит еще примерно три релиза от разработчиков».

Я усмехаюсь при упоминании дымового теста, таким термином обычно пользуются разработчики схем. Распространенная фраза: «Если ты подключил плату, и она не задымилась, значит, она, наверное, будет работать».

Он качает головой и говорит: «Нам все еще приходится делать это через такой тест. Меня заботит, что у нас до сих пор нет достаточно управляемой версии – мы уже устали просто отслеживать номера версий, которые мы запускаем. Каждый раз, когда они что-то исправляют, ломается что-то новое. Поэтому они присылают нам отдельные файлы вместо полного пакета».

Он продолжает: «Все в таком хаосе, что если бы случилось чудо и «Феникс» прошел дымовой тест прямо сейчас, я практически уверен, что мы не смогли бы повторить это, потому что слишком много частей двигались туда-сюда. – Снимая очки, он говорит обреченно: – Скорее всего, нам всем придется проторчать тут всю ночь. Я думаю, что есть серьезный риск, что мы ничего не запустим и к 8 утра завтра, когда откроются магазины. И это большая проблема».

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

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

«Уже слишком поздно отменять запуск? – спрашиваю я. – Когда наступит точка невозврата?»

«Это очень хороший вопрос, – отвечает Вэс. – Мне нужно свериться с Брентом, но, думаю, прямо сейчас мы еще можем отменить запуск без последствий. Но когда мы начнем конвертировать базы данных, чтобы они могли принимать данные как с POS-систем, так и из «Феникса», мы будем связаны по рукам и ногам. Таким образом, думаю, до этого момента есть еще пара часов».

Я киваю. Я услышал то, что хотел.

«Ребята, я попробую написать Стиву, Крису и Саре, может быть, мы сможем отменить запуск. И затем я постараюсь найти Стива. Возможно, мы сможем выбить еще одну неделю. Господи, да даже еще один день уже будет победой. Какие мысли?»

Вэс, Патти и Уильям просто молча кивают головами.

Я поворачиваюсь к Патти: «Иди вместе с Уильямом, чтобы выяснить, как мы можем лучше скоординировать релизы. Доберись до разработчиков и сыграй в авиадиспетчера – убедись, чтобы все их доработки были проименованы в соответствии с версией. А затем дай Вэсу и команде понять, что они получают. Нам нужно больше наглядности и кто-то, кто заставит людей следовать процессу. Я хочу, чтобы был только один общий вход, контролируемые релизы, документация… Понимаешь?»

Она отвечает: «С удовольствием. Я пойду в переговорную «Феникса» для начала. Выбью дверь плечом, если нужно будет, и скажу: «Мы здесь, чтобы помочь вам…»

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

От кого: Билл Палмер

Кому: Стиву Мастерсу

Копия: Крис Андерсон, Вэс Дэвис, Патти МакКи, Сара Молтон, Уильям Мэйсон

Дата: 12 сентября, 19:45

Приоритет: самый высокий

Тема: СРОЧНО: Запуск «Феникса» под большой угрозой – я рекомендую отложить релиз на неделю

Стив,

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

Однако, исходя из того, что я видел, я уверен, что мы не запустим его к завтрашнему 8-часовому дедлайну. Есть ЗНАЧИТЕЛЬНЫЙ РИСК, что он затронет магазинные POS-системы.

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

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

Стив, я позвоню тебе буквально через пару минут.

С уважением,

Билл.

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

«Стив, это Билл. Я только что отправил письмо тебе, Саре и Крису. Я не могу описать, в каком мы ужасном положении. Это все обернется против нас. Даже Уильям согласен. Моя команда сейчас очень озабочена тем, что мы не сможем запустить программу к 8-часовому открытию магазинов. Это может повлиять на возможности магазинов проводить транзакции, а также вызвать большое количество сбоев на сайте.

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

Стив дышит в телефон и затем отвечает: «Звучит плохо, но на самом деле у нас нет выбора. Мы должны продолжать двигаться вперед. Маркетинг уже выкупил рекламные полосы в газетах, сообщая, что мы запускаем «Феникс». Они сверстаны, оплачены и доставлены в дома по всей стране. Все наши партнеры ждут на низком старте».

Ошарашенный, я говорю: «Стив, насколько плохо все должно быть, чтобы вы отложили релиз? Я же говорю вам, в этот раз мы столкнулись просто с безумной вероятностью рисков!»

Некоторое время он молчит. «Ладно, вот что. Если сможешь убедить Сару отложить запуск, тогда поговорим. В противном случае продолжайте».

«Вы что, издеваетесь надо мной? Она ведь и заварила всю эту кашу».

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

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

Вернувшись в переговорную «Феникса», я чувствую спертый запах – очень много людей там потеют от напряжения и страха. Сара сидит одна, печатая что-то на ноутбуке.

Я обращаюсь к ней: «Сара, мы можем поговорить?»

Она указывает на стул рядом с собой, говоря: «Конечно. Что случилось?»

Тогда я тихо говорю: «Давай поговорим в коридоре».

Молча выйдя из кабинета, я прошу ее: «Как считаешь, как выглядит запуск программы?»

Она говорит уклончиво: «Ты знаешь, как все бывает, когда мы пытаемся сделать что-то быстро? Всегда какие-то неучтенные нюансы выскакивают, когда дело доходит до технологий. Если хочешь сделать омлет, ты должен и хотеть разбить несколько яиц».

«Мне кажется, это немного хуже, чем обычный сбой. Я надеюсь, ты видела мое письмо, правильно?»

Она спокойно говорит: «Да, конечно. А ты видел мой ответ?»

Черт.

Я говорю: «Нет. Но, прежде чем ты мне расскажешь о нем, я хотел убедиться, что ты понимаешь последствия и риски для бизнеса», – и затем я повторяю практически слово в слово то, что говорил Стиву минуту назад.

Неудивительно, что на Сару это не производит никакого впечатления. Когда я заканчиваю говорить, она произносит: «Мы все рвали задницы, чтобы продвинуть «Феникс» так далеко. Маркетинг готов, разработчики готовы. Все готовы, кроме тебя. Я говорила тебе раньше, но ты, очевидно, меня не слушал: лучшее враг хорошего. Нам нужно продолжать двигаться вперед».

Пораженный этой колоссальной тратой времени, я просто качаю головой и говорю: «Нет, недостаток компетенции – враг хорошего. Запомни мои слова. Мы будем восстанавливаться после этого днями, если не неделями, из-за твоего тупого решения».

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

От кого: Сара Молтон

Кому: Билл Палмер, Стив Мастерс

Копия: Крис Андерсон, Вэс Дэвис, Патти МакКи, Уильям Мэйсон

Дата: 12 сентября, 20:15

Приоритет: самый высокий

Тема: Re: СРОЧНО: Запуск «Феникса» под большой угрозой – я рекомендую отложить релиз на неделю

Все готовы, кроме тебя. Маркетинг, разработчики и менеджеры проектов – все полностью вложились в проект. Теперь твоя очередь.

НАМ НУЖНО ДВИГАТЬСЯ ВПЕРЕД!

Сара

Внезапно на минуту я впадаю в панику, потому что не сказал ничего Пэйдж. Я быстро набираю ей сообщение: «Ночь становится все хуже. Остаюсь здесь еще на пару часов. Напишу тебе. Люблю тебя. Пожелай мне удачи, дорогая».

Я чувствую ладонь у себя на плече, поворачиваюсь и вижу Вэса. «Босс, у нас очень серьезная проблема».

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

«Помнишь, когда я тебе говорил, что точка невозврата наступит около девяти? Я замерил прогресс конверсии баз данных «Феникса», и он в тысячу раз медленнее, чем мы думали, он будет. Предполагалось, что все закончится за пару часов, но сейчас только десять процентов выполнено. Это значит, что все данные будут конвертированы лишь ко вторнику. Мы в полном дерьме».

Возможно, я больше устал, чем думал, но я его не совсем понимаю. Я говорю: «Почему это проблема?»

Вэс пытается еще раз: «Этот скрипт должен быть выполнен до того, как запустятся системы POS. Мы не можем его остановить или перезапустить. Кажется, что мы никак не можем заставить его проходить быстрее. Я думаю, мы можем хакнуть «Феникс», чтобы он мог работать и без него, но насчет внутримагазинных POS систем – не знаю».

Вот дерьмо.

Я обдумываю это дважды и затем спрашиваю: «Брент?»

Он только качает головой: «Он посмотрел на систему пару минут. Он считает, что кто-то запустил процесс индексирования базы данных слишком рано, что замедлило сам процесс. Сейчас мы уже ничего не можем с этим сделать без ущерба для данных. Я отправил его обратно заниматься запуском «Феникса».

«А как со всем остальным? – спрашиваю я, пытаясь завладеть полной информацией о ситуации. – Какое-нибудь улучшение показателей? Обновления инструментов баз данных?»

«Показатели все еще ужасные, – отвечает он. – Думаю, нам катастрофически недостает памяти, и это в системе еще нет пользователей. Мои ребята считают, что нам нужно будет перезапускать некоторые серверы каждые пару часов, чтобы только не дать им взорваться. Проклятые разработчики… – продолжает он. – Мы выклянчили еще пятнадцать серверов, некоторые из них новые, некоторые притащили с разных уголков компании. И теперь, хочешь верь в это, хочешь нет, у нас нет места в центре данных, чтобы расставить их. Нам приходится проделывать огромную работу, протягивая кабели и тому подобное, убирая мусор отовсюду. Патти только что позвонила – она отправила мне несколько своих людей в помощь».

Я чувствую, что у меня брови уже добрались до кромки волос на лбу, настолько я удивлен. Я чуть отступаю и начинаю смеяться. «О, господи. Наконец-то у нас есть серверы для запуска, но теперь для них не хватает места. Великолепно. У нас просто ни минуты без проблем!»

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

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

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

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

Вэс сразу же перестает улыбаться: «Полный мусор. Нашим ребятам придется вручную редактировать базы данных, чтобы исправить все ошибки, генерируемые «Фениксом». И нам придется вручную вносить дополнения. Мы все еще разбираемся, сколько такой ручной работы потребуется для «Феникса». Это будет связано просто с бесконечным количеством ошибок, основанных и на человеческом факторе».

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

«Ты отлично справляешься. Наш главный приоритет сейчас – выяснить, как не полностью конверсированная база данных повлияет на системы POS в магазинах. Найди кого-нибудь, кто хорошо в этом разбирается. Если нужно, позвони кому-нибудь из команды Сары, кто имеет дело с ежедневными операциями продаж. Дополнительные очки, если разберешься, как нам добраться до сервера и программного обеспечения POS, чтобы мы могли увидеть последствия своими глазами».

«Я понял, – говорит Вэс, кивая. – Я знаю, кто может этим заняться».

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

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

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

Мэгги Ли, старший директор по управлению розничными продажами, она работает на Сару. Она собирает в 7 утра в офисе срочное совещание, и на него приглашены около тридцати человек. Уставшим голосом она говорит: «Это была героическая ночь, и я ценю все, что вы сделали для «Феникса».

Как вы знаете, причина этого экстренного собрания – что-то пошло не так с конверсией баз данных, – продолжает она. – Это значит, что все магазинные POS-системы обвалятся, а это значит, что в магазинах не будут работать кассы. Это, в свою очередь, значит, что продавцы все будут делать вручную. – Она добавляет: – Хорошая новость в том, что сайт «Феникса» работает, – она указывает на меня и говорит. – Спасибо Биллу и всему отделу IT-сопровождения за то, что они сделали это возможным».

Раздраженный, я говорю: «Лучше бы остались в рабочем состоянии POS-системы, чем «Феникс». Настоящий ад разразится в центре управления сетью. Все наши телефоны разрываются последние полчаса, потому что люди в магазинах кричат, что их системы не отвечают. Там сейчас все похоже на «Телетон» Джерри Льюиса. Как и у всех вас, мой ящик голосовой почты уже переполнен запросами от персонала из 120 магазинов. Нам нужны будут еще люди, просто чтобы отвечать на звонки».

У кого-то на столе вибрирует телефон, выступая отличным сопровождением к моей речи. «Нам нужно очень активно действовать здесь, – говорю я Саре. – Нам нужно отправить описание случившегося во все магазины, как можно быстрее объяснить им ситуацию, а также дать подробные инструкции, как проводить платежные операции без POS-систем».

На мгновенье Сара бледнеет и говорит: «Это хорошая идея. Как насчет того, что ты составишь примерное письмо, а мы его подправим?»

Огорошенный, я отвечаю: «Что? Я не менеджер магазина. Как насчет того, что твоя команда этим займется, а мы с Крисом проверим, все ли в порядке?»

Крис кивает.

Сара оглядывает комнату. «Ладно. Мы разберемся вместе в ближайшую пару часов».

«Ты что, издеваешься? – кричу я. – Магазины на восточном побережье открываются меньше чем через час – нам нужно разобраться с проблемой прямо сейчас!»

«Я позабочусь об этом», – говорит Мэгги, поднимая руку. Она сразу же открывает ноутбук и начинает печатать.

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

К 14:00 в субботу становится очевидно, что мы оказались на гораздо более глубоком дне, чем я думал вообще возможно быть.

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

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

Клиенты, пользующиеся сайтом «Феникса», жалуются, что он либо обваливается, либо работает слишком медленно. Мы даже попали в самые обсуждаемые темы в Твиттере. Все те наши клиенты, которые очень ждали, чтобы опробовать наш новый сервис, начитавшись рекламы в газетах и на ТВ, говорят о глобальном провале IT.

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

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

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

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

Вэс спорит с кем-то на другом конце комнаты, я жду, пока он закончит, и говорю: «Давай примем тот факт, что эта заварушка не на один день. Как ты держишься?»

Он кряхтит и отвечает: «Я сумел выбить себе часок сна. Слушай, ты выглядишь ужасно. Иди домой и поспи хоть пару часов. Я попробую здесь все держать под контролем. Я позвоню тебе, если что-то понадобится».

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

Я просыпаюсь, когда слышу звонок своего мобильного. Я сползаю с кровати и поднимаю трубку. Сейчас 16:30. Звонит Вэс.

Я трясу головой, чтобы хоть немного проснуться, и отвечаю: «Что такое?»

И слышу, как он говорит: «Плохие новости. Вкратце по всему Твиттеру разнеслась информация, что сайт «Феникса» плохо охраняет данные кредитных карт. Они даже прикрепляют скриншоты. Видимо, когда ты освобождаешь свою корзину, сессия обваливается, и прямо в этом же окне отражаются все данные кредитной карты с последней удачной транзакции».

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

Вэс отвечает: «Я уже позвонил ему. Он и вся его команда едут сюда. И он в бешенстве. Похож на парня из «Криминального чтива». Он даже цитировал момент про то, что «да обрушится его месть на тех, кто попытается отравить и уничтожить братьев моих».

Я смеюсь. Мне нравится эта сцена с Джоном Траволтой и Самюэлем Л. Джексоном.

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

Уже выехав на шоссе, я звоню Пэйдж. Она отвечает сразу же: «Дорогой, где ты был? Я на работе, дети с мамой».

Я говорю: «Если честно, я выбрался домой только на часик. Только я лег в постель, позвонил Вэс. Видимо, наше приложение «Феникс» стало показывать всему миру номера кредитных карточек. Это просто ужасная проблема безопасности, поэтому я уже мчусь обратно на работу».

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

«Как и я, дорогая…» – говорю я.