Найти тему

Цена ошибки программиста: абонентская плата за опечатку 300 р/час

Оглавление

Будучи разработчиком нескольких высоконагруженных систем, ощущаешь на своих плечах груз ответственности за своих пользователей. Вот небольшой пример из жизни.

Снег на траве, как символ никчемности ошибки. Личный фотоархив.
Снег на траве, как символ никчемности ошибки. Личный фотоархив.

Предпосылки

Велись обычные плановые работы в программе. Можно сказать рутинные. Система большая, сложная и экономит прилично времени пользователям. Но в ходе очередных работ одним из разработчиков была допущена еле уловимая ошибка.

В хранилище данных один из участков быстрого доступа к памяти содержал дату, с которой надо эти данные держать в быстром доступе. Но программист написал дату не 20 число, а 22.

Это привело к тому, что чтение этих данных теперь стало занимать у программы не 1 секунду, а 4. Но выполняется чтение раз в 5 секунд, а на обработку уходит чуть больше секунды.

Каждый раз при чтении и обработке образовывался долг меньше секунды. Но этот долг копился.

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

И к середине ночи модуль встал

Он не успевал обработать информацию, оперативную информацию. Теперь этот модуль стал пользователям бесполезен. А их две группы, одна из которых в количестве 5 человек ежечасно должна формировать отчеты для контроля производства(примерно 15 минут), а другая отчитываться о ходе работы. Вторая группа насчитывает более 800 человек, каждый из которых должен теперь каждый час тратить 30 секунд на доклад.

Итого имеем потери времени 460 минут в час. Тоесть более 7.2 человек в час, если перевести время в людей. При зредней зарплате по России в 30000 р, это примерно 7200 р в сутки, или 300р в час.

Выходит, что абонентская плата за ту самую двойку в программе, вместо нуля, фирма заплатила примерно 3000р., так как до устранения ошибки прошло примерно 10 часов.

Вот такая жизненная математика программиста. Подписывайтесь, ставьте лайки. До скорых встреч!