In my opinion the productivity of engineering should come from the engineering itself, especially with software systems. Software is about automation. The better the engineering, the more productive the org becomes. This potential is hurt by having engineers worry about what the customer wants or how the business works in detail. But yeah, this varies with what the type of business, and the size and structure of the org.
not every engineer needs to know about business. but “10x” ones do I believe - all of the business. they are the ones that put guardrails around engineering decisions and ensure business continuity and prosperity. I do not believe that there should be any lead engineer anywhere who is not intimately familiar with the business - all of the business - of the company she/he is working for.
I don’t disagree with just about everything you wrote except for one perhaps fundamental issue - what I think is engineers (best ones, 10x ones) always think of the business and in order to do that they must learn the business inside and out. and their engineering decisions need to heavily weight on the business. here’s a personal example, I’ve worked as lead engineer on software solution that is deployed in courthouses across the united states. we were working on modernization (basically creating an enterprise version of legacy powerbuilder app)… up until that point I have been in this industry for 9 years and have worked on-site in a courthouse in colorado for 3. I was intimately familiar with both the innerworkings on the courthouses but also demographic if the entire user-base. hence, ALL engineering decisions were made with the business in mind, how does my company win new business, how does the business work overall… if someone else was leading this effort who was not familiar with the business the new app could have been an absolute marvel of engineering with every imaginable bell and whistle but would likely have been a collosal failure