> 4-6 hours for one interview is fine. For 10-30 positions?
Exactly! When time commitment is symmetrical, the companies would only move forward with candidates they are seriously considering to hire. Because for a 4 hour interview session with a candidate, they have to invest at least 4 hours of their engineers' time. Probably more, as there is typically more than one interviewer present at a time.
The company may spend only 10 minutes on average to review an assignment. Most of the submissions are dismissed in the first 5 minutes for something trivial or subjective. The more interesting ones get more attention, maybe 30 minutes of the company's time. Suddenly, "interviewing candidates" get cheaper. And as is the case with supply and demand, decreased price increases consumption.
Before, the company would have invited only 10 candidates for an in-depth interview for each position. Taking 4 hours of the time of each candidate, 40 hours in total, and spending 40 hours themselves. Now, they can give assignments to 240 candidates. That would waste about 1000 hours of candidates' time, while taking the same 40 hours from company time.
If it catches on, for every job, instead of sending 100 resumes, having 20 phone interviews and 5 in-person interviews (arbitrary numbers), you would have to send the same 100 resumes, get 20 phone interviews and 20 assignments, plus a couple of in-person interviews. Suddenly the cost of getting jobs increases multiple times for the candidate, while staying the same for the company.
This is not good.