That assumes that you know how to test and judge engineers. I think the larger issue in engineering interviews these days is that we simply don't know how to effectively separate good engineers from the bad, and given the nature of our job there is a sometimes significant lasting negative impact of a bad/messy programmer.
In addition people are better at different things. I joined a startup recently. The code is well organised at the top level, and the logging was superb. However the architecture was terrible, horriby overengineered. And it looked like a Java programmer doing python - camel case instead of underscores (well a mix just to be inconsitent). Joins done at the application level rather than the database. And just doing way more work that was needed to calculate something.
It's an interesting idea.. something like fizzbuzz style take-home.