Найти в Дзене
Бытовые Байки

Вечера на хакатоне. Почему программисты боятся полнолуния – Современный фольклорный рассказ

Говорят, в IT-компаниях не верят в мистику. А зря. Потому что именно там, среди серверных шкафов и кофейных автоматов, рождаются истории, от которых седеют даже системные администраторы со стажем. Ночь длинных переменных Хакатон начался в восемь вечера, а к полуночи все поняли, что проект не взлетит. Не потому что команда плохая. Команда была отличная: Лёха-фронтендер с татуировкой «Hello World» на запястье, Маша, которая знала Python лучше, чем свою бывшую свекровь, и Игорь Семёнович — единственный человек в офисе, помнивший, как выглядел интернет до Google. Проблема была в другом. – Ребят, – сказал Лёха, отодвигая третью банку энергетика, – у нас баг. – Какой? – Маша даже не повернулась от монитора. – Не знаю. Но код работает только когда я на него не смотрю. Игорь Семёнович оторвался от своего древнего ThinkPad, на котором до сих пор стояла Windows XP (по его словам, «единственная стабильная система»), и посмотрел на Лёху поверх очков. – Квантовый баг, – произнёс он таким тоном, как

Говорят, в IT-компаниях не верят в мистику. А зря. Потому что именно там, среди серверных шкафов и кофейных автоматов, рождаются истории, от которых седеют даже системные администраторы со стажем.

Ночь длинных переменных

Хакатон начался в восемь вечера, а к полуночи все поняли, что проект не взлетит.

Не потому что команда плохая. Команда была отличная: Лёха-фронтендер с татуировкой «Hello World» на запястье, Маша, которая знала Python лучше, чем свою бывшую свекровь, и Игорь Семёнович — единственный человек в офисе, помнивший, как выглядел интернет до Google.

Проблема была в другом.

– Ребят, – сказал Лёха, отодвигая третью банку энергетика, – у нас баг.

– Какой? – Маша даже не повернулась от монитора.

– Не знаю. Но код работает только когда я на него не смотрю.

Игорь Семёнович оторвался от своего древнего ThinkPad, на котором до сих пор стояла Windows XP (по его словам, «единственная стабильная система»), и посмотрел на Лёху поверх очков.

– Квантовый баг, – произнёс он таким тоном, каким священники говорят о чудесах.

– Чего?

– Квантовый. Существует в суперпозиции, пока не наблюдаешь. Классика.

Маша фыркнула.

– Игорь Семёныч, вы опять?

– Я серьёзно. В девяносто седьмом у нас на заводе автоматизации был такой же случай. Станок работал идеально. Но только по ночам. Днём ломался. Знаете почему?

– Потому что ночью никто не смотрел?

– Потому что ночью приходил Михалыч.

Лёха и Маша переглянулись.

– Какой Михалыч?

– Сторож. Бывший. Умер в восемьдесят девятом.

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

– Игорь Семёнович, – сказала она максимально рационально, – это был гром.

– В январе?

Все посмотрели в окно. Снег падал совершенно мирно и беззвучно.

– Ладно, – Лёха потёр глаза, – давайте про баги. Реальные.

Но Игорь Семёнович уже вошёл во вкус. Он откинулся на стуле, и стул издал такой скрип, что Маша подпрыгнула.

– Хотите, расскажу про функцию?

– Какую функцию?

– Которую никто не писал.

Комментарий покойника

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

– Две тысячи третий год. Банк «Восточный Экспресс». Сейчас уже не существует, но это неважно. Важно то, что у них в коде была функция. Называлась simply «ОНО».

– Просто «ОНО»? – не поверил Лёха.

– Кириллицей. В коде на Си. Представляешь уровень безумия?

– Представляю, – кивнула Маша, которая однажды нашла в легаси-коде комментарий на латыни.

– Так вот. Функция «ОНО» отвечала за начисление процентов по депозитам. Работала идеально. Но никто не знал, как она работает. И никто не знал, кто её написал.

– Может, просто потеряли историю коммитов?

– В том-то и дело. Историю не потеряли. Функция просто появилась. Первого января две тысячи третьего года, в три часа ночи. Сама.

Энергетик в руке Лёхи дрогнул.

– И что, никто не разобрался?

– Пытались. Троих уволили.

– За что?

– Они пытались её отредактировать. Первый просто удалил комментарий над функцией. Через неделю ушёл по собственному. Второй переименовал функцию в «calculate_interest». На следующий день его машину эвакуировали, квартиру залило соседями сверху, а кот сбежал. Третий...

Игорь Семёнович сделал паузу.

– Третий был смельчак. Решил переписать функцию с нуля. По всем стандартам, с документацией, юнит-тестами. Знаете, что случилось?

– Умер? – прошептала Маша, уже совершенно забыв про свой рационализм.

– Хуже. Перешёл в менеджмент.

Лёха нервно рассмеялся. Смех получился каким-то сдавленным.

– А что было в комментарии? Ну, который первый удалил?

Игорь Семёнович снял очки, протёр их полой рубашки (зачем-то очень медленно) и сказал:

– «Не трогай. Я знаю, где ты живёшь».

Тишина повисла над столом, как баннер с рекламой казино.

– И подпись, – добавил Игорь Семёнович, – «В. Кузнецов, 1987».

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

– Вот именно.

– То есть комментарий появился раньше, чем код, в котором он был?

Игорь Семёнович кивнул.

– И главное, Кузнецов. Валерий Петрович Кузнецов, главный инженер завода электроники. Умер в восемьдесят девятом. От сердечного приступа. Прямо за компьютером. Говорят, дописывал какую-то программу.

Свет мигнул.

Все трое уставились в потолок. Потом друг на друга. Потом на мониторы.

На экране Маши, поверх её аккуратного кода на Python, медленно проявлялась строчка.

Комментарий.

На кириллице.

«Молодцы. Давно я не слушал хорошие истории».

И подпись: «В. Кузнецов».

Лёха вскочил и опрокинул стул. Маша тихо взвизгнула. Только Игорь Семёнович остался сидеть спокойно.

– Ну вот, – сказал он, – а вы не верили.

Хакатон закончился в четыре утра. Рабочего кода написано не было. Зато родился новый жанр, о котором потом рассказывали на всех корпоративах. IT-хоррор для тех, кто видел легаси-код и выжил.

А функция «ОНО», говорят, до сих пор работает.

Где-то.

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

📱 В Telegram у меня отдельная коллекция коротких историй - те самые байки, которые читают перед сном или в обеденный перерыв.

Публикую 3 раза в неделю (пн/ср/сб в 10:00) + сразу после подписки вы получите FB2 и PDF-сборник из 100 лучших рассказов.

Перейти в Telegram.