bash.im ithappens.me zadolba.li
9726

svn blame boss

Работал начальником программистов. Как-то техподдержка обнаружила баг в нашем продукте. Условия были весьма хитрые, но, надо отдать должное, передали достаточно информации, чтобы я смог воспроизвести баг на своей машине. Ошибка оказалась пустячной. Быстро исправил, проверил. Насторожило то, что это ядро, на котором построен не один десяток приложений. Значит, им грозит обновление ядра и внеочередной релиз.

Решил узнать, насколько всё запущено: кто и когда сделал эту ошибку, кто пропустил при проверке, кого ругать. svn blame ничего не дал. Код не менялся с самой первой ревизии при импорте из старых хранилищ. Не поленился, поднял старое. Нашёл. Оказалось, что бывший начальник во время рефакторинга ядра случайно удалил одну нужную строчку… семь лет назад. За все эти годы никто не заметил ошибки. Конечно, приложения падали регулярно, но на это была куча других причин: неисправности сети, вирусы, несовместимые сторонние компоненты.

Я подумал, что у хорошего программиста и баги живут долго. Экс-шеф — программист, как говорится, от бога: смотришь на код десятилетней давности, и ничего не можешь ни прибавить, ни убавить. Зато появилась традиция: если что-то падало, все до выяснения причин начинали винить бывшего начальника. Связался с ним, рассказал. Вместе посмеялись. Сам я уже тоже там не работаю, но жду, когда стану во всём виноват.