I think it's shortsighted to just throw up your hands and say "because free market" in this kind of scenario. The fact is if "market" salaries for software engineers are based on unicorn thinking and the salaries that Apple, Google and Facebook can pay, then there won't be much of a long-tail of interesting companies, we will all end up working for mega corps.