Кто занимается защитой технического долга в вашей команде
Что проверяют
«Защита» здесь значит отстаивание: кто приходит к бизнесу и выбивает время на долг, а не просто замечает его. Интервьюер хочет понять, умеете ли вы говорить о долге языком последствий. Следом обычно спрашивают, как вы убедили продакта взять задачу на рефакторинг.
Как отвечать
Назовите, кто это делал у вас, и опишите механизм, а не лозунги:
- техлид или тимлид: ведёт список долга и защищает его на планировании перед владельцем продукта;
- разработчики: заводят задачи на долг, когда натыкаются на него, с описанием, что именно болит;
- договорённость с бизнесом: фиксированная доля спринта на долг или отдельный технический спринт раз в квартал.
Главный навык: переводить долг в понятные бизнесу издержки. Не «код плохой», а «из-за общего пакета utils любая правка биллинга ломает уведомления, за квартал три инцидента и неделя на разбор».
Покажите, как долг находят в Go-проекте:
- статический анализ:
golangci-lintв CI,go vet,staticcheck; - уязвимости:
govulncheckпоказывает только те уязвимости, которые реально достижимы из вашего кода; - версии: устаревший Go и зависимости. Поддерживаются только два последних релиза Go, отставание означает отсутствие исправлений безопасности;
- тесты: гонки через
go test -race, покрытие через-cover, тесты, которые никто не запускает.
Если долгом у вас занимался только лид, расскажите, что делали вы: заводили задачи, приносили аргументы, чинили по правилу бойскаута рядом со своей задачей.
Где спотыкаются
Называют результат вроде «снизили долг на 30%». Долг так не измеряется, и первый же вопрос «как считали?» ставит в тупик. Лучше говорить про инциденты, время на изменение, скорость сборки.
Говорят, что долг защищает «вся команда». Звучит красиво, но на деле значит, что никто.
Предлагают переписать сервис с нуля. Интервьюер ждёт постепенного подхода: выделить интерфейс, покрыть тестами, заменить по частям.