Обновить

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K
Всего голосов 33: ↑31 и ↓2+32
Комментарии17

Комментарии 17

Выпишите все свои «висяки». Вообще все.

ОК, спасибо, закинул эту задачу в туду!

Осторожно, это рекурсия! :) Задача Task: Write down all tasks добавлена в очередь. При попытке выполнения: StackOverflowError.

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

Очередной продолбанный дедлайн :)

Жиза. И самое обидное, что мы продолжаем платить за хостинг этого проваленного дедлайна своей тревогой. Мое правило: если дедлайн пролюблен дважды - это не задача, это труп. Delete без сожаления.

Как раз сейчас наткнулся в коде:

Date: 06.08.2019, 16:42 ... //todo: should be removed after demo

:))))

Боль. Такие комменты часто переживают не только демо, но и трех тимлидов. В голове такие туду висят годами. "Вот сейчас сдам проект и начну нормально жить/учиться" (нужное подчеркнуть). Демо проходит, а временный костыль становится несущей конструкцией. Мой личный рекорд - "написать телеграмм-бота..", который висел в заметках 4 года, пока я не удалил его с пометкой WONTFIX

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

приоритет Critical это рефлексы бей-беги, работа рептильной зоны мозга

Справедливо. Рептильный мозг действительно любит кнопку Panic. Но "Выписать задачи" - это чисто функция неокортекса (префронтальной коры). Рептилия не умеет писать списки :) Она умеет только замирать и прокрастинировать. Так что, включая Critical для этой задачи, мы как раз принудительно передаем управление от ящерицы к инженеру.

Я и говорю, что планирование и даже просто взять трубку, послушать начальника и внести N+1 задачу это не Critical.

Critical это когда сервер в огне

Понял вашу логику. Для меня:

  • P0 (Blocker) - Сервер горит. Надо тушить (бить/бежать).

  • P1 (Critical) - Сервер пока работает, но диск заполнен на 99%, если не почистить логи прямо сейчас, через час будет P0

Спасибо, похоже на перевод Дорофеева на IT-шный.

Восприму как комплимент. Максим безусловный Base Class. Но иногда, чтобы достучаться до уставшего сеньора, метафоры про «обезьянку» и «мыслетопливо» не срабатывают - слишком мягко. А вот когда говоришь про Legacy и Technical Debt - сразу понятно, что ситуация критическая и нужен хотфикс. Так что да, это адаптер под конкретный интерфейс :)

Отличная статья! Я в очень похожем подходе практикую, как коуч. И самокоучинг очень грамотно и доступно описан.

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

Присоединяйтесь, я здесь тоже пишу https://t.me/pipelineshit

Спасибо. Про «ручки на бэке» - отличное дополнение. Это классические Orphaned Dependencies (сиротские зависимости). Вроде и не используются, а в сборку попадают и вес увеличивают.

Я эту проблему «висяков» пытался решить системно - даже вынес алгоритм поиска таких багов в отдельный Протокол 3.16 (Refactoring Legacy Code). Но насчет «второго человека» - абсолютно согласен. Инструменты инструментами, а живой Code Review (парное программирование) никто не отменял. Самому свой код рефакторить сложно - глаз замыливается, и свои костыли часто кажутся несущими конструкциями

Вот в точку! Я как-то устал держать в голове всякие планы, но не дорос ещë до obsidian (да и сейчас тоже), и завел файлик "план 2022" (кажется 2022). Сейчас 2025, но там всë ещë висят задачи с первоначального. Много конечно добавлялось, удалялось, что-то я не мог начать и стал разбивать на более мелкие, которые уже можно выполнить - уже проще. Но всë ещë не проставлены даты по каждой из задач, и никак не могу себя к этому приучить.

Аналогия с айти и с разработкой есть, но в разработке есть git и возможность вернуться и отменить изменения. В реальной жизни чаще всего нет. Есть хороший совет, подходящий для разработки - главное начать, сделать по задаче хоть что-то. Потом можно доработать, исправить. IRL чаще приходится сильно подумать, прежде чем что-то сделать, т.к. "сохраниться" в жизни не получается, и откат не всегда возможен.

Абсолютно точно. В жизни мы пишем код сразу на Production. Бэкапов нет, CTRL+Z не работает, а любой баг может положить базу.

Поэтому, думаю, в «жизненном программировании» важен принцип MVP. Вместо того чтобы делать большой коммит (сразу переезжать в другую страну / брать ипотеку), мы делаем «Канареечный релиз» (поехать на месяц / снять квартиру). Мы тестируем гипотезу малыми ресурсами. Если всё ок - раскатываем на 100%. Если баги - откатываемся с минимальными потерями.

А файл «План 2022» - это классический Legacy. Если тикет висит 3 года, скорее всего, он уже неактуален и просто забивает базу

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации