В кабинете техподдержки есть огромная стена с большими рубильниками, и каждый раз, когда вы звоните с требованием: «Немедленно включите мне интернет, пи#@расы!», сотрудник техподдержки огорчается, что вы его раскусили, и включает ваш.
Мы можем решить любую проблему пользователя. Даже если во всём вашем микрорайоне уже несколько часов нет света, вы всё равно будете звонить: «У меня же ноутбук!» Окей, запитайте конвертер от ноута, и всё заработает.
В общем, я очень завидую фрилансеру, который может выбирать клиентов. А людей я хочу попросить быть хоть немного повежливее и оценивать свои требования.
#8799: Всё в дом, всё в семью
13:00 22.03.2012, IT happens
В аварийный чемоданчик отдела АСУ хорошего, крепкого банка входил полный комплект для ремонта в полевых условиях любой подшефной системы: 50 метров коаксиала, Т-коннекторы, терминаторы, клещи, запас сетевых карточек, материнская плата, клавиатура, винты, дисководы, дистрибутивы DOS и Novell и т. п. В общем, выезжающий инженер мог оперативно вернуть к жизни любую загнувшуюся сберкассу, если только там остался хотя бы один монитор. Разумеется, инструменты, паяльник, паяльная коробка и баклага спирта.
И вот один из больших заводов очень химической направленности возжелал на своей немалой территории открыть вторую сберкассу, а то из дальних цехов работники не успевали в обеденный перерыв дойти до своей зарплаты и обратно. Естественно, пришлось написать кучу бумажек, что приходящие сотрудники банка имеют право проносить на режимную территорию.
И всё было замечательно, кроме одного. В бумажках, заляпанных подписями и печатями, как голубятня говном, упоминалось только одно действие: «проносить». А вот про вынос не было ни слова.
Года два электронщик регулярно ездил туда на обслуживание. Но как-то раз у охраны случилось обострение. Электронщика обшмонали на выходе и нашли у него аварийный чемоданчик (хотя на самом деле это был нехилый рюкзак) — а там и непонятные детальки, и кабель, и инструменты, и спирт. Вот если б не спирт и не завод химической направленности, электронщик, возможно, и отбоярился бы.
В 94 году с мобильной связью было плохо, поэтому несчастного залётчика успели сдать в мусарню. Откуда мы его и вызволили часов в десять вечера.
#8800: Непорочный крылатый бульдозер
13:00 22.03.2012, IT happens
Взгляд программиста на разработку:
1. Тебе объясняют, чего хотят (назовём это первичным техзаданием, хотя ТЗ сам себе обычно пишешь, ибо заказчик не в состоянии составить вразумительное).
2. Ты чего-то там ваяешь и, победив гору глюков, с сожалением отдаёшь невинного ангела, алмаз кристальной чистоты и небесной красоты в грязные лапы заказчика.
3. Заказчик смотрит, говорит: «Круто. А можно ещё добавить вот такую вот фичу?»
4. Говоришь: «Нет проблем». Пыхтишь над прогой, побеждаешь ещё одну кучку глюков, приносишь заказчику программу, которая делает немного больше, немного умнее или выглядит немного красивее, но более жуткая в коде.
* * *
Проходит несколько итераций пунктов 3 и 4, и заказчик говорит: «Всё, готово». И ты с содроганием осознаёшь, что на свет произвёл очередного монстра, который ездит, летает, пыхает огнем, копает ямы, вышивает крестиком и изобретает велосипед. Красота кода — по хрену. Эффективность стремится к нулю. Код сложный, запутанный, куча шаманских костылей. Невзирая на то, что сам создал этого монстра, ты его боишься. Боишься тронуть даже что-нибудь незначительное и второстепенное — вся программа грозит осыпаться.
А всё почему? Нимб, крылья, ракетные установки и нож бульдозера надо планировать ещё на стадии первичного техзадания.