Есть старая шутка, что в программировании есть только две сложности — инвалидация кеша и придумывать названия вещам.

Меня больше достают интеграции. Когда разные системы должны работать вместе.

Недавняя авария AWS — это радикальный вариант с точки зрения взаимозависимости сложных систем, но вот совсем простой пример от нашего клиента.

Это успешное медиа, которое заказало спецпроект у подрядчика. Подрядчик сделал классный апп: даже авторизация в админку не просто по логину и паролю, а по OTP — одноразовыми кодами, всё как у взрослых.

Только коды эти приходят по почте. Поэтому они попросили завести в почтовой системе клиента адреса для отправки и получения. Что может пойти не так? Да всё!

Сначала происходит сломанный телефон между админом клиента и заказчиком и оказывается, что желаемые адреса уже заняты. Админ в конце-концов заводит пользователя для отправки писем и групповую рассылку для получателей.

Потом выясняется, что хостинг подрядчика режет подключения к SMTP портам. Решили временно использовать почтовый сервер подрядчика.

Жду, когда эти письма начнут попадать в спам.

Если можно обойтись без внешних зависимостей и интеграций — лучше без них!