Когда дело доходит до очень больших денег, то выясняется, что даже в этой области есть настоящие гиганты. Например, под управлением американской BlackRock находятся 10.6 триллиона долларов. The Vanguard Group отстаёт с большим отрывом, располагая активами на сумму 6.2 триллиона долларов. Список длинный, ведь в него входят такие гиганты, как Fidelity Investments, J.P. Morgan Asset Management, Goldman Sachs Asset Management и многие другие. Что любопытно, какими бы крупными суммами все они не располагали, большую часть работы выполняют рядовые клерки, через которых ежедневно проходят десятки миллиардов долларов. Соблазн велик, но иногда работающие с большими деньгами люди не могут удержаться, присваивая себе чужую собственность.
О крайне любопытной истории рассказали авторы The Register. Как оказалось, всё это произошло несколько десятилетий назад в одной из небольших телекоммуникационных компаний. Название компании и имя сотрудника не разглашаются, а авторы материала предлагают назвать его Треем. Сообщается, что из-за ошибки в коде парень сказочно разбогател, хотя в итоге и лишился всех денег. На момент событий компания, в которой работал Трей, активно разрабатывала сети третьего поколения (3G) и нуждалась в программном обеспечении для управления внутренними финансовыми потоками. В команду разработчиков такого софта входил и Трей. Одной из его задач стало создание утилиты для тестирования платёжного шлюза, представляющей собой систему, посредством которой должны были проходить все транзакции. В какой-то момент Трей заметил сбои в работе шлюза и решил написать программу, которая автоматически отправляла бы тестовые транзакции каждые пять минут, пока система не вернётся в норму. В тестовом режиме сумма таких операций должна была составлять всего 1 цент, но программист совершенно случайно заменил «-2» на «2». Первоначально выявить последствия такой замены не удалось. Кроме того, в программе не была предусмотрена задержка после сбоя шлюза.
Таким образом, вместо того, чтобы взять паузу, утилита тут же инициировала новую попытку, что приводило к непрерывным транзакциям. Третья ошибка заключалась в том, что система всегда выбирала пополнение счета, а не списание, набивая счёт своего создателя деньгами. Судя по всему, программист и сам не понял, что создал, поскольку отнёс утилиту руководителю. Он предупредил своего начальника о том, что ПО работает нестабильно, но директор всё равно одобрил её внедрение. Трей включил утилиту и со спокойной совестью ушёл домой. Как только шлюз отключился, система начала отправлять на тестовый счёт своего разработчика транзакции по 100 долларов без остановки. За несколько часов сумма на его счету выросла до астрономических значений. Журналисты не пишут, сколько именно денег получил Трей, но можно использовать простую математику. Если в часе 3600 секунд, то за несколько часов на счёт Трея поступила сумма, эквивалентная 720 000 долларам.
Утром, когда разработчик как ни в чём ни бывало пришёл на работу, то столкнулся со службой безопасности. Действия Трея вызвали бурное негодование, поскольку представители службы полагали, что парень намеренно присвоил себе большую сумму денег. К счастью для разработчика начальник признал, что разрешил внедрение утилиты и взял ответственность на себя. Он рассказал представителям службы безопасности, что настоял на интеграции недоработанного софта. После этого тестовый счёт Трея был обнулен, но авторы The Register не пишут, какие в итоге санкции применили к Трею и его начальнику. Ну а история наглядно показывает, к чему может привести спешка в разработке и внедрении программного обеспечения. Сообщается, что произошедшее стало уроком для всей компании, а возможно, и для всей отрасли, поскольку в программировании и тем более в области финансов мелкие ошибки могут стоить слишком дорого.