
За 25 лет в разработке со мной произошло много занятных историй.
Мы сделали клиентов миллионерами, проводя тестирование на проде. Едва не получили дипломатический скандал, показав министру неполиткорректный экран.
Я общался «по понятиям» с боссом из 90-х с индийским колоритом. Корпел над секторами жесткого диска из-за пингвина-терминатора (да, это про Linux!). Физически ощущал запах сгоревшей премии дорогого сгоревшего железа.
Здесь нет вымысла – только ТруЪ истории и опыт, который я получил. Читайте, смейтесь и… никогда не повторяйте это дома.
Итак, погнали!
Кому акций на халяву? Подставляйте мешок.

Тимлидил я как-то на одного честного брокера. У него было приложение с кнопками «купить» и «продать». Зачем клиенту несколько мониторов, если можно тапать в телефоне по кнопкам – и ты уже трейдер!
За кнопками находился БЭК с торчащей наружу API-шкой. А для API-шки были написаны авто-тесты, которые брали первые попавшиеся брокерские счета и что-то покупали или продавали.
Как-то раз запускает наш тестировщик авто-тесты, а они не пошли. Он запускает еще раз... И тут вместо тестов пошли инциденты. Вы наверное уже догадались, да? Тесты по ошибке стучались на прод. И у реальных клиентов вдруг образовались акции одного Газового гиганта в хороших таких количествах. И до кучи еще евро, доллары, юани.
Мы быстро поняли причину. И еще быстрее внесли корректировки. Большинство клиентов даже ничего не заметили. Остальные приняли извинения. Кроме одного особенного клиента.
Если вы обнаружите тыщу акций, которых вы не покупали, что будете делать? Бегать по потолку? Звонить в поддержку? А вот особенный клиент начал тапать по кнопке «продать». И чем больше у него появлялось активов, тем яростнее он тапал.
Клиент продавал несуществующие акции. Напродавал на.. в общем, на много денег. Но я верю, что это не со злого умысла. Он не выводил деньги. Человек на панике нажал на все до чего дотянулся, снес приложение и ушел в подполье. До него не удалось ни дозвониться ни дописаться.
А так как кто-то купил эти несуществующие акции, то у клиента технически образовалась короткая позиция. С которой нам пришлось разбираться под нежными взглядами руководства.
Следуй за белым кроликом.

Лет за двадцать до описываемых событий, когда интернет был диалапный, а мониторы – лучевые, я без стука вошел в кабинет начальства. Начальство было занято просмотром очень интересного контента.
Полагаю, если бы меня так спалили, было бы ай-ай. Но что дозволено Юпитеру – не дозволено быку. Поэтому мы оба просто сделали вид, что ничего не произошло.
В те тёмные времена журнал с белым кроликом был на пике популярности. «Хаба», где на каждый вкус есть контент любого цвета, ещё не придумали. Обнаруженный источник манил к себе мою неокрепшую джунскую душу.
Я с нетерпением дождался, когда начальник сляжет на больничный, и наведался к нему в кабинет со своим винтом. У начальника оказалась настолько обширная коллекция, что я не смог утащить и половины. Молодой я был, небогатый. Не отрос у меня тогда еще большой винт.
Хардкор с пингвином.

В юности я захотел приобщиться к прекрасному, то есть к Линуксу. Сказал своей 95-й Винде: а ну, подвинься, отрезал раздел на диске и решил поселить там пингвина.
Пингвин чего-то там написал, перезапустил машину, и я получил сообщение вида:
«Non-system Disk Or Disk Error»
Я подумал: ну и ладно, не страшно. Укажу, с какого раздела грузиться и вернусь к Винде. Ага, щас. Пингвинчик затер MBR и Partition Table.
Пока-пока, мои данные. И ладно бы только мои, но на этом диске батя хранил всю документацию конструкторского бюро, в котором работал директором. Бэкапы он хранил там же. Я периодически делал какие-то бэкапы его документов на дискетах, но сами понимаете, на 1.44Мб много не запишешь.
Сейчас я, возможно, сумел бы восстановить Partition Table. Но в то время я не имел ни опыта, ни интернета, ни разбирающихся в теме друзей. Я придумал единственное решение: у Word 95 в самом начале каждого .doc файла были одни и те же символы. Кажется, они выглядели так: «DOC» (оригинально, ага). Я загрузился с дискеты и заново разметил диск. Затем запустил diskedit.exe (тот, который на первой иллюстрации) и пошел искать «DOC». Как заканчивается .doc файл я не знал, а возможно, у него и не было фиксированного окончания. Поэтому каждый раз, находя «DOC», я копировал несколько мегабайт данных в файл на другой раздел. Это заняло три дня по 14 часов. Нашел порядка 80% документов. После этого у меня перед глазами еще некоторое время бегали беленькие буковки на синем фоне.
С тех пор я не люблю пингвинов. Даже если они прячутся в докере-кубере. Хотя признаю, что я просто не умею их готовить.
Восток – дело тонкое.

В начале 2000-х я работал на одного индуса, который продавал молокозаводам оборудование для тетрапаков.
Индус продавал, а я цифровизировал его бизнес. Слова «цифровизация» тогда не было, но сама цифровизация вполне уже существовала.
Индус практиковал жесткую систему штрафов, задержку зарплат и психологическое давление. Он с видом брахмана шествовал по офису, а его работники как шудры затравленно смотрели вниз и боялись дышать.
Меня, единственного айтишника, индус расценивал кем-то вроде кштария и особо не трогал. Но, как только я решил уволиться, индус закидал меня задачами. Мол, все сделаешь, и получишь зарплату и трудовую. По опыту коллег я знал, что при увольнением человека заваливают работой и ждут, пока он не плюнет и не уйдет без последней зарплаты. Полагаю, такая система, сплетенная из хитрости и деспотизма, весьма популярна в Индии. Но на осколках «Великого Могучего» система дала сбой.
Я решил, что индус ещё недостаточно укоренился у нас. Если у него и была «крыша» – то отношения с ней пролегали сугубо в финансовой плоскости. Он никогда никому не угрожал «крышей», при том, что другие угрозы сыпались регулярно.
Как-то утром индус обнаружил, что исчез весь его документооборот. Работа встала. Разумеется, я стал главным подозреваемым. Индус накинулся на меня с воплями, что это я все удалил, и если бы не его бесконечное терпение, он бы решил вопрос со мной другими методами.

Я ответил, что он, вероятно, поймал вирус. А если он хочет решать вопросы другими методами – то я могу это обеспечить. И дело даже не в последней зарплате, а в принципе. Он готов рискнуть своей фирмой, деньгами, и всем остальным?
Только благодаря моему бесконечному терпению я пока не предпринял других мер. И даже могу посмотреть проблему с его документами. Разумеется, после получения зарплаты и трудовой.
Да, я был молодым дураком. Но расчёт оправдался: индус закономерно решил, что он бизнесмен, ему надо сократить расходы, а не играть в войнушку.
Получив заработанное, я сумел побороть вирус-шифровальщик под названием WinRar. А затем гордо удалился. Шудры во время перфоманса тщательно изучали рисунок на полу.
Критичный баг.

Наша команда писала софт для эпидемиологов, который визуализировал карту с красными точечками – очагами заражений. Прямо как в кино про зомби-апокалипсис.
Наши менеджеры поехали продавать софт в Армению. Собрали половину министерства здравоохранения, и давай показывать.
Только запустили – и на весь экран карта Баку. Министерство зашевелилось. Zoom out – и весь Азербайджан как на ладони. «Уберите это» – раздраженно сказал армянский министр. Он еще кое-что сказал, но я не буду это цитировать.
Судя по реакции аудитории, фейл был эпичнее синего экрана во время презентации Windows 98. Разработке незамедлительно прилетел баг категории «Шоу стоппер»: пересобрать дистрибутив с Арменией, чтобы на следующий день попробовать продать «правильную версию».
Зажигательная отладка.

На заре карьеры мне выдали задание: придумать и реализовать отказоустойчивый протокол связи на базе микроконтроллера семейства ARM. Это было нужно для создания радиомодема. «Тыжпрограммист» – говорили они, должен справится.
Я спаял какого-то Франкенштейна на отладочной плате, написал на смеси C и ASM что-то похожее на софт и стал неистово отлаживать.
Из-за ограничений эмулятора отладка не заладилась. Тогда тимлид приволок мне осциллограф, и сказал: «Развлекайся». Физически видеть, как бегут биты, было и правда весело. «Пила» на экране отражала полную картину пакета с данными. Правда, меня эпизодически потряхивало, когда я касался корпуса. Но я не придавал этому значения.
И я смог! Сделал прототип, который втыкался в RS-232 и [почти] не терял данные на передаче.
На демо пригласили директора. Мне даже выдали директорский ноутбук, который стоил больше моей полугодовой зарплаты. Ставлю ноут на зарядку, включаю свою поделку в розетку и втыкаю ее в ноут. Экран гаснет. В прямом и переносном смыслах запахло жареным.
Мне повезло: у ноута выгорело что-то легко заменяемое, местные схемотехники за день перепаяли материнскую плату и босс получил свой ноут назад в рабочем состоянии.
А спустя неделю я узнал, что моя поделка не при чем: к столу было подведено две розетки, запитанные от разных(!) фаз. Именно поэтому меня дергало, когда я неловко чего-то касался. Почему при этом не сгорел мой стационарный комп – загадка.
Эпилог
Я мог бы рассказать, как дважды начинал «своё дело» и дважды прогорал. Про хороших и плохих работодателей, про кульбиты карьеры. Но тогда пятничный рассказ превратился бы в нудные мемуары, а я этого не хочу.
Лучше попрошу вас: если есть занятная история, которой недостаточно для написания статьи, поделитесь ей в комментариях!