Из-за сооснователя Instagram Кевина Систрома сайт соцсети не работал в день запуска час, а эксперт в области безопасности Алекс Стэймос устроил расследование секретной службы в крупном американском банке, переводя отрицательные суммы денег.
Пользовательница Twitter Элли Армагеддон запустила тред, в котором предложила разработчикам поделиться историями о своих критических ошибках в работе. Так она хочет показать молодым специалистам, что все допускают ошибки.
This is your unscheduled reminder that telling early-in-career engineers stories of times you messed something up real bad is a good way to help them combat their own impostor syndrome.
«Это незапланированное напоминание для вас рассказать начинающим разработчикам истории из своей практики, когда вы что-то напутали и всё испортили. Это хорошая возможность помочь новичкам справиться с синдромом самозванца»
@ElleArmageddon Day of instagram launch brought the site down for an hour because we forgot a favicon - system tried to send us an email for every 404 😬
«В день запуска Instagram сайт упал на час, потому что мы забыли добавить favicon — система пыталась прислать нам электронное письмо за каждую ошибку 404»
«Сказал "мы»". Должен был сказать "я"»
«По ошибке открыл бета-настройки приложения The New York Times всем пользователям. Все, кто находил их, могли отключить рекламу и разблокировать платный доступ»
«Добавил в приложение код, чтобы срок действия бета-сборки истёк через 90 дней. Я никогда не убирал его. Спустя три месяца и один день, после запуска продакшн-версии, я проснулся и увидел больше тысячи писем. (О, и так как срок действия сборки вышел, клиенты не могли автоматически обновить её до исправленной версии)»
«Шли первые недели моей работы в Facebook. Если кто-то из пользователей переезжал в новый город, то тут же становился другом всем в этом городе. Моя вина!»
@iam_rahool I can't remember, but I do remember that it was a display bug of some kind. If you clicked on profiles of people you appeared to be friends with but weren't it would show you weren't friends and not break any privacy.
«Это была какая-то ошибка отображения, уже не помню точно. Если вы откроете профили людей, с которыми якобы дружите, но на самом деле нет, то увидите, что вы не друзья. Нарушения конфиденциальности не было»
«Я работал над резервным копированием данных для команды разработчиков микропроцессора Itanium в HP. Им нужно было быстрое восстановление. Я удалил свежие файлы перед восстановлением вчерашних резервных копий. Попытка восстановить их провалилась. Вероятно, моё удаление стоило нескольких миллионов долларов»
«Мой стартап SpeakerText был запущен в 2010 году во время TechCrunch Disrupt, а TechCrunch стал нашим первым клиентом. Наша абсолютно не проверенная программа сломала сайт TechCrunch.com примерно на час. Основатель TechCrunch Майкл Аррингтон был на сцене, поэтому он так и не узнал об этом»
«Спасибо, что сказал мне об этом сейчас?»
«Это представит меня в ужасном свете, но...Я отправил дискету очень сердитому клиенту с исправлением очень глупой ошибки, которую я написал. Незаметно для меня на диск попал вирус. Они подумали, что я сделал это нарочно»
«Однажды я отрубил наш почтовый сервер, отправив 50 тысяч электронных писем каждому менеджеру по продукту в компании. А ещё я как-то раз во время ребрендинга поставил в очередь неверную версию около шести тысяч пресс-релизов и должен был выяснить, как это исправить до обратного отсчёта запуска с шампанским»
«Моё любимое: однажды я вырубил все игровые автоматы и столы в казино во время обеденного перерыва в пятницу. Понятия не имею, сколько миллионов было потеряно»
«Я использовал пакет исправлений к серверу AS/400. При запуске он выключает сервер, поэтому у него есть настройка, когда его применить. Я написал опцию для немедленного запуска. Там не было вопроса "Вы уверены?", так что сервер сразу же отключился»
«В 2000 году каждый владелец счёта в крупном американском банке имел один и тот же номер счёта в течение 47 мучительных минут после 21:30. Из-за меня»
@ElleArmageddon I was supervising a pen-test of a decent sized bank, and we found a mismatch between how the Java web app and backend mainframe handled integers. This let us transfer negative amounts of money and, effectively, invent money out of thin air.
«Я руководил пентестом в банке приличного размера, и мы нашли несоответствие в том, как Java в веб-приложении и мейнфрейм обрабатывают целые числа. Это позволило нам переводить отрицательные суммы и фактически делать деньги из воздуха»
@ElleArmageddon We were testing against production, and the customer had wanted a heads up before doing anything really risky. It was late at night, so we decided to do the PoC and let them know the next morning. Mistake #1. Mistake #2: we tested with $5M and not $5.
«Мы тестировали уже на проде, и клиент хотел знать заранее, если будем делать что-то и правда рискованное. Была поздняя ночь, поэтому мы решили проверить гипотезу и сказать ему об этом на утро. Это первая ошибка. Вторая ошибка: мы тестировали с $5 млн, а не $5»
@ElleArmageddon Banks continuously run batch jobs and know exactly how much money they have on hand, checking that against a variety of records and the Federal Reserve. A $5 mismatch triggers an investigation. For $5M, the Secret Service is there at 8am the next morning. Anyway, lessons learned!
«Банки постоянно отслеживают кражи и точно знают, сколько денег у них на руках, сверяя данные с различными документами и Федеральной резервной системой. Пропажа 5$ запускает расследование. За $5 млн секретная служба была в банке уже на следующее утро. В любом случае, урок усвоен!»
«Ты имеешь ввиду время, когда я случайно вырубил sony.com, закрыл серверную клетку , покинул дата-центр и сел в метро?»
@ElleArmageddon I once used cron to send a marketing email to 15k users. Took more than a minute so the next cron iteration spawned a new process and sent the same email again to 15k users, same again a minute later. Didn’t realise for 2 hours. Made the same mistake with the apology email 🤦♂️
«Однажды я использовал команду cron для отправки маркетингового письма 15 тысячам пользователей. Это заняло больше минуты, поэтому следующая итерация cron запустила новый процесс и отправила то же письмо тем же 15 тысячам пользователей, а спустя минуту вновь. Два часа я не понимал это. И повторил эту ошибку, когда отправлял письмо с извинениями»
«Я потерял две недели написания кода, когда очистил корзину после того, как мой малыш открыл для себя перетаскивание иконок в корзину»
@ElleArmageddon Ohhhhh there was that one time when accidentally inverted an if statement, and so every time someone tried to save their profile, it got deleted instead. Took 450 profiles before we figured out what was going on 😅
«Ох, как-то раз я случайно перевернул оператор if и каждый раз, когда кто-то сохранял свой профиль, он удалялся. Прежде чем мы поняли, что происходит, пропало 450 профилей»
@ElleArmageddon I plugged a 9 volt power adapter into a 5 volt Android device worth $300 . This silently destroyed it beyond repair.
"This device is faulty" I said.
So I got a different 5 volt Android device and plugged it into the same power adapter.
«Я подключил адаптер питания на девять вольт к Android-устройству на пять вольт ценой $300. Это тихо уничтожило его без возможности реанимировать. "Это устройство с дефектом", — сказал я. И получил новое устройство Android на пять вольт, и подключил его к тому же адаптеру»
@ElleArmageddon I had just finished installing software on a production web server in the early 2000s. When I finished, I went to clean up my working directories with an "rm -rf *". I didn't double check where I was in the file system first. I was at the root and wiped the whole system. 😭😭
«Я только закончил устанавливать программное обеспечение на веб-сервер в начале 2000-х годов. Когда завершил, то пошёл почистить мои рабочие каталоги командой "rm -rf *". Я не проверил, где нахожусь. Я был в корне и снёс всю систему»
@ElleArmageddon It's cliche because it happens.
We had backups of the data but not the system configuration itself. It was the days before all our fancy devops configuration management tools. I had to rebuild the server by hand before I could restore the web site backups.
«У нас были резервные копии данных, но не конфигурации самой системы. Это было до того, как появились модные инструменты управления DevOps. Мне пришлось перестраивать сервер вручную, прежде чем я смог восстановить резервные копии сайта»
@ElleArmageddon The server was at a colocation facility, so I had to physically go there to reinstall the OS before I could start rebuilding. It took me an entire day to bring everything back up. A very. Long. Day.
«Сервер находился на территории провайдера, поэтому мне пришлось физически отправиться туда, чтобы переустановить ОС, прежде чем я смогу запустить восстановление. Мне потребовался целый день, чтобы привести всё в порядок. Очень. Длинный. День»
@ElleArmageddon I was working at Zenimax Online supporting the Elder Scrolls online at it's launch. I was supposed to be patching European Servers during their maintenance window.... accidentally did the US servers instead....and it was during peak hours. Locked 40k people out midgame
«Я работал в Zenimax Online, поддерживал Elder Scrolls Online во время запуска. Я должен был патчить европейские серверы во время технического обслуживания. Случайно я сделал это для американских серверов, и это произошло в пиковые часы. 40 тысяч человек оказались заблокированы посреди игры»
@ElleArmageddon I toasted a prod database on the first day of my first internship. I had added some new columns to a database table in a SQL file, and asked the senior engineer how to update the schema. "Just run the install method" they said, without telling me that it would first drop the DB.
«Поджарил продакшн-базу в первый же день своей первой стажировки. Добавил несколько новых столбцов в таблицу базы данных в файле SQL и спросил старшего разработчика, как обновить схему. "Просто запустите метод установки", — сказали мне, но не предупредили, что сначала БД будет сброшена»
«Когда в 98-м я оказывал техподдержку для AOL, однажды сказал более младшему оператору поддержки: "Просто скажи им набрать команду deltree windows, это исправит их компьютер" и засмеялся. А потом он повторил это клиенту и тем самым начал удалять их Windows 98»
Расскажите в комментариях свою историю о том, как допустили ошибку на работе и к чему это привело.
Будучи совсем зелёным джуном сломал регерацию энергии в казуальной игре, если энергии не было игра ставила ультиматум или плати или не играй, все осложняло что новый патч эпл ревьювил неделю.
П.С. зато продажи скачнули :D
и вы решили откатить патч, угадал?)
Фикс вылили, это тупая механика тех лет, есть X энергии играя она тратится, кончившись, восстановится через 24 часа, что бы пользователи весь контент за день не вырабатывали. Просто из-за скачнувших продаж, мне за это нечего не было :)