Microsoft (my employer) at least doesn't really have this problem. First, we hire from a broader talent base so we usually have talent for teams that aren't as sexy as others. Second, you interview to the team you will be working with, even if it is an internal transfer. This is bi-directional: they aren't just interviewing you, you are interviewing them. Perhaps Google simply needs to make the interviewing more bi-directional at the project/team level to fix the problem. From what I understand, right now allocation works only in one directly: teams bid for the new employee, but the employee doesn't get to bid on the teams!