I don't know. The problem is that there is almost no way to evaluate software engineers. Have a degree from a decent university? Cool, but how do we know how many actual larger programming assignments that included, and if those were group assignments, how much was your work? Have 10 years of experience? Cool, but how do we know what you actually worked on, and what the quality of your work was?
It's just difficult - and while interviews are decent, whiteboard tasks are usually useless. If you have your own or contributed to open source projects, that's pretty good too for assessing code quality, but not everyone has that.
Ultimately paying for assignments would probably be the best solution, but not everyone can do that either.