...
Most time isn't spent programming anyway - programmer time is spent:<p><pre><code> a) fixing broken stuff that should not be broken
b) trying to figure out what problem the customer actually wants solving
c) writing experimental code to test some idea
d) googling for some obscure fact that is needed to solve a) or b)
e) writing and testing production code
</code></pre>
e) is actually pretty easy once a) - d) are fixed. But most measurements of
productivity only measure
lines of code in e) and man hours.
...
I've been in this game for many years now, and I have the impression that
a) is taking a larger and
larger percentage of my time. 30 years ago there was far less software, but
the software there was
usually worked without any problems - the code was a lot smaller and
consequently easier to understand.<p>Again in the last 30 years programs have got hundreds to thousands of times
larger (in terms of code lines)
but programming languages haven't got that much better and our brains have
not gotten any smarter. So
the gap between what we can build and what we can understand is growing
rapidly.