The second you are at the level of p&l, profit and loss, those imaginary building blocks are very real.

When I design systems that include people's jobs. How many people will be required to run the system for the next 3 years during the contract? Okay. Let's go find them, hire them, train them and make sure they get along with everybody else. Sometimes they didn't and had to be removed.

How much profit are we making during this contract and did it actually cover those people's jobs 2 years in? No? Can we use them in another department? No? Can we find a job for them anywhere else? Almost always. Hey, so and so, you're having difficulty here, and I hear this guy over there would really like to hire you. Wouldn't you like that job? No? We are having financial difficulties here and your job is in danger, wouldn't you really like that job?

Yes!

Sometimes that didn't always work out. But we tried. Sometimes. There is absolutely no other job to give them. They weren't working out for real reasons. Then it was my job to get rid of them.

Sometimes the entire division was in jeopardy based on a political, not technical decision. It was still my job to deal with it.

So yes, that moment of crossing from the arbitrary building blocks of a technical system that is self-contained except for data and electricity is vastly different from where I played.

And yes, our lawyers told me that I needed to print out all my code so we can copyright it all and then patent it and then go attack our competitors. I slow walked that one. Oops, it never got done.