Phil, that is an interesting point of view that many people in the academic field share with you. Unfortunately it doesn’t hold up in the market.
I have hired people who graduated at the top of their CS & MBA classes, but they couldn’t do the job. I have hired people who have dropped out of college in their freshman year, who out performed every engineer on the team. The difference is grit. Those who have it become a student of their profession. They are always studying. Always learning. Always practical. They are the people who excel in their career.
It’s grit that gets a student through compiler theory and a employee though a project. Grit gets people through a late night coding sessions before a deadline. It’s grit that shows character. It's grit that accomplishes great things, not the degree.
Okay, let’s just say I’m wrong. Maybe the world would be a more enlightened place if everyone had an advanced degree. But then again, maybe I’m not.
There are benefits to an education. I think people should get as much as required for their profession. But, when it comes to software development, Eric’s argument is right. More education doesn’t make a better engineer. More education does not always command more money or demand a higher position. It only means they may have studied things that aren’t relevant to the job.
It is unfortunate that so many candidates have over paid for a degree that doesn’t matter — especially when the knowledge was inexpensive or free to begin with. It’s a problem that expresses itself in software development more than other fields because technology changes so fast. But it is a problem that exists in almost every other sector.
To many schools are not delivering the value for the money, time and debt that is required for an degree, let alone an advanced degree. That’s just bad — I think higher education has some explaining to do.