Несколько лет назад работал я в белорусской IT-конторе, занимался сопровождением крупной системы документооборота для нацбанка и министерства по налогам и сборам.
Приходит как-то описание критической ошибки: пользователь пытается открыть документ (внутри программы), а вместо этого намертво падает SQL-сервер целой налоговой инспекции. Протестировал всё — ошибки не обнаружил, а потому попросил выслать мне бэкап базы данных пользователя. Просматривая базу, наткнулся на несколько замечательных строк в таблице «Причины списания бланков и акцизных марок»:
съели мыши и крысы
залили чернилами и хлоркой
проверка!
причина неизвестна (а я все знаю!) неправда
достали очень-очень
потешились и хватит
продали налево
куда-то делись
Потом я нашёл ошибку в базе — некорректное число в одном из системных полей. Как выяснилось позже, это одна добрая девочка-инспектор решила «списать из накладной партию в десять тысяч акцизных марок», но не смогла пройти через три уровня защиты от дурака и полезла в базу данных руками. Мораль: прокачанный пользователь бывает хуже ламера.
* * *
Писали как-то раз с коллегами план работ на месяц (шеф болеет гриппом, его нет). Одним словом, «Запорожские казаки пишут письмо турецкому султану». Взяли написанный шефом план на прошлый месяц и стали его переделывать. Под возгласы типа «Фигасе! А это тут ещё откуда?», «А что означает эта хрень?» и «Вау, да мы уже на месяц со сроками опоздали…» и дружный ржач всей команды рождался официальный документ, который определял нашу (и не только) зарплату на ближайшие два месяца. Мораль: программисты должны только кодить.
* * *
Пришло описание проблемы: медленно строятся отчёты. Формирование отчёта идёт в два этапа: построение отчёта в программе и рендеринг в Crystal Reports (длится в шесть раз дольше построения — специально замерял). Постановка задачи: «Отчёт по акцизным маркам по ХХХ области за год должен выводиться в течение не более 15 минут!» Объём файла отчёта — около 12 МБ. Тестируем похожий отчёт (81 МБ) на P4-3000, 1 ГБ DDR, результат — за 15 минут построилось (ещё только построилось — не рендерилось!) чуть больше 10% отчёта. Я в шоке. Спрашиваю: а что у них за суперкомпьютеры, если они хотят вывести отчёт за 15 минут? Шеф в ответ протягивает бумажку, на которой ровным почерком выведено: «Сeleron-600 / 128MB PC100 / …» Мне просто интересно, как у них ещё WinXP SP2 работает на таких машинах. По мне, уместнее было бы ставить задачу вывода отчёта хотя бы за две недели, но никак не за 15 минут. Мораль: своевременный апгрейд — залог спокойного сна программиста.