НовостиОбзорыСобытияIT@WorkРеклама
ИТ-менеджмент:
Названа лучшая студия дизайна интерьера Санкт-Петербурга в 2026 году для IT-специалиста
Мы изучили рынок дизайн-студий и поговорили с коллегами из IT, которые недавно делали ремонт. Вердикт …
Что дает объединение корпоративного поиска, ИИ-ассистента и онбординга в одной архитектуре: опыт Роберта Тантушяна
Эксперт по автоматизированному тестированию, разработавший собственный подход к управлению данными, — о том …
Электронная транспортная накладная с сентября станет обязательной. Как успеть подготовить SAP и «1С»
С 1 сентября 2026 года бумажная товарно-транспортная накладная (ТТН) практически уйдет в прошлое. Электронные …
Артем Мирошинченко: «Ядро ETL-системы не должно знать работает оно с нефтегазом или с банком»
Разработчик универсального движка для платформы Knowledge Space, лидирующей в рейтинге IBP CNewsMarket, и один …
Евгений Шелестюк, генеральный директор DCLogic, о бизнес-регате IT SAILING DAY, 13 августа 2026 г.
Евгений, чему будет посвящен IT SAILING DAY 2026? Сегодня руководители ИТ-подразделений решают гораздо более сложные …
 

Сергей Кузнецов о техническом долге в критических системах: «Никто не планировал 3,5 миллиона записей — именно так и возникает технический долг»

Юрий Николаев | 15.05.2026

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

61 миллиард рабочих дней технического долга — эта цифра приведена в отчете компании CAST, специализирующейся на аналитике программного обеспечения, который был опубликован после анализа более 10 миллиардов строк кода в 47 000 приложений в 17 странах. Даже если бы все разработчики на планете не занимались ничем другим, на устранение этого долга ушло бы почти десять лет. В этом отставании находятся диагностические системы больниц и торговые платформы — программное обеспечение, в котором один-единственный нерешенный «упрощенный путь» может нанести вред пациентам или вызвать финансовые потери.

Сергей Кузнецов более десяти лет работает с кодовыми базами, в которых накопленные «упрощения» влекут за собой реальные последствия — от медицинских приложений до институциональных торговых систем. В компании Imito AG он обеспечил стабильную работу клинического приложения, используемого для диагностики ран; в STO Solutions он переработал архитектуру, отвечающую за производительность медицинской системы NLP, которая обрабатывает миллионы диагностических записей. Сегодня Сергей возглавляет инженерную команду в международной компании поставщике ИТ-решений. Мы поговорили с Сергеем Кузнецовым о том, почему так сложно погасить «долг» в системах, чувствительных к безопасности, и в чем отрасль продолжает ошибаться.

Сергей Кузнецов

Сергей, многие команды откладывают решение проблемы технического долга на самый конец списка задач спринта. В какой момент такой подход становится откровенно опасным?

Когда пользователи вашего программного обеспечения сталкиваются с последствиями, выходящими за рамки простого неудобства. Я видел это на собственном опыте в Imito AG, где приложение imitoWound не работало прямо у постели пациентов. Медсестры и врачи полагались на него при оценке состояния ран в режиме реального времени. В коде накопились годы «упрощений», и дефекты уже не просто замедляли выпуск обновлений — они ставили под угрозу точность клинических измерений. Я потратил восемь месяцев на рефакторинг компонентов пользовательского интерфейса и устранение значительной части задержек, что привело к заметному повышению скорости отклика приложения. Финансовые платформы несут на себе такую же ответственность: если данные, которые предоставляет ваша система, даже слегка устарели в часы работы рынка, цена этого — не заявка в службу поддержки, а денежные потери. Долг перестает быть просто пунктом списка задач и становится риском, как только реальные решения зависят от вашего кода.

Вы модернизировали в STO Solutions архитектуру медицинской системы на основе обработки естественного языка (NLP), базовая библиотека которой содержала 3,5 миллиона записей. Что пошло не так в первоначальном дизайне?

Никто не планировал 3,5 миллиона записей — именно так и возникает технический долг. Система помогала врачам назначать диагностические коды с помощью обработки естественного языка, а объем базового набора записей вырос далеко за пределы того, с чем могла эффективно справляться исходная логика загрузки. Врачи слишком долго ждали, пока инструмент станет пригодным к использованию после запуска. Я переработал способ, которым приложение загружало и кэшировало эти данные, и в результате скорость работы увеличилась на 65 процентов. Что меня поразило, так это то, что исходная архитектура была вполне адекватной в меньших масштабах. Долг не всегда возникает из-за плохих решений, иногда он возникает из-за хороших решений, из которых продукт просто вырастает.

В Feedme AB вы с нуля создали платформу для заказа еды с командой из трех человек: выбрали стек, интегрировали Klarna и Stripe, выпустили первую версию. Когда вы начинаете с чистого листа, откуда появляется долг?

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

Вы работали в сферах медицинских, финансовых, образовательных и пищевых технологий. Помогает ли смена отраслей обострить ваш инстинкт в отношении долга, или постоянная смена контекста становится помехой?

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

Помощники по кодированию на базе ИИ обещают ускорить именно тот вид повторяющегося рефакторинга, который связан с устранением долга. Насколько вы доверяете им на платформе, которая обрабатывает конфиденциальные финансовые данные?

Я интегрировал как GitHub Copilot, так и Claude Code в рабочий процесс нашей команды. Они позволяют реально сэкономить время при создании каркаса кода, шаблонов и генерации тестов. Copilot отлично справляется с заполнением повторяющихся шаблонов; Claude Code же более полезен, когда нужно проанализировать компромиссы в проектировании или изучить крайние случаи. Однако любой результат, затрагивающий бизнес-логику или обрабатывающий данные, подпадающие под регулирование, проходит такую же тщательную проверку, как и код, написанный коллегой. Здесь мне помогает мой опыт работы с разными языковыми стеками: я могу определить, когда предложение является синтаксически верным, но архитектурно неправильным, независимо от того, на каком языке пишет команда. Инженеры, которые терпят неудачу, — это те, кто рассматривает уверенность, с которой инструмент предлагает решения, как замену собственному суждению.

Если посмотреть на отрасль в целом, в чем заключается самый большой пробел в навыках, из-за которого технический долг выходит из-под контроля?

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

ПечатьПечать без изображений

Комментарии

Только зарегистрированные пользователи могут оставлять комментарий.

Регистрация
Авторизация

ПОДГОТОВЛЕНО ITWEEK EXPERT

 
Интересно
Почему вайб-кодинг порождает новые теневые ИТ
Инструменты, основанные на искусственном интеллекте, смещают теневые ИТ из сферы SaaS в сферу кода. Энди …
IDC: агентная экономика масштабируется быстрее, чем её удаётся контролировать
Сто лет назад электричество начало поступать на заводы и в дома гораздо быстрее, чем кто-либо мог надёжно его …
Forrester: ИИ может переписать код, но не может восстановить намерения
На протяжении десятилетий критически важные приложения накапливали бизнес-правила, интеграции, обходные пути …
Почему компаниям пора уходить с Confluence и как превратить миграцию в шаг вперед
Еще несколько лет назад Confluence казался для многих компаний вполне рабочим и привычным решением. Даже после ухода …
Почему контексту вашего агента необходим цикл разработки
Анкит Джайн, соучредитель и генеральный директор Aviator, рассказывает на портале The New Stack о том, почему …