惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
G
Google Developers Blog
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
I
InfoQ
MyScale Blog
MyScale Blog
V
V2EX
B
Blog
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Ваша кодовая база умрёт через 7 лет. Считаем на пальцах
SimpleOne_it · 2026-05-13 · via Все публикации подряд на Хабре

Средний

9 мин

11K

Откройте свой git log за последний месяц. Посчитайте коммиты, начинающиеся со слов fix, hotfix, temp, workaround или (классика жанра) – //TODO:переписать нормально.

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

А зря.
Разработчик тратит на обслуживание этого долга, по разным оценкам, от 23 до 42% рабочего времени. Это значит, что каждый понедельник вашей команды уходит на бесплатный рабочий день в пользу старого кода, или полтора месяца в год каждый год без учёта отпусков и больничных.

Но это, как понимаете, цветочки. Техдолг не бывает статичным, это начисленные, но не выплаченные проценты, которые компаундятся быстрее, чем растут зарплаты разработчиков.  В этой статье мы посчитаем через сколько лет техдолг съест ваш IT-бюджет целиком. И если в конце вам станет неуютно значит вам пора задуматься.

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

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

Ключевое слово тут «уже». Долг существует уже прямо сейчас, а не в будущем, прямо как проценты у банка, которые капают каждый день. Разница в том, что проценты растворены в скорости вашей команды, в продолжительности ревью кода, количестве багов после релиза и в том, что новый джун входит в проект три месяца вместо одного.

Технический долг – это как тёмная материя: вы знаете, что он существует, можете оценить его влияние, но не можете его увидеть или измерить напрямую

Пойдем дальше – аналогия с финансовым долгом работает буквально.
У техдолга есть тело долга: стоимость того рефакторинга, который нужно сделать, чтобы привести систему в нормальное состояние. И есть проценты – время, которое команда тратит каждый рабочий день, чтобы работать с этим кодом в его нынешнем виде. 

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

Такая злая магия. Финансовый кредит вы, по крайней мере, видите в выписке, а техдолг точно нет. Он не отображается в P&L, недоступен для аудиторов и его тем более не видит инвестор на дью-дилидженсе (если только не привёл с собой грамотного CTO).

Рассмотрим с какой скоростью он может расти.

Математика смерти

Раз уж мы пошли по финансовой метафоре, нам не понадобится Excel с двадцатью вкладками или эксперт из MBA. Обойдёмся одной формулой сложных процентов, она идеально ляжет в случай с техдолгом.

Сложный процент работает в две стороны: если вы кладёте деньги в банк под 10% годовых спустя семь лет сумма удваивается. Если же вы должны кому-то под 10% принцип работает наоборот. Так вот техдолг и есть вклад наоборот. 

И ставка по нему, в зависимости от того, в какой компании вы работаете, колеблется между 5% и 20% годовых.

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

Долг через N лет = текущий долг × (1 + ставка роста)^N

Параметр

Стартап (2–3 года)

Середнячок (5–7 лет)

Энтерпрайз (10+ лет)

% IT-бюджета, уже уходящий на долг

~20%

~40%

~65%

Скорость роста долга в год

15%

10%

6%

Когда долг съест 80% бюджета

через ~10 лет

через ~7 лет

через ~4 года

Стартап выглядит безопаснее всех, у него большой запас прочности. Но это иллюзия. Скорость роста долга в стартапе кратно выше: команды небольшие, с поверхностным ревью, главный девиз «деплоим, потом разберёмся». Через десять лет стартап либо превратится во что-то большее и унаследует свои грехи, либо умрёт раньше, чем долг успеет дозреть (что и выходит в большинстве случаев).

Середнячок самая болезненная категория.
На пятом году жизни у него уже есть легаси, но ещё нет ресурсов крупной компании на полноценный платформенный рефакторинг. В этой точке CTO впервые произносит эпохальные слова «нам нужно всё переписать», и если получит в ответ «нет, у нас роадмеп», откроется счёт дней до увольнения, притом уже не важно кого.

По классике с энтерпрайзом всё по-особенному. Парадокс в том, что он проживёт дольше всех, т.к. у него есть бюджет, чтобы тушить даже пожары годами. Но «тушить» и «развиваться» глаголы разные . К моменту, когда долг съедает 80% бюджета, компания превращается в зомби: формально жива, но новых продуктов не выпускает уже годами. 

А теперь, барабанная дробь, главное!

Данный расчёт сделан в оптимистичном допущении, что выручка и зарплатный фонд растут вместе с долгом, но они не растут. По данным Хабр Карьеры, зарплаты IT-специалистов в РФ за 2024–2025 выросли в среднем на 2%, что как понимаете ниже официальной инфляции. Выручка большинства российских IT-компаний сопоставима.

А долг растёт на 10% в год, в среднем по больнице. Это значит что каждый год доля бюджета, которую вы можете направить на новые фичи, физически сокращается. 

Когда технический долг подразделения превышает 50% стоимости его технологических активов, риски и затраты старых систем начинают перевешивать их ценность.

McKinsey – известнейшая консалтинговая компания

Переведём с американского айтйшного на русский: дешевле снести и построить заново. 

Что это значит для вас?

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

Итак, если вы разработчик

Помните, что вы пришли в эту профессию что-то строить?
Ради алгоритмов, архитектуры, новых библиотек, и того самого момента, когда тесты впервые загораются зелёным.

А теперь ответьте честно: что вы делали на прошлой неделе? Сколько часов потратили на дебаг кода, написанного человеком, которого уже нет в компании? Сколько раз открывали файл на 4 000 строк и закрывали обратно, не трогая, потому что страшно?

Если по ощущениям много, то это не ощущения. По разным данным, в среднем от 23% до 42% времени разработчика уходит на борьбу со старым кодом, вмес то написания нового. 

В 2024-м Atlassian вообще насчитал, что 69% разработчиков теряют 8+ часов в неделю на разные формы неэффективности (тот самый понедельник). Силы уходят на обслуживание системы, которую построили вы или тот, кто был до вас.

Опять же, если обратиться к исследованиям, только 19% профессиональных разработчиков довольны своей работой (2024, Stack Overflow), и это рекорд за всё время наблюдений, в худшую сторону. Как вы уже понял, главная причина ощущение, что строишь не вперёд, а назад. Каждая новая строчка кода, написанная сегодня поверх техдолга, становится завтрашним техдолгом для того, кто придёт после вас, и вы это знаете. Просто у вас нет других опций: роадмап горит, релиз послезавтра, а в таск-трекере  ещё двенадцать тикетов.

Если вы руководитель

У вас есть метрики.
Velocity, lead time, deployment frequency, change failure rate и т.д.. Вы их смотрите, а они стабильно ухудшаются. Команда говорит, что всё нормально, но фичи выходят дольше, чаще откатываются релизы, и всё в этом духе. И проблема не в команде.

Метрики врут редко: дашборд спринта в SimpleOne SDLC

Метрики врут редко: дашборд спринта в SimpleOne SDLC

Компании с высоким техдолгом тратят на поддержку систем на 40% больше конкурентов и выпускают новые фичи на 25–50% медленнее. Те же, кто активно работает с долгом, растут по выручке на 20% быстрее. Двадцать процентов годового роста – за одно решение не позволить кодовой базе деградировать. 

Когда CEO спросит у вас «почему deployment frequency упал в три раза за два года» это вне компетенции DevOps, а математическое следствие того, что два года назад вы посмотрели на предложение рефакторинга ядра, и ответили «потом, у нас квартал». Теперь «потом» наступило, и достанется оно или вам, или преемнику.

И последнее.
Когда лучшие инженеры начнут уходить (а они начнут, потому что строить новое в России и так есть где), они унесут с собой кое-что кроме опыта. Они унесут единственную карту вашего легаси, которая существовала только у них в голове. Это самый дорогой вид техдолга, потому что у него нет инвойса.

Некрология успешных компаний

Чтобы не быть голословным разберем три кейса хороших компаний, которые утонули из-за откладывания и последующего самоубийства техдолгом.

Knight Capital: 45 минут, $440 миллионов и 18 лет в помойку

К 2012 году Knight Capital был крупнейшим трейдером американских акций – через их платформу проходило около 17% (!) всего объёма торгов на бирже США.

1 августа 2012 года команда под дедлайном выкатила обновление торгового алгоритма. Чтобы успеть, повторно использовали кусок старого кода, который должен был быть удалён ещё несколько лет назад, но никто не дошёл до уборки. Кусок остался на одном из серверов, был случайно активирован и за 45 минут после открытия NYSE начал покупать и продавать акции в гигантских неавторизованных объёмах.

$440 миллионов за сорок пять проклятых минут. На следующий день акции Knight Capital упали на 75% . К лету 2013 года компания была вынуждена продаться конкуренту. Всё из-за старого куска кода, который «потом удалим».

Friendster: первая социальная сеть, проигравшая TPS

Кто-то ещё помнит Friendster? Если нет, как говорится, это и есть весь поинт.

В 2002 году Friendster был первой полноценной социальной сетью в современном понимании, ещё за полтора года до Facebook, и за два до MySpace. На пике было свыше 100 миллионов пользователей, и у них были все ресурсы стать тем, чем стал Цукерберг.

Но не стали, потому что страницы грузились по 20-40 секунд. Команда не успевала масштабировать архитектуру под рост, и каждое решение принималось по схеме «давайте быстро, а потом перепишем». К моменту, когда у конкурентов страницы открывались за две секунды, пользователи Friendster уже ушли к более расторопным сервисам.

HealthCare.gov: пятьдесят подрядчиков, ноль архитектуры

В 2013 году правительство США запустило HealthCare.gov — национальный портал медицинского страхования. К разработке привлекли более пятидесяти подрядчиков, каждый из которых строил свой модуль. Единой архитектуры не было.

В день запуска портал упал под первой же реальной нагрузкой. Из 4,7 миллиона человек, попытавшихся зарегистрироваться в первые сутки, прошло меньше 1%. На восстановление ушли месяцы и сотни миллионов долларов сверх бюджета – публичное унижение национального масштаба за деньги налогоплательщиков.

Тут даже не не классический техдолг, а organizational debt в чистом виде: пятьдесят команд и ни одного владельца за конечный продукт.

Что у них общего?

Ни одна из этих компаний не считала себя вот-вот умирающей. Knight Capital был лидером рынка. Friendster №1 в социальных сетях, а вообще HealthCare.gov финансировался самой могущественной экономикой мира.

И все трое смотрели на свой техдолг и говорили: «У нас всё под контролем. Разберёмся потом».

Результат на лицо.

Катализатор апокалипсиса

Всё, что мы посчитали выше, про традиционный техдолг. Тот что копится со скоростью человеческих рук. Но это, снова барабанная дробь, была эпоха до AI.

Теперь представьте, что в команду пришёл стажёр, который пишет код в десять раз быстрее всех остальных. Производительность мечты, только этот стажёр не знает архитектуру вашего проекта, не помнит, что вы уже писали такую функцию три месяца назад, и время от времени выдумывает API-методы, которых не существует. И за ним некому проверять, потому что и так все заняты.

Это AI-копайлот, вайб-кодинг, Cursor, Claude Code, Windsurf, GitHub Copilot, и так далее, и тому подобное. И именно это происходит сейчас в большинстве команд, которые сделали ставку на скорость.

К цифрам, которые уже есть:

45% сгенерированного LLM кода содержит уязвимости безопасности, а рост adoption AI-инструментов на 90% коррелирует с ростом времени ревью кода на 91% и ростом размера pull request на 154% – то есть код пишется существенно быстрее, чем проверяется. 

GitClear проанализировал 211 миллионов изменённых строк кода за 2020–2024 годы. С приходом AI-копайлотов доля дублирующегося кода выросла в четыре раза. Т.е. AI генерирует решения, которые в кодовой базе уже были, но он об этом не знает, а ревьюер их тупо пропускает.

Я не думаю, что за 35 лет карьеры в технологиях видел столько технического долга, созданного за такое короткое время

API-евангелист Kin Lane

Но есть еще более интересная цитата от Стива Краузе

Когда вы вайб-кодите, вы накапливаете техдолг со скоростью, с которой LLM может его генерировать. Это как дать кредитную карту ребёнку, не объяснив концепцию долга

Это новый класс долга – назовём его код без автора.
Никто не знает, как и почему он работает. И даже по логике когда он сломается, никто не будет знать, что с ним делать.

Ожидается, что к 2028 году подход «prompt-to-app» увеличит количество дефектов в ПО на 2500% – в 25 раз. 

Помните 10% годового роста долга из второго блока?
Можете (по вашему желанию) больше не переживать, в эпоху AI это даже не средний показатель, а так, точка старта.

Вопрос в зал

Если вы дочитали до этого места значит, что-то в статье попало.
Простого решения у этой задачи нет ,иначе мы бы не наблюдали $1,5 трлн годового долга у одних только США. Но есть несколько вопросов, которые имеет смысл задать себе. 

  • Какой процент IT-бюджета у вас уходит на обслуживание долга? Если не знаете – это уже ответ.

  • Когда последний раз в вашем роадмапе появилась задача уменьшить техдолг, а не выкатить фичу?

  • Сколько ваших разработчиков смогут уйти завтра, унеся с собой единственное знание о том, как работает критическая часть системы?

  • Если бы вы показывали продукт инвестору сегодня – вы бы открыли ему кодовую базу?

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

И теперь главный вопрос.
Через сколько лет, по вашей честной оценке, умрёт ваша кодовая база?