No, the problem isn't that people above don't know how things work, it's that they don't know what it TAKES to make things work.
The more code you write, the more code you support. Even if support, updates, etc on the average program is only 0.5% of your time, what happens after 10 years when you have written 100 programs that are in regular use by the company? Some are more complex and require more support/updates. Some are less. But even at 0.5% average each, you are now spending 50% of your time supporting your old software. Or worse, supporting someone else's software who has long since left the company.
So now you only have 50% as much time to code and test, but management still loads you down with work as if you had 100% of your time to code. So you have to code faster, test less in order to keep up, which means even though you are a much better programmer now, you write shittier code. Which requires more support...
At least 60% of my job is supporting changes and updates to my old code. Someone decides to change a server, or a database, or a reporting format? Suddenly everyone is bitching at me that my program doesn't work. I look like a dumbass because someone else did something without notifying me. Now I have to find and change source files, recompile, test, etc. We're making a new product that doesn't follow our old specs? Now I have to kludge that into the old code. Eventually the old code has so many kludges I have to create new models for my code and rewrite it. Management doesn't understand why working code (barely working) needs to be rewritten. Why do you need so much storage? Where is that data from 8 years ago? I need it now!