> Unrestricted labour movement will mean you get paid average if you are average.
There are quite a lot of assumptions in this statement. You assume an efficient market (something that does not and probably cannot exist at scale, if at all). You assume information equality, which is the exact opposite of actual practice, you assume the people who make the hiring decisions have some means of separating the average from the above or below average. In practice development skill is a completely separate and unrelated skill to marketing (of one's self). Ability derives from the former, salary from the latter.
So no, unrestricted labour movement most definitely does not mean you get paid average if you are average (not that I care about this anyway: I think all developer pay should go up across the board). What it will mean is employer perception will be that they should be able to get even better talent at even lower prices. And since employers can wait literally years to fill positions and people can rarely go more than a month without a job, this will certainly drive salaries down even further.
Of course, one could imagine that eventually everything would become more efficient and companies should recognise that better developers cost more. But how many companies actually care about having better developers? For the majority of IT jobs, the hiring company doesn't care about developer quality, they care about costs. If development takes longer, so what. Everyone else in their market will be working under the same constraints so it doesn't matter.
There are quite a lot of assumptions in this statement. You assume an efficient market (something that does not and probably cannot exist at scale, if at all). You assume information equality, which is the exact opposite of actual practice, you assume the people who make the hiring decisions have some means of separating the average from the above or below average. In practice development skill is a completely separate and unrelated skill to marketing (of one's self). Ability derives from the former, salary from the latter.
So no, unrestricted labour movement most definitely does not mean you get paid average if you are average (not that I care about this anyway: I think all developer pay should go up across the board). What it will mean is employer perception will be that they should be able to get even better talent at even lower prices. And since employers can wait literally years to fill positions and people can rarely go more than a month without a job, this will certainly drive salaries down even further.
Of course, one could imagine that eventually everything would become more efficient and companies should recognise that better developers cost more. But how many companies actually care about having better developers? For the majority of IT jobs, the hiring company doesn't care about developer quality, they care about costs. If development takes longer, so what. Everyone else in their market will be working under the same constraints so it doesn't matter.