Андрей Орлов - Записки автоматизатора. Профессиональная исповедь
Программист, отвечающий у разработчика за работу со словоформами, узнал, что в русском языке шесть падежей, а не семь, как он предполагал. Он мне объяснил, что перепутал с количеством цветов радуги. Хорошо, что число апостолов первого круга ему неизвестно.
* * *– Получил письмо от вашего директора. Он пишет, что описанная проблема легко решается. Но если она легко решается, то почему она не решается?
– Ну как же… потому что она решается легко, но до-о-о-олго….
* * *– Вова, у них что, в системе нет механизма транзакций?
– Есть у них в системе механизм транзакций. Просто они им не пользуются. И голова у них, наверное, тоже есть.
* * *Софт, не отчуждаемый от разработчика. Никаким способом не отчуждаемый.
* * *Внедряемая информационная система при заполнении приказа о приеме на работу нового сотрудника задает вопрос: «Создать новое физическое лицо?»
Внедряемая система при попытке ввести код страны «Россия» в заказ выдает сообщение «Выбрана неправильная страна». – Д.К.
* * *Внедренцы хотят получить дополнительные деньги. На вопрос «За какие работы?» отвечают: «За доводку системы на площадке заказчика». При этом деньги за доработку и настройку они уже взяли. Бурно не понимаю, какую такую доводку системы нужно проводить после ее доработки. Один из моих сотрудников меланхолично замечает: «Теперь систему нужно подогнать по месту с помощью напильника».
* * *Становлюсь нарицательным. Передали разговор между директором и сотрудником фирмы-разработчика: «Что вы со мной разговариваете как Орлов!»
* * *Обсуждали идею создания специального продмага для женатых программистов. В таком магазине обязательно должны продаваться продукты с названиями «Мясо хорошее», «Картошка крупная», «Бананы негнилые» и «Колбаса какая-нибудь». Мне сказали, что я забыл главные продукты: «Что-нибудь к чаю», «Что-нибудь на десерт», «Что-нибудь на ужин» и продукт-апофеоз «Что-нибудь из еды». Конечно, в этом магазине должны быть и соответствующие единицы измерения продуктов: «немного», «не очень много», «на один раз», «сколько я обычно покупаю».
Поехали
Проблемы с быстродействием. Внедренцы советуют поставить пользователям более мощные компьютеры. Удивленно сообщаю им, что в ТЗ их система определена как система с тонким клиентом. Похоже, в процессе доработок клиент не на шутку располнел.
* * *На экране системы сопровождения программного продукта рядом выводятся два поля: «Заявитель» и «Плановая дата устранения».
* * *Модальное окно «Вы действительно хотите выйти из программы?» должно содержать три варианта ответа: «Да», «Нет» и «Еще как».
* * *Метод разработки: картошку порезать, пожарить, подать на стол, а если заказчик заметит, что картошка не чищена, начать чистить.
* * *Сегодня сформулировал функции ключевых фигур в ИТ-проекте.
Таких фигур три: руководитель проекта, главный разработчик и главный аналитик.
Аналитик отвечает за вопрос «почему разработали?», разработчик – «как разработали?», а руководитель – «кого за это нужно взгреть?».
Как следствие, на вопрос «что сделали?» ответить не может никто.
* * *А я понял, почему в этой версии системы не наблюдается никаких следов предыдущего опыта внедрения информационных систем: все обладающие памятью запоминают обещания Б. и увольняются, когда он их не выполняет. Остались только амнезированные.
* * *Нет, смертная казнь для некоторых разработчиков – это слишком гуманно. Я бы приговаривал их к пожизненной эксплуатации собственных программных продуктов
Предлагаю пожизненное форматирование дискет. – Д.К.
* * *Причина увольнения: саботировал невысказанное желание руководства.
* * *Тоже стиль руководства: всегда принимать меры и никогда не принимать решений. И ведь он хорошо держится на своей должности.
* * *Поскольку любая система работает без ошибок только в одном случае – когда ею не пользуются, – то для адекватного отражения реального мира в системе следует остановить реальный мир.
Похоже, что большинство IT-консалтеров именно это и пытается сделать.
* * *Состояние внедрения: кома.
* * *База загигела. Федя сказал, что размер базы превысил гигабайт, подчеркнуто вскользь, между прочим. Но я заметил. Все-таки событие. Нам еще долго предстоит выслушивать истерики пользователей и утирать их слезы, воевать с внедренцами по поводу каждой формы ввода, вытрясать недоделанные куски, но все-таки речь уже идет не об игрушке, а об информационной системе, в которую мы запихнули три года работы нашей компании.
* * *Уволен менеджер по сопутствующим товарам. Пока ехали из офиса на склад, я поинтересовался у исполнительного директора, что произошло.
– Я, по-твоему, не права?
– Права, конечно. Она милая женщина, но я бы ее уволил на год раньше, когда мы ей не смогли объяснить, что нельзя менять розничную цену, не проводя инвентаризации. Но сейчас какие события к этому привели?
– Как какие? – удивляется. – Вы же сами сделали новый отчет по товародвижению, который я просила.
– Но в отчете про уволить ничего не было.
– Зато там было про торговую наценку. А когда я увидела, что торговая наценка по всем товарам, отпущенным со склада за месяц, меньше фонда заработной платы склада, я уже сама догадалась, что делать.
Начинаю понимать, что на самом деле значит «использовать информационную систему».
Эксплуатация
В два часа ночи дома звонит телефон. Старший оператор интересуется, не звонил ли я ему сейчас.
* * *Данные не обязательно копировать ежедневно. Достаточно это делать перед аварией с базой.
* * *Узнал, что операторы за глаза зовут меня «папа».
Сначала расстроился. Потом понял, что это все-таки не худший вариант.
* * *Напутствие гендиректора: «Делайте что хотите, работайте ночами, но результат должен быть через час».
* * *Не издеваясь и не повышая голоса, абсолютно спокойно объяснить мальчику из техподдержки, что «артикль» и «артикул» – это разные слова, сообщить их значения, а потом попросить писать слово «лучше» через «ч», а не через «д», а то мне неудобно показывать журнал заявок исполнительному директору.
* * *Этот мальчик очень старательный. Поняв, что хромое правильнописание несколько меня нервирует, он теперь все тексты, которые я должен прочесть, проверяет с помощью Ворда. И Ворд сообщает ему, что в предложении «Заместа поля Версия мы можем писать имя компьютера» это самое «заместа» нужно писать раздельно.
* * *Грустная шутка: «Компания „Супер-Софт“ признала неисправимой в текущей версии своей системы очередную орфографическую ошибку».
* * *Мой сотрудник звонит пользователю и представляется: «Это Йохан-программист».
Он не кривит душой и не нарушает правила: футбольно-фанатичный папа назвал его в честь Йохана Круиффа, легендарного нападающего сборной Голландии, а в компании принято представляться по имени: «Саша-программист», «Паша-программист».
Но каждый раз, когда Йохан звонит новому пользователю и представляется, я представляю, что в этот момент происходит на другом конце провода…
* * *Сегодня молодой человек, одетый в малиновый пиджак, горячо благодарил меня за то, что полтора года назад я уволил его с должности оператора.
* * *Лучшим сообщением программы времен MS DOS было:
Invalid user. Replace and strike any key.
А сейчас, конечно же:
User was successfully ignored.
* * *Кандидат пишет в резюме: «Не имею вредных привычек».
Он не догадывается, что в нашей фирме вредной считается привычка ходить домой ночевать.
* * *И по прочтении фразы «Ваши предложения прошу высылать в почту» бросил в мусорную корзину очередное резюме.
* * *– Я сейчас еще подумаю, и скажу вам, какую программу вы должны были написать вчера.
* * *Ощущения, которые я испытываю, когда понимаю, что забыл дома мобильник (на 80 % оплачиваемый фирмой), больше всего похожи на ощущения при потере невинности: смущение, перемешанное с неимоверным облегчением.
* * *– Мы сегодня собрались, поскольку у сотрудников накопилось много вопросов, и по офису начали циркулировать различные слухи. Мы ответим сегодня на все ваши вопросы. Мы не уйдем, пока не ответим на каждый ваш вопрос.
Но ответ на все вопросы у нас один: мы пока не знаем.
* * *А знаете самый простой способ синхронизации любых баз данных? Это полное их уничтожение.
Приложение 3. Страшный сон в приказах
ПРИКАЗ№______ «___» ________20__ г.