Частая проблема программистов - не дают сделать нормально!
Допустим, программисту в интернет-магазине нужно добавить на сайт новую кнопку. Со стороны кажется, что кнопка — это легко.
Программисту дают на задачу максимум день, а то и до обеда.
Когда разработчик разворачивает задачу, становится очевидно, что кнопкой дело не ограничится. Нужно написать внутренний модуль для магазина, переделать логику в другом месте, в третьем подключить более современные библиотеки, то есть работы дня на полтора. Плюс протестировать саму кнопку, плюс протестировать всю систему с ней, мало ли что. То есть работы на два дня, но зато программа будет логичной, устойчивой и хорошо задокументированной.
Это если делать нормально.
А можно сделать быстро: срезать углы, скопипастить чужой код, подключить тяжеловесные библиотеки, нагородить костылей, и кнопка тоже заработает. Это будет чертовски неэлегантно и менее надёжно, но быстро. И, если потом этот код придётся кому-то поддерживать, он хлебнёт там горя.
Хорошо, если руководитель понимает ценность нормальной разработки и даст на эту кнопку два дня, а то и три. Но чаще начальству нужно быстрее и «лишь бы работало». В итоге специалиста подгоняют, он вынужден срезать углы. И он сам понимает, что получается спагетти из кода, но переделка всегда откладывается на потом. Технический долг копится, никакого кайфа от работы.
Допустим, программисту в интернет-магазине нужно добавить на сайт новую кнопку. Со стороны кажется, что кнопка — это легко.
Программисту дают на задачу максимум день, а то и до обеда.
Когда разработчик разворачивает задачу, становится очевидно, что кнопкой дело не ограничится. Нужно написать внутренний модуль для магазина, переделать логику в другом месте, в третьем подключить более современные библиотеки, то есть работы дня на полтора. Плюс протестировать саму кнопку, плюс протестировать всю систему с ней, мало ли что. То есть работы на два дня, но зато программа будет логичной, устойчивой и хорошо задокументированной.
Это если делать нормально.
А можно сделать быстро: срезать углы, скопипастить чужой код, подключить тяжеловесные библиотеки, нагородить костылей, и кнопка тоже заработает. Это будет чертовски неэлегантно и менее надёжно, но быстро. И, если потом этот код придётся кому-то поддерживать, он хлебнёт там горя.
Хорошо, если руководитель понимает ценность нормальной разработки и даст на эту кнопку два дня, а то и три. Но чаще начальству нужно быстрее и «лишь бы работало». В итоге специалиста подгоняют, он вынужден срезать углы. И он сам понимает, что получается спагетти из кода, но переделка всегда откладывается на потом. Технический долг копится, никакого кайфа от работы.