Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11

Как непротестированная вкладка чуть не убила релиз

История из первых рук о том, как незаметная «забытая» вкладка во время финальной проверки привела к 500-й ошибке, панике и спасению релиза в последний момент. Про усталость, стыд, самоиронию и то, как команды учатся на собственных провалах (иногда на горьком опыте).

307 открытий3К показов
Как непротестированная вкладка чуть не убила релиз

История ради истории про мой проход по тонкому льду и дефекты прямо перед демо.

Также подписывайтесь на мой ТГ, который я почти не веду.

Однажды, в самом начале карьеры, когда я была молода и горяча, мы пилили приложение. Большое, серьёзное, адски сложное и практически неподъёмное. Сидели до ночи, заливались литрами кофе, выходили в выходные и на ноябрьские праздники, чтобы на руках пронести первый релиз — сдобренный молитвами и нашими слезами.

Я помню, как сейчас, ту прекрасную зимнюю пору: готовилась к демо. Последняя попытка. Последний шанс выйти в прод до нового года. Коллеги из других команд уже ушли на новогодний корпоратив — пить, курить и веселиться. А мы узким кружком готовились к демонстрации. Часики тикали, всё почти готово. Я открываю финальную вкладку… и у меня схлопывается интерфейс в ошибку 500, приложение встаёт колом — ни туда, ни сюда.

Мы выкатываем глаза, разработчик начинает исправлять дефекты наживую, а минутная стрелка стремительно приближается к началу демо.

Пока все собираются, я начинаю тираду в духе: «Добрый день, здравствуйте, дорогие коллеги. Мы очень рады представить вам наш мертворождённый релиз…»

На фоне вижу, как разработчик машет руками и показывает пальцами вверх: он починил, всё будет хорошо.

Я радостно показываю новый функционал, который, вообще-то, был хорош — действительно годный для старта, чтобы опробовать и понять: надо/не надо. Мне он нравился от начала и до конца. Всё шло гладко, я подробно рассказывала про каждую кнопочку, вкладочку и ссылку — всё будет ровнее ровного.

И тут я понимаю… О боже. Холодный пот выступает на лбу, когда я осознаю, что в тестировании бэкенда я совсем забегалась и даже не открывала ту злополучную вкладку, которая может схлопнуть приложение.

Нет.

В ней не пророс буйным цветом дефект регресса. Она не тестировалась вообще.

Никогда.

Ошибка 500 не была случайностью. Она была слепым пятном, про которое в спешке я забыла!

Господь. Я была плохой девочкой и тестировала без документации и тест-кейсов. Но обещаю, что это мой последний провал (ха-ха — нет). Обещаю потом всё задокументировать (нет). Обещаю аккуратно ввести рабочие планы (всё ещё нет).

Я взмолилась (всем известным богам) и в частности своему разработчику, который стоял за моей спиной, пил кофе и следил за демо. Мне было страшно и стыдно; с трясущимися пальцами я медлила открыть ту самую вкладку.

Кажется, мозг отключился. Я уже приготовила монолог: «Мы так задумывали — чтобы приложение умирало между запросом и ответом. Так вы сможете сделать себе чай, пока серверы проходят свой персональный краш-тест.»

Быть опозоренной перед всеми: заказчиками, пользователями, инфобезой, командой разработки. Я ощутила как над моей головой нависла секира невидимого палача, чтобы одним рывком – точным и расчетливым – перерубить мою карьеру на корню. Я была готова выкладывать свое резюме на hh под бой курантов.

И вдруг кружок загрузки завертелся — вкладка открылась.

За моей спиной аналитик и разработчик дают друг другу «пять» и чокаются кружками мерзкого американо, потому что молоко скисло ещё вчера.

Мы справились. За час мы пролетели через все эмоциональные качели: провал — успех — осознание приближающегося конца — смерть — и снова успех.

Не помню, напились ли мы после того рабочего дня или залипали в стену до новогодних праздников. Кажется, мой мозг заблокировал те воспоминания, которые случились именно тогда.

Хочу отметить: потом мы долго и скрупулёзно доводили процессы до ума, чтобы уже не бегать с горящей задницей перед релизом.

Да, мы бегали.

Да, у нас были провалы.

Да, у нас были дефекты в проде.

Очень много «да». Я складываю руки в молитве за каждый такой провал и верю, что мне ещё много чему предстоит научиться. И да — я облажаюсь еще раз. Я в этом уверена и с какой-то тёплой надеждой жду момента, когда снова придётся преодолеть очередную катастрофу.

К чему это я? Приближается горячий сезон, и каждый из нас готовится к нему. Не знаю, как вы, но мои единственные планы на высокий сезон — это скидки на Алиэкспресс и попытка ухватить навесной унитаз по вопиюще низкой цене. Я слишком долго пила антидепрессанты, чтобы работать в таком режиме в свои 27.

Никто не вспомнит, как ты задерживался на работе. Тебя заменят другим человеком, и никто не поставит памятник (разве что ты сам соберёшь его из гор пластиковых кофейных стаканчиков).

sorry not sorry

Хочу поддержать каждого, кто проходил через подобное. У меня нет слов, чтобы описать, сколько боли и нервов было потрачено тогда, и сколько трудностей ждёт нас впереди.

Если вы дошли до этого места — спасибо вам. И помните: всё обязательно получится (или не получится). Не теряйте веры. Не теряйте надежды. Продолжайте учиться и совершенствоваться.

Будущее не будет радужным и безоблачным — на самом деле, никогда не будет.

Но я верю в вас. Я учусь на своих провалах и катастрофах. Я знаю, что иногда была не права и по-старинке остаюсь идиоткой время от времени (уже меньше, но всё ещё бывает).

Следите за новыми постами
Следите за новыми постами по любимым темам
307 открытий3К показов