I agree that people who want outright autonomy will need to go off and start their own companies, but right now, typical employment terms for software engineers are outright bad in comparison to what they could be:
* mediocre compensation, especially considering the horrific costs of living in the places with the strongest economies.
* low autonomy, respect, and opportunity for advancement due to a scope-of-work defined to commoditize rather than grow engineering talent.
* low job security or transfer opportunity, which is the main reason for working for a large organization.
I believe that this arrangement exists because most software engineers lack the skills to negotiate for better terms.
Realistically, we need to improve organizational and independent employment at the same time. Market dynamics will corrupt one if the other is bad. Fixing one while giving up on the other is not a workable strategy.