Без фейлов в IT никак. Конечно, немногие готовы открыто рассказать о своих ошибках, а часто это еще и запрещает NDA. Но случай, из-за которого и стыдно и смешно, есть у каждого. Вот несколько таких историй.
Бесконечный баг
Данил Юсупов, инженер-программист компании ICL Services:
— Сломался у нас однажды деплой на тестовую среду. При этом CI-билды благополучно собирались, и мы считали, что наш сервис успешно деплоится.
В итоге бедная тестировщица всю неделю тестила один и тот же баг, а мы все это время думали, что заливали свежую версию сервиса.
Компьютер все время побеждает
Stoo, разработчик:
— Я написал карточную игру (Pontoon, «21», блек-джек — называйте как угодно) для проекта в выпускном классе. Надо было показать экзаменатору, как работает программа. Но за несколько минут до презентации игры я заметил, что компьютер все время побеждает… даже когда не нужно.
И тут я осознал, что компьютерному игроку достались «руки» обоих соперников (причина — копипаста без изменения имен переменных), поэтому он такой крутой и всегда выигрывает. (источник: sharkyforums.com)
Отключение дата-центра
Игорь Наметчинюк, full-stack разработчик:
— Один раз коллега выключил половину дата-центра, потому что выдернул не ту вилку из розетки. Не спрашивайте, что за дата-центр. Благо его уже нет.
Коварство овощей
Андрей Попов, системный администратор:
— Звонит пользователь: не включается компьютер, хотя все везде подключено. Я отправляюсь наверх и вижу — действительно не работает. Минут 15 суетился. Потом все-таки додумался перепроверить шнур питания. Следую по кабелю...
Оказывается, пакет огурцов упал на выключатель питания со стола, вырубил его и замаскировал. Мы все еще смеемся над этим тикетом: «Смерть от овощей».
Я кодил в поте лица
Анонимный разработчик:
— Во время моего первого технического интервью меня спросили: «Знаете про задачу FizzBuzz?» Я честно признался, что нет. Подумал, что это какая-то алгоритмическая задача. Тогда интервьюер объяснил: «Надо вывести числа от 1 до 100. Если число делится на 3 — выведите Fizz, если на 5 — Buzz, если и на 3, и на 5, — FizzBuzz. Другие числа просто выведите без изменений».
Как только я это услышал, в моем беспокойном сознании появилась куча идей. Я немного подумал и сказал: «Если сумма цифр числа кратна 3, то число кратно 3, если последняя цифра 0 или 5, то число кратно 5». Я начал кодить свое решение, а интервьюер говорит: «Есть решение попроще. Что думаете об этом?»
Я взволновался еще сильнее. Немного подумал и выпалил: «Начинаем с 3. Счетчик учитывает, сколько итераций было после этого. Через каждые три итерации число точно кратно 3. Можно попробовать это решение?» Интервьюер: «Конечно».
Я кодил в поте лица минуты 3 и потом осознал, что это решение внедрить еще сложнее. Интервьюер заметил мою борьбу и решил вмешаться: «Вы когда-нибудь слышали о делении с остатком?»
В полном смущении я написал код за 30 секунд. Конечно, после этого не было никаких вопросов. Только немой укор самому себе и потребность переоценить свой интеллект. (источник: quora.com)
Ирония судьбы или неделя восстановления данных
Анна Пашаян, разработчик:
— Была в базе данных процессинга таблица, которая называлась «платежи2», и все удивлялись, почему такое тупое название. А его история такая: была таблица «платежи», и там хранились все проводимые процессингом платежи. Это была главная таблица системы, там было очень много важных данных. И вот один разработчик, имея доступ на продовую базу, случайно перепутал ее с тестовой БД. Хотел поменять ее структуру — зашел и удалил эту таблицу. Ирония судьбы — не было ее свежего бэкапа. В итоге вся команда неделю восстанавливала данные таблицы по логам практически в ручном режиме, благо их оттуда можно было извлечь.
И напоследок легендарная история из техподдержки IBM:
Клиент (К): Вы прислали мне установочный диск, и теперь мой дисковод не работает!
Оператор техподдержки (О): Дисковод не работает?
К: Именно! Вы прислали мне плохой диск! Он застрял, и теперь ничего не работает!
О: Он не установился должным образом? Какие сообщения об ошибках вы получали?
К: Ничего я не получал! Диск застрял, и я попробовал достать его с помощью плоскогубцев, но это тоже не сработало.
О: Извините, повторите, пожалуйста, что вы сделали?
К: Я взял плоскогубцы. Попробовал достать диск. Он не сдвинулся с места. Только пластик хрустнул немного.
О: Я немного не понял, вы нажимали на кнопку Eject, чтобы достать диск?
К: Нет. Потом я взял немного сливочного масла, растопил его и положил в дисковод. После этого плоскогубцы вошли отлично и я достал диск. Не ожидал, что вы пришлете мне брак!
О: Я правильно понял, вы залили сливочное масло в дисковод и затем воспользовались плоскогубцами? (Тут я включил громкую связь, чтобы другие специалисты поддержки тоже могли услышать разговор.)
К: Именно! Я положил масло в дисковод, чтобы достать ваш чертов диск, а потом воспользовался плоскогубцами!
О: Вы нажимали на ту маленькую кнопку, которая горела, когда диск был в дисководе? Вы знаете, что она называется кнопкой извлечения диска?
К: (Молчание.)
О: Сэр?
К: Да.
О: Cэр, вы нажимали на кнопку извлечения диска?
К: Нет! Но я подам на вас в суд за то, что вы сломали мне компьютер!
О: Позвольте прояснить. Вы хотите засудить нашу компанию, потому что вы вставили диск в дисковод, не следовали инструкциям, которые мы вам отправили, не обратились к нам за поддержкой, не ознакомились с руководством пользователя о том, как правильно использовать компьютер, а вместо этого налили масло в дисковод и потом вытащили диск с помощью плоскогубцев?
К: Хм....
О: Вы действительно надеетесь выиграть суд, учитывая, что каждый разговор с поддержкой записывается?
К: (уже жалобным голосом) Но вы же должны помогать!
О: Простите, сэр. Но сейчас мы ничего не можем сделать для вас. Хорошего дня!
А у вас есть подобные истории? Признавайтесь.
Пройти обучение