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