My assumption would be that a company always has to pay engineers less than the value they generate. How is it then that a FAANG-engineer would struggle to achieve a similar salary on his own?
Think about it in these terms; a custom car maker can only make a few cars but a factory can make so many more at a lower cost and higher total profit simply because of the number of cars they can make.
I think this part shows that whether it's easier to make more as an employee or self-employed is highly regional. In large, competitive tech centers, where FAANG companies are, the demand and competition for talent is high and fierce, driving salaries significantly higher than what you might normally expect. The cost of living in such places also tends to be astronomical.
In other places, say medium-sized cities that are not known as tech centers, that dynamic doesn't exist. In my experience, this means that the income you can achieve as a self-employed (and often remote) software engineer far exceeds the general salary "ceiling" of that local region (and I'm talking about North America here, not far-off places). So you may not quite achieve FAANG level compensation (although I'm sure some do), but relative to the cost-of-living you're doing quite well if not better.
Making $200-300k as a self-employed software engineer requires a completely different skillset than getting and maintaining a job at a FAANG. The roles have very little carry over.
I made ~$400k last year (in cash) as a self-employed engineer. I work maybe 20 hours a week. I would hardly say that getting here was non trivial, but I'd hardly say it's trivial to get a job at a FAANG either.
My assumption would be that a company always has to pay engineers
less than the value they generate.
For FAANG companies, I'd guess that a nonzero amount of that value is "keep this person from contributing at our competitors".
One example, that there are only so many engineers at that skill level and employee churn is high at FAANG companies - so paying a premium for talent makes sense since money isn't an issue and the engineers leave to go elsewhere after a brief stint getting FAANG on their resume. Higher salaries keep the recruiting funnels full, and allow FAANG companies to keep a high level of talent
Another important aspect is competition. Sometimes its not just important to get talent, but also important that your competition doesn't get talent.
Economies of scale:
It just depends on who your clients are. Are your clients FAANG-level companies or SMBs?
The question is how to fix this