I think your argument is valid, sometimes you get more out of learning something when you're forced to learn the alternatives and edge cases that don't matter in a learn-as-you-go approach.
However, take two job candidates:
One of them just has a CS degree, let's even say it was from a "prestigious" university or whatever. No internships, no computer-related jobs, no open source / hobby projects, nothing else except good grades and dubious academic rewards.
The other has no college degree, but has spent 4 years working various junior positions / contract jobs that pertain directly to the job in question, mentioning several cases where they wrote/maintained software in a production environment. To even the field, let's just say they don't have any open source / hobby projects or otherwise "outside" experience.
They are both asking for the same salary and are "equal" in terms of team fit and other non-technical factors. Who would you hire? This is ultimately the point I'm trying to make.
However, take two job candidates:
One of them just has a CS degree, let's even say it was from a "prestigious" university or whatever. No internships, no computer-related jobs, no open source / hobby projects, nothing else except good grades and dubious academic rewards.
The other has no college degree, but has spent 4 years working various junior positions / contract jobs that pertain directly to the job in question, mentioning several cases where they wrote/maintained software in a production environment. To even the field, let's just say they don't have any open source / hobby projects or otherwise "outside" experience.
They are both asking for the same salary and are "equal" in terms of team fit and other non-technical factors. Who would you hire? This is ultimately the point I'm trying to make.