🔥 «Говнокод», который зарабатывает деньги — и почему это не баг, а выбор
Все уже обсудили слив исходников Claude Code: посмотрели, разобрали и довольно быстро пришли к ожидаемому выводу — «никаких паттернов, всё плохо, код грязный». На этом обычно разговор заканчивается. Но если остановиться на секунду и посмотреть шире, возникает куда более интересный вопрос.
Этот «плохой» код:
• стабильно работает
• выдерживает нагрузку
• используется миллионами разработчиков
• и приносит деньги
И тогда логично спросить: если архитектурные паттерны действительно так критичны, почему команда, которая делает один из лучших инструментов для разработчиков, позволяет себе ими пренебрегать?
⸻
🧠 Где реальность расходится с учебниками
Проблема в том, что мы часто смотрим на разработку через призму «идеального мира», в котором всё должно быть красиво, структурировано и соответствовать best practices. Но продуктовая разработка живёт по другим законам.
Есть две параллельные реальности:
С одной стороны — инженерный идеал:
• чистая архитектура
• слои и зависимости
• отказоустойчивость
• переиспользуемость
С другой — реальность продукта:
• сроки
• деньги
• гипотезы
• необходимость быстро выходить на рынок
И в этой второй реальности чаще выигрывает не тот, кто написал «правильно», а тот, кто быстрее доставил ценность и проверил, что она вообще кому-то нужна.
⸻
💡 Непопулярная, но важная мысль
Архитектурные паттерны — это не цель и не религия. Это инструмент, который решает конкретные задачи.
Да, они критичны там, где:
• высокая нагрузка и требования к надежности
• сложная доменная логика
• долгий жизненный цикл системы
Но там, где продукт только формируется, где риски относительно невысоки, а скорость важнее идеальности, решение «сделать проще и быстрее» часто оказывается рациональным, а не халтурным.
⸻
⚡ Где чаще всего ошибаются команды
Очень часто аналитики, архитекторы и даже продакты начинают тянуть «правильную архитектуру» туда, где она пока не нужна. В итоге система усложняется раньше времени, разработка замедляется, а time-to-market страдает.
Парадокс в том, что в попытке сделать «как надо» команда может просто не успеть сделать «вообще».
⸻
✅ Что важно держать в голове
Зрелость инженера или TPM не в том, чтобы всегда следовать паттернам, а в том, чтобы:
• понимать их
• осознавать, какие риски они закрывают
• и осознанно принимать решение, когда их можно не применять
То есть речь не про «забить на качество», а про управление компромиссами.
⸻
🔥 Вывод
Идеальный код — это абстракция. Продукт — это всегда компромисс между скоростью, качеством и рисками.
И настоящий профессионал — это не тот, кто пишет «идеально», а тот, кто понимает, где можно сделать проще и быстрее, а где это приведёт к проблемам.
⸻
А ты как для себя проводишь эту границу?
Где заканчивается «разумный компромисс» и начинается технический долг, который уже опасен? 👇
Post #1164
676

- 👍 5