Откройте свой 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-бюджета у вас уходит на обслуживание долга? Если не знаете – это уже ответ.

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

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

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

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

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

Комментарии (23)


  1. Makakiss
    13.05.2026 09:06

    хммм, интересно


    1. achekalin
      13.05.2026 09:06

      Интересно то, что техдолг считается чем-то паразитным, появившимся из ниоткуда.

      На деле это вторая половина разработки именно продукта - и не учитывать его существование как раз и является самообманом (или неграмотностью).

      А уж сложные там проценты или нет - это частности.


  1. Esmi_17
    13.05.2026 09:06

    Формула со сложным процентом - красиво, но на практике всё ещё хуже и гораааздо сложнее.

    Долг растёт не равномерно, а скачками: уволился ключевой человек - скачок, поменяли фреймворк не до конца — скачок, пустили джуна в ядро без ревью — скачок.


    1. NetBUG
      13.05.2026 09:06

      пустили джуна в ядро

      Но онбордить как-то же надо...


  1. sotland
    13.05.2026 09:06

    Всё в принципе верно.

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

    Всё время, постоянно. И прочим разрабам поручаю.


    1. Andvecher
      13.05.2026 09:06

      Здорово что вообще стали активно писать про гигиену и подходы в IT, какую-то часть разработчиков это заставит тщательнее подходить к работе. Но и в реалиях отдельный разработчик, или целая команда зависят блин от кучи факторов: менеджмента, политики компании, внутреннего устройства самой комнады, и да, от сложности Легаси.


    1. Forden
      13.05.2026 09:06

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


      1. sotland
        13.05.2026 09:06

        Если непонятно, то ничего делать не нужно. Можно сделать не то.
        Нужно разуверить их в том что лозунг "Работает - не трогай" как и любой лозунг, имеет безграничное применение. В каждом случае применимость нужно доказать или обосновать.
        Бездумная жизнь под лозунгами - путь по которому не по пути ни кому на самом деле. Иногда, а иногда часто, нужно выходить за флажки.
        Для этого ум человеку и даден, даже разработчикам он даден.
        Короче, разговаривайте с ними...
        Боятся сломать и этим обосновывают "Работает - не трогай" - поручите написать тесты, сделать интеграционные, развернуть dev контур.
        Пусть их страхи отразятся им же обратно работой и трудом... Как говорит мой прапорщик: "Не хотел решать дифуры, отмывай плац"


  1. Andvecher
    13.05.2026 09:06

    Неплохо, но есть два замечания.

    1) Мне не хватило разделения между техдолгом и осознанным архитектурным компромиссом. Иногда команда специально берёт долг, чтобы проверить гипотезу или успеть к рынку. Проблема, на мой взгляд начинается когда он прекращает быть видимым и управляемым.

    2) С AI-кодом я бы тоже не был настолько категоричен. Он может генерировать мусор, но может и помогать гасить техдолг: писать тесты, находить дубли, объяснять старые участки, делать механический рефакторинг. Вопрос не в инструменте, а в том кто и как его применяет. А ИИ это чистой воды инструмент, сам по себе он репозиторий не покалечит.


    1. NetBUG
      13.05.2026 09:06

      Так с AI проблема не в нём самом. Это прилежный джун, который за токены малые сделает что угодно.

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


  1. IrenBelozerova
    13.05.2026 09:06

    Интересно, что все три компании из перечисленных кейсов — не маленькие стартапы без денег, у всех были бюджеты, люди, ресурсы. И всё равно утонули. Может проблема вообще не в деньгах на рефакторинг? Может проблема в том, что в индустрии до сих пор нет культуры, где CTO может прийти к борду и сказать «мы полгода не будем делать новых фич» — и его не уволят на следующий день? Пока тех долг остаётся проблемой инженеров, а не бизнеса — никакие формулы не помогут.


    1. DanilTezin
      13.05.2026 09:06

      прошла статья от них как раз про это
      https://habr.com/ru/companies/simpleone/articles/1033086/


    1. event1
      13.05.2026 09:06

      Может проблема в том, что в индустрии до сих пор нет культуры, где CTO может прийти к борду и сказать «мы полгода не будем делать новых фич» — и его не уволят на следующий день?

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


  1. AndrewBond
    13.05.2026 09:06

    Сама постановка задачи кажется странной.

    Почему исправление ошибок, переделка и пр. считаются отдельной строкой?

    Разве когда-то было такое, что единожды написанный код работал сразу и навсегда? Или существует код, написанный с первого раза без ошибок? Или код не приходилось переписывать из-за изменившихся требований, нового железа и тд?

    Так почему переделка и исправление не считаются неотъемлемой частью разработки кода?

    Почему их представляют каким-то вселенским злом и предлагаю бороться всеми способами?


    1. NetBUG
      13.05.2026 09:06

      Потому что Обратная Совместимость.


  1. DmitryOlkhovoi
    13.05.2026 09:06

    За много лет в разработке могу с уверенность сказать, что продукт как правило обновляется от а до я в рамках 5 лет. А то, что не обновляется не нужно или да - пишется с нуля, но у же с новыми требованиями и это ок для всех. Так что не переживайте, оставляйте сколько угодно этих todo, для душевного спокойствия)

    Можно пилить идеальное решение без техдолга, а на релизе его закроют за ненадобностью. Ловите какую-то середину.


    1. tenzink
      13.05.2026 09:06

      Домены бывают разные. Где-то код живёт и 20+ лет, принося хорошие деньги


      1. DmitryOlkhovoi
        13.05.2026 09:06

        Проект или код? Сам проект внутри себя меняется же постоянно, я об этом. Или код 20 лет не трогается? Это какие то особые домены)


        1. NetBUG
          13.05.2026 09:06

          Ну а где там кобольщиков нанимали несколько лет назад на космические зарплаты со словами "чот у нас пол-отдела на пенсию поуходило и поумирало"...


        1. tenzink
          13.05.2026 09:06

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


        1. AndrewBond
          13.05.2026 09:06

          У меня есть проги, которым больше 20 лет. Первые пару лет дописывал, потом пару раз дописывали другие. Думаю, лет 10 уже код проекта не меняется. и он в постоянной работе.


  1. ArtyomOchkin
    13.05.2026 09:06

    Одним словом, если раньше техдолг рос пропорционально размерам команды и возможностям по скорости кодописания и рефакторинга, то сегодня основным ограничителем (который и то не всегда есть) является количество потраченных AI-токенов, а техдолг теперь растёт по экспоненте.


  1. vasyakolobok77
    13.05.2026 09:06

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

    Интересная математика, если учесть, что MySpace запустился в августе 2003, а FB в конце 2003 - начале 2004.