Software complexity can decrease though. Very, very unlikely, but there is the possibility of the 12 year old kid from the internet that does a better job than you despite your hard work and long professinal career.
I'm absolutely positive that software complexity can decrease and in so far my post was not entirely serious. I have multiple instances at my hand where re-writing existing libraries with a better focus on simplicity, patterns better suited for the job, more stringent APIs and so on all contribute to produce new versions of software that are ~about as capable as the old version but internally much simpler. However I feel that when I just go on building on and on without tearing down entire edifices of code once in a while, software tends to become inscrutable, hard to maintain and hard to extend.
Software complexity can decrease though. Very, very unlikely, but there is the possibility of the 12 year old kid from the internet that does a better job than you despite your hard work and long professinal career.
I'm absolutely positive that software complexity can decrease and in so far my post was not entirely serious. I have multiple instances at my hand where re-writing existing libraries with a better focus on simplicity, patterns better suited for the job, more stringent APIs and so on all contribute to produce new versions of software that are ~about as capable as the old version but internally much simpler. However I feel that when I just go on building on and on without tearing down entire edifices of code once in a while, software tends to become inscrutable, hard to maintain and hard to extend.