Найти в Дзене
Тимлид Очевидность

Костыль костылю рознь

Оглавление

Под «костылем» я имею в виду легкое, быстрое, не очень корректное решение, которое либо чинит симптом, но не решает причину, либо решает причину, но ненадежно, в угоду скорости и простоте.

В ИТ, да и в жизни по мере приобретения профессионализма и житейской мудрости часто люди проходят путь от неприятия костылей до нормального к ним отношения. Хотелось бы немного подумать, а как же так получается, что костыли можно и ценить? И почему некоторые перегибают и получается печальный результат?

Костыль? Ни в жисть, я же ПРОФЕССИОНАЛ!

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

Сам через это проходил, не могу их упрекать и считаю нормальным, что многие через это проходят.

Костыль? А давай жахнем, щас так надо

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

И это тоже мне знакомо. Не знаю точно, как именно этому научиться.

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

Со временем приходит чутье, где грань тонкая и можно костыльнуть, а если чутье обмануло, то потом переделать. Даже учишься ставить костыли именно так, чтобы проще было их потом поменять.

Костыль? Давай вставлять везде, я же просветлился!

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

Это касается и разработчиков, и менеджеров.

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

А сколько менеджеров, которые, продавливая костыльные решения, говорят «ну это щас так надо, ты потерпи, а вот потом…», а это «потом» никогда не наступает, и команда разваливается, и проект проваливается?

В чем разница?

Буду рад, если вы в комментариях предложите свой взгляд на то, когда вставлять костыль – это мудрое решение, а когда провальное. На мой взгляд, хороший ориентир того, надо костылить или нет – это частота изменений в накостыленном месте.

Если у вас есть проект или уголок проекта, где редко что-то меняется, а если и меняется, то очень слабо, то можно костыльнуть и пожить пока так, посмотреть, насколько идея неплоха.

А если у вас система живая, команда живая, и постоянно всё бурлит, а вы туда костылей подбрасываете, то это заявка на провал. И костыли держать нормально не будут, и разломаются быстро под напором, прихватив с собой то, и тех, кто рядом стоял.

Итог

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

Крепких и редких вам костылей!)