Велосипеды, как способ прокрастинации
На днях читатель рассказал нам о такой истории: его коллега попросил проревьюить кусок кода в другом проекте. Оказалось, что большинство изменений затрагивают какую-то мутную библиотеку, переизабретающую очередной велосипед. Можно было бы банально взять готовое решение, но есть известная проблема — NIH.
Что делать в такой ситуации? Как объяснять коллеге, что это пустая трата времени?
А почему это плохо?
На самом деле, это распространённая и очень тупиковая ситуация. Как говорит нам заголовок этой статьи, такие велосипеды зачастую являются результатом банальной прокрастинации. Помнишь, как ты в универе убирал бардак со стола, максимально откладывая написание курсовой работы? В вышепроцитированном твите можно заметить, как программист оценивает такую задачу, как "объективно полезную". Казалось бы, была бы задача нужной и полезной, то ей бы занялись или хотя бы записали себе в бэклог.
Программист должен решать бизнес-задачи, попутно собирая себе переиспользуемые кирпичики для их решения. Если эти кирпичики не помогают в решении задач, то это хуёвые кирпичики и надо выкинуть их туда же, куда ты уже выкинул этого программиста. Как правило нам платят деньги за то, что мы оптимизируем процессы или ускоряем загрузку какой-то странички с нашего сайтика. А он, манда такая, пишет свой велосипед!
Это очень и очень плохо для всех участников событий
Для менеджера и для бизнеса — девелопер убил кучу времени на написание кода в котором никто не хочет разбираться.
Для других разработчиков — в кодовой базе появилось неподдерживаемое, недокументированное говно с очень низким бас фактором. Герой уйдёт из компании или там косточкой от вишни подавится и всё, выкинут этот код из проекта, если смогут.
Что делать?
Конечно, можно начать бокс по переписке в пулл-реквесте и попытаться убедить коллегу в том, что это дно и такой код нужно выкинуть из системы. Однако, это лишь поставит тебя в конфликтную ситуацию. Учитывая вложения в этот код, коллега просто так не сдастся и ты лишь потеряешь время и нервы.
В данном случае стоит работать чужими руками.
Например, ты можешь эскалировать это до уровня тим лида или проджект менеджера. Человек занимается совершенно не тем, чем нужно сейчас. Нужно донести до них высокую стоимость такого кода, его неподдерживаемость и нестандартность. Короче, говорить с ними на языке рисков и затрат. Они это понимают.
Нужно понимать, что обид избежать врядли получится. Как правило, человек будет упираться до последнего, и доказывать нужность и полезность этой работы. Но мы то знаем :)
Что делать, если ты и есть тот самый прокрастинатор?
Такая прокрастинация — опасный звоночек. Возможно, выгорание не за горами. Обрати внимание на себя, своё стостояние. Достаточно ли ты спишь? Не пора ли в отпуск?
Как известно, решения таких проблем начинаются с их осознания.
Задам тебе такое упраждение на сегодня: попробуй вспомнить, когда в последний раз ты писал ненужный код, только лишь ради того, чтобы отложить решение основной задачи.
Случалось ли такое? Расскажи нам в твиттере https://twitter.com/soft_skillzz (можно через DM, если хочется анонимности).
Эти и другие вопросы обсуждаем в канале https://t.me/your_soft_skillzz
Подписывайтесь и рассказывайте друзьям.
МS.