Я работаю в разработке программного обеспечения уже более 10 лет, и до меня доходит, что я редко получаю что-то «новое». Я понимаю, что «новый» - это расплывчатый термин, но я бы определил его как что-то от очевидного нового крупномасштабного проекта до новой крупной функции в существующем проекте (скажем, что-то, что потребует некоторой продумывания в его дизайне, и это может займет 2 недели или больше, чтобы завершить). Может быть, грубое руководство - это что-то новое, если оно требует письменной спецификации. Я думаю, что большинство программистов знают, о чем я говорю - вы находитесь в зоне и пишете тонну кода в быстром темпе.
В любом случае, вспоминая то, что я сделал, я бы посчитал, что на «новую» работу уходит менее 10% моего времени. Существуют такие вещи, как «адаптация существующей системы для работы в этой новой среде», что, безусловно, требует большого планирования, но фактическое кодирование и «новые вещи» сводятся к небольшим изменениям во многих местах кода. Аналогично для небольших запросов функций - если я знаю, что делать, их часто можно завершить менее чем за час, а если нет, то просто много читаю код и выясняю, что делать (что расстраивает меня, потому что я учусь намного лучше, делая, а не читая).
В общем, я чувствую, что большую часть времени я ничего не создаю. Я предположил, что это было так в большинстве мест - новый продукт вышел бы довольно быстро, и в этот момент все были бы взволнованы и быстро набивали код, но затем, когда он появлялся, он переходил в режим обслуживания, где немногие из последующих изменений будут считаться «новыми и креативными».
Я ошибаюсь? Я точно описываю большинство задач программирования или большинство программистов считают, что они часто создают новые вещи?