Глава 2: Баг, который был уничтожен мгновенно
Кэндзи Ямамото откинулся на спинку своего эргономичного кресла, рассеянно крутя спиннер, выигранный на прошлогоднем Хакатоне. На экране мягко светился идеально оформленный pull request с названием: “Refactor Legacy Payment Module”.
— Потрясающе, — пробормотал ошеломлённый джуниор, заглядывая Кэндзи через плечо. — Ты тронул Payment Module? Это же самая старая и страшная часть всего кода!
— Да ну? — Кэндзи сдержал зевок. — Вроде ничего сложного.
Через пару секунд бодро пропиликал Slack:
PR #404 approved by Sarah Nakamoto. No changes requested. Merged.
— Опять?! — простонал кто-то с другого конца опенспейса. Это был Карлос, тот самый Ниндзя Отладки, чей стол был завален горами пустых кружек и банок из-под энергетиков. — Кэндзи, серьёзно. Ты что, подкупаешь ревьюеров?
— Да нет, — пожал плечами Кэндзи, — просто повезло, наверное.
Карлос закатил глаза с профессиональной драматичностью: — Когда-нибудь твоя удача закончится, Ямамото. Запомни мои слова.
С дальнего угла офиса за происходящим внимательно наблюдал Кай Накамура, Квантовый Андроид. Его синтетические глаза мягко светились голубым, пока он логировал каждое движение Кэндзи.
— Кэндзи-сенсей, — торжественно обратился Кай, подходя с глубоким поклоном. — Прошу, просветите меня. Как вы решили проблему с concurrency в Legacy Payment Module? Согласно историческим данным, этот модуль падал в продакшене ровно 73 раза только за этот год.
Кэндзи слегка наклонил голову, удивлённо: — Проблема с concurrency? А, ну да. Я просто убрал лишние mutex-ы и упростил threading model. Ничего особенного.
— Поразительно, — прошептал Кай, его квантовые процессоры тихо загудели, обновляя внутреннюю базу знаний. — Но команда не признаёт ваш непревзойдённый талант. Почему так, Кэндзи-сенсей?
— Может, потому что я не использую модные buzzwords, — предположил Кэндзи, снова крутя спиннер. — Или потому что меня нет на LinkedIn.
Вдруг офис сотряс оглушительный сигнал тревоги — такой включают только при настоящих продакшен-катастрофах. Красные лампы замигали зловеще, разработчики в панике вскочили со своих мест.
— Опять база! — взвизгнула Эмили, местный DBA, волосы её стояли дыбом от статики и тревоги. — Репликация упала, данные битые повсюду!
— Только не снова! — заорал Карлос, едва не поперхнувшись энергетиком. — Быстро, зовите senior architects!
— Они все на конференции “Future of Enterprise Synergy”! — отрезала Эмили.
Кай спокойно повернулся к Кэндзи, его глаза засветились ярче: — Кэндзи-сенсей, это ситуация, которую можете решить только вы.
Но прежде чем Кэндзи успел ответить, Карлос громко фыркнул: — Он? Кэндзи хорош в тривиальном рефакторинге, но это серьёзно. Пусть взрослые разберутся, Ямамото.
Кэндзи пожал плечами, не обидевшись: — Окей, если что — зовите.
Два часа спустя в офисе царил полный хаос. Вайтборды исписаны отчаянными схемами, которые тут же стирали и рисовали заново. Разработчики лихорадочно листали Stack Overflow, пот заливает лбы.
— Мы обречены, — простонал Карлос. — Это кошмар.
— Мастер Карлос, — терпеливо заметил Кай, — возможно, сейчас самое время обратиться за помощью к Кэндзи-сенсею?
— Ладно, ладно, — сдался Карлос с сарказмом, размахивая руками. — Давай, Кэндзи. Удиви нас своей магической удачей.
Кэндзи спокойно подошёл к терминалу, едва касаясь клавиатуры. Коротко напечатал, нажал enter.
— Готово, — объявил он, отступая назад.
Сирены мгновенно смолкли. На мониторах посыпались зелёные галочки. В офисе повисла тишина.
— Что… ты сделал? — ахнула Эмили.
— Скрипт репликации рекурсивно перезаписывал свой лог-файл, — буднично пояснил Кэндзи. — Я просто поменял путь для логирования.
Карлос уставился в пустоту, челюсть отвисла: — Но… но это же…
— Невозможно? — подсказал Кай.
— Нет, — буркнул Карлос с горечью. — Просто… очевидно. Любой бы догадался.
Офис постепенно вернулся к жизни, разработчики шептались про “везучие фиксы” и “удачу новичка”. Кэндзи пожал плечами и вернулся к своему спиннеру.
Кай стоял за ним, глаза светились восхищением: — Кэндзи-сенсей, вы вновь продемонстрировали безупречную точность. Позвольте мне подробнее изучить ваши методы.
— Да пожалуйста, — равнодушно ответил Кэндзи. — Хотя, честно говоря, ничего интересного.
— Напротив, — с энтузиазмом возразил Кай, — ваша лёгкость в решении критических задач крайне интригует. Я тщательно задокументирую ваши методики.
Кэндзи вздохнул, медленно вращая кресло: — Как скажешь.
В конце дня в почте всех появился новый email:
SUBJECT: URGENT: Legacy Codebase Discovery Всем разработчикам: Мы обнаружили древний, не документированный монолитный сервис, который выполняет критическую бизнес-логику. Никто не знает, кто его написал, как он работает и почему он до сих пор не упал. Срочно требуется внимание завтра утром.
Кай с воодушевлением повернулся к Кэндзи: — Кэндзи-сенсей, это отличная возможность продемонстрировать ваше мастерство!
Кэндзи глубоко зевнул, поднимая рюкзак: — Может быть. Хотя звучит скучновато.
Кай почтительно кивнул, не теряя энтузиазма: — В любом случае, я буду рядом. Возможно, мне ещё есть чему учиться.
Кэндзи слабо улыбнулся, направляясь к выходу: — Как хочешь.
Когда они уходили, за их спинами Карлос мрачно пробормотал: — Запомни мои слова, Ямамото. Твоя удача когда-нибудь закончится.
Никто ему не поверил.