Как я потерял 5 миллионов на проекте 💸
Работа в финтехе – это как сапёр: один неверный код ответа, и твой релиз превращается в историю для собеседований на ближайшие 5 лет. Особенно когда речь о деньгах клиентов. Сегодня расскажу, как одна маленькая ошибка чуть не стоила мне места работы, а компании – репутации и миллионов рублей.
Картина маслом:
- Пятница
- Финтех-продукт
- Сотни тысяч транзакций в день
- Сотни миллионов в обороте
- До НГ остались считанные дни
- Мы только что выкатили "небольшие доработки" платёжного функционала
- Я пью кофе и думаю о корпоративе
И тут начинается... Звонок первый: "Эм... кажется, мне прилетело два платежа вместо одного" Я: нервно отставляю кофе Звонок второй: "Ребят, у меня тут двойная выплата..." Я: начинаю потеть (Умножаем панику на количество активных пользователей) Звонок от генерального: "КАКОГО Х*Я ПРОИСХОДИТ?!" кофе окончательно остыл, а я, кажется, поседел. СТО влетает в опенспейс как Усэйн Болт, я за ним... И тут начинается самые напряженные полтора часа в моей карьере.
Первые 40 минут: судорожно ищем причину в платёжном процессинге Следующие 30 минут: матерящиеся разработчики разбирают каждый шаг интеграции с банками Последние 20 минут: "НАШЛИ! ФИКСИМ!"
Что пошло не так:
- Новый банк возвращал нестандартный код ответа
- Наша система: "Ой, ошибка! Надо попробовать через другой банк!"
- И понеслась... автоматика сделала своё черное дело 🎢
Итог: за эти полтора часа мы успели сделать двойные выплаты на 5 миллионов рублей. В финтехе минуты простоя стоят денег, а ошибки – утроенной суммы.
Что делать, как возвращать деньги? Началось самое "весёлое" – обзвон всех получателей: "Здравствуйте, тут такое дело... можно деньги обратно?" "А вы точно из той самой компании?" "Нет, это не розыгрыш..." "Да-да, мы понимаем, что деньги уже потратили..."
Вернуть удалось чуть больше половины. Остальное... ну, скажем так, это был очень дорогой урок для всех 😓
Выводы, которые я сделал:
- В финтехе нет маленьких релизов – каждое изменение может стоить миллионы
- Релизы перед праздниками – это всегда плохая идея, особенно когда речь о деньгах
- Нестандартные ответы от API нужно валидировать как будто от этого зависит твоя жизнь (потому что в финтехе реально зависит)
- Важность тестирования граничных случаев в финансовых операциях невозможно переоценить
P.S. А у вас какие были самые эпичные факапы на работе?