Buch lesen: "Код, петух и одна грядка"
Глава 1. Исключение из «счастливого» списка
Сергей понял, что всё, пора завязывать, в тот самый миг, когда его любимый монитор выдал синенькое сообщение смерти: «FATAL ERROR: Out of Memory».
— Это не у меня память кончилась, — вслух сказал Сергей пустому опенспейсу. — Это у жизни закончился буфер.
Было три часа ночи. За окном двадцать первого этажа бизнес-центра «Евразия» спала Москва, переваривая вечерние коктейли и завтрашние дедлайны. Сергей сидел перед тремя мониторами, на которых горели Jira, мессенджер с семьюстами непрочитанными и проджект с требованием «допилить блокчейн под AI-фронт, но чтобы Web3 был в квадрате».
Он работал Senior Software Engineer в компании «КиберТрон Групп». Неплохая зарплата, ДМС, корпоративный фитнес и ежегодный тимбилдинг на Селигере с лозунгом «Мы не спим — мы кодим». Но в последние полгода Сергей начал замечать странные симптомы: он больше не радовался новым лямбдам в AWS. Ему стало всё равно на типы данных. Он дважды пропустил редкий баг в легаси — и не расстроился.
Коллеги зашептались. HR прислала опросник «А твой ли это карьерный трек?». А утром, перед тем как упал сервер продакшена, Сергей понял главное: он ненавидит код. Всей душой, всем своим перегруженным кэшем сознанием.
— Сеня, — позвал он единственного друга в офисе — фикуса в горшке по кличке Билл Гейтс. — Билл, мы уходим.
Он открыл ноутбук, написал заявление об уходе, нажал «Отправить» и… почувствовал себя живым. Впервые за три года. Прямо сейчас, в три ночи, с больной спиной и синяками под глазами.
Дома, в однушке на Юго-Западной, его ждал кот Бублик — толстый рыжий философ, который единственный не спрашивал, когда он выкатит фичу с автоплиткой.
— Бублик, — торжественно сказал Сергей, поднимая кота над головой. — Я решил. Переквалифицируюсь.
Кот мудро смолчал, но взглядом явно спросил: «В кого? В дворника, прорабá?»
— В фермера, — выдохнул Сергей. Сказал — сам испугался.
Через неделю он сидел в электричке «Москва — Рязань — Кагальницкая», сжимая в руках распечатку объявления: *«Срочно. Продается ферма. Недорого. Есть дом, куры, трактор Т-25 и привидение»*.
«Привидение, — подумал Сергей. — Ну, привидение — это даже забавно. Если оно имеет интерфейс, я с ним договорюсь».
Ферма называлась «Красный Петух». Находилась в ста километрах от ближайшего города. Дом — бревенчатый, с печкой, паутиной и запахом сушеных яблок. Трактор стоял во дворе, заросший лебедой, с табличкой «Не включать — злой». Куры (шестнадцать штук) настороженно косились на нового хозяина.
Предыдущий фермер, дядя Вася, рукопожатие которого напоминало вице-губернаторские тиски, сказал коротко:
— Ты, главное, землю не обижай. Она ответит.
— В смысле ответит? REST API? — уточнил Сергей.
Дядя Вася вздохнул, перекрестился на петуха и уехал на «Ниве» в закат, оставив ключи, поллитровку с мутной жидкостью («от сглаза») и тетрадь с надписью «КУРЯТНИК: логи ошибок».
Сергей оглядел владения. Сарай, колодец, баня, грядки, поросшие чертополохом, и огромное синее небо — без дедлайнов, без апрувов, без ежедневных митингов, на которых обсуждали, как обсудить обсуждение.
— Бублик, — сказал он коту, который сидел в переноске с видом ссыльного дворянина. — Мы тут главные программисты теперь. Только вместо серверов — огурцы.
Кот чихнул. Из курятника донеслось невнятное «ко-ко-ко», что на языке бэкенд-разработчиков обычно означает «упал прод».
Сергей улыбнулся, засучил рукава и полез в тетрадь дяди Васи. На первой странице было написано шариковой ручкой: «Петух сбежал. Найди его до зимы. Если не найдешь — он найдет тебя. С уважением, предыдущий».
— Ладно, — сказал Сергей. — Баг-репорт принят. Начинаем релиз новой жизни.
Солнце садилось за крышу покосившегося амбара. Бублик философски улегся на единственное сухое место на крыльце. А вдалеке, за рекой, раздался протяжный, недобрый крик: «Ку-ка-ре-ку!» — такой громкий, будто кто-то взорвал динамик старой «Нокии».
Сергей понял: патч 1.0 только начинается.
Глава 2. Синтаксическая ошибка в коровнике
Сергей проснулся от того, что кто-то очень настойчиво долбил клювом в окно. Не в дверь — в окно. Методично, с интервалом в три секунды, будто отлаживал цикл while(true) do knock().
— Бублик, это твои фокусы? — прохрипел Сергей, не открывая глаз.
Кот спал на его голове — излюбленная поза, означавшая «ты мой обогреватель, и не дергайся». Значит, стучал не он.
Сергей выполз из-под драного ватника (одеял в доме не оказалось, зато был пулеметный кожух времен войны и три копии газеты «Правда» за 1987 год). Выглянул в окно. И остолбенел.
На подоконнике стоял петух. Огромный, рыжий, с взглядом бывалого тимлида, который уже все понял про твой код и не хочет тебя расстраивать, но придется. В клюве он держал клочок бумаги.
— Ты… ты серьезно? — спросил Сергей.
Петух выразительно кивнул. Бумажка выпала. Сергей развернул.
На обрывке тетрадного листа было каллиграфическим почерком выведено:
«Вася 4-ре петуха : 1 сдох.
Етот опасен. Не корми после 6 вечера. Не повышай голос.
При встрече говорит гадости ПРОШЛЫЙ ХОЗЯИН.
Звать АРЧИБАЛЬД.
P.S. У него есть ключ от погреба. Не спрашивай как.»
— Арчибальд, — медленно произнес Сергей. — Ты, значит, злой гений этой фермы.
Петух гордо поднял гребень, повернулся задом и неторопливо спрыгнул вниз. Уходя, он задрал хвост с такой грацией, с какой главный архитектор покидает митинг, проваливший его гениальное решение.
— Ну отлично, — сказал Сергей коту. — У нас тут не ферма, а корпоратив уровня «Ад и Израиль». Петух-тимлид, куры-разработчицы, ты — продакт-оумер в шерсти. А я кто?
Кот открыл один глаз: «Техподдержка, конечно».
С утра Сергей решил начать с основ. Достал тетрадь дяди Васи («КУРЯТНИК: логи ошибок»). Пролистал. Содержание поражало:
«14 мая. Курица №3 (Белая) перестала нестись. Ошибка 404: Яйцо не найдено.»
«21 мая. Петух прогнал ветеринара. Ветеринар в слезах. Баг не воспроизводится.»
«5 июня. Трактор завелся сам. Ездил по кругу 2 часа. Остановить не смог. Фикс: отключить аккумулятор.»
«17 июня. Внесено критическое изменение: сено теперь хранить в левом сарае. Правый сарай НЕ ОТКРЫВАТЬ. Звук там.»
— Бублик, ты видишь это? «Звук там»? Какой звук?
Бублик, который уже успел обследовать дом и теперь вылизывал лапу на печке, сделал многозначительную паузу. Лапа явно намекала на правый сарай.
— Нет, — твердо сказал Сергей. — Я приехал сюда за огурцами и душевным покоем. А не за тем, чтобы расследовать «звуки там». Я отладчик, а не сапёр.
Он перевернул страницу. Там было написано крупными буквами: *«КУРИЦЫ ТРЕБУЮТ ПОВЫШЕНИЯ ЗЕРНА. Угрожают забастовкой. Выдвинули требования: 1) Свободный выгул. 2) Отставку Арчибальда. 3) Wi-Fi в курятнике. О последнем — шутка.»*
Сергей нервно хохотнул. Потом перечитал еще раз. «Угрожают забастовкой» — это уже не смешно. У него был опыт работы с продактом, который объявлял голодовку, пока не добавят кнопку «сделать красиво».
— Ладно, — вздохнул он. — Идем знакомиться с командой.
Курятник оказался произведением инженерной мысли дяди Васи. Дверь открывалась по рычажку от велосипедного тормоза. Внутри горела лампочка, подключенная через аккумулятор от «Запорожца». В углу висела табличка: «Здесь могла быть ваша курица, если б вы её кормили вовремя». Шестнадцать кур сидели на насесте, выстроившись в идеальную шеренгу. И молча смотрели на Сергея.
Молчание было напряженным. Таким, какое бывает в секции критических багов за час до релиза.
— Здрасьте, — сказал Сергей.
Ни одна курица не клюнула. Ни одна не кудахтнула. Глава делегации — крупная пестрая особь с интеллигентным гребешком — сделала шаг вперед и выжидающе уставилась.
— Я… я ваш новый хозяин. Сергей. Программист, — добавил он, сам не зная зачем.
Тут случилось необъяснимое. Курица (видимо, главная) повернулась к остальным, что-то проквохтала — ни дать ни взять вызов метода с параметрами — и вся шеренга дружно наклонила головы набок. Затем на пол упало письмо.
Настоящее письмо. В конверте. С маркой «СССР, 50 копеек».
Сергей поднял, разорвал. Внутри аккуратным бисерным почерком:
*«Уважаемый новичок.
Поздравляем с покупкой. Если вы читаете это — куры вас приняли. Если не читаете — вы уже уехали.
Правила фермы „Красный Петух“:
Не врите курам. Они чувствуют ложь лучше, чем scrum-мастер — переработки.
Не рубите петуха. Арчибальд — это не птица. Это система.
Раз в месяц подкладывайте под крыльцо банку сметаны. Не спрашивайте для кого.
Если увидите в поле фигуру в черном плаще и с косой — не паникуйте. Это сосед Коля, он собирает камыш.
Правый сарай… а, ладно. Сами поймете.
С уважением,
куры (коллективное)
P.S. Трактор не заводить до полнолуния.
P.P.S. Бублик — шпион. Но ваш.»*
Сергей медленно поднял глаза. Куры сидели на месте. Только теперь они слегка кивали. А в проеме двери стоял Арчибальд, смотрел немигающим взглядом и, кажется, ухмылялся.
— Бублик, — позвал Сергей слабым голосом. — Ты… ты действительно шпион?
Кот, который умудрился незаметно пробраться в курятник и теперь сидел на самом почетном насесте, лениво зевнул. Потом спрыгнул, подошел к Сергею и положил ему на ногу лапу. Утешающе. По-человечески.
А потом громко, раздельно, так что слышала вся ферма, мяукнул:
— Мря-а-ау.
Сергею показалось, что в этом «мяу» отчетливо слышалось: «Ты даже не представляешь, дружище. Даже не представляй. Просто налей мне молока и не задавай вопросов».
Из правого сарая донеслось низкое, протяжное пение. Будто кто-то включил виолончель на максимальной громкости и забыл.
— Знаешь, — сказал Сергей курам, петуху и шпиону-коту. — В ТЗ это не входило. Совсем.
Куры захихикали. Петух кивнул на правый сарай, мол, иди уже, не бойся.
А Сергей закрыл глаза, глубоко вздохнул и набрал на телефоне сообщение дяде Васе (номер чудом сохранился):
«Василий, тут у вас в правом сарае звук. Что делать?»
Ответ пришел через минуту:
«Переустанови Windows».
— Я не знаю, — прошептал Сергей коту. — Я просто хотел выращивать огурцы.
Кот улыбнулся. Петух захлопал крыльями. А из правого сарая снова донеслось пение — теперь уже внятно, словно кто-то выводил мелодию из старой компьютерной игры.
И Сергей вдруг понял, что это «Still Alive» из Portal.
Только на волынке.
— Ну все, — сказал он. — Релизнулись.
Die kostenlose Leseprobe ist beendet.