|
I think you view the degree incorrectly. A degree should be a minbar of what one knows. It shouldn't be a scarcity measure. If someone has a CS degree I should be able to talk about garbage collection, threads, the pumping lemma, Amdahl's Law, control flow, NP-Completeness, etc... Scarcity really should have nothing to do with it. Either you've acquired the knowledge, in which case the degree signals that or you haven't. Your job as someone who hires people is to determine which vectors you put the most weight on. CS knowledge certainly isn't the only thing you care about, but a degree in CS may signal sufficient CS knowledge. In some cases maybe it requires a PhD in a specific field. Or maybe you want someone who has worked in the Linux kernel. In any case these vector weights should be job specific. About the actual article, I must admit I don't know what the writer is talking about. As a consultant I've see a wide range of enterprise development. Some is as sophisticated as what you're likely to see at Google. Others are basic just people doing HTML markup. The degree requirement is a very pragmatic signal that the applicant has the basic skills required to do the job. I'm sure there are other ways to demonstrate this, but there's probably considerable investment in determining what they provide. The thing that is somewhat interesting is that while there are probably just as many programmers who don't have degrees in CS/Math as those that do, most of the major breakthroughs, academia or industry, are from people either with these degrees or in the process of getting them. |
Has this been your uniform experience? Consider the following thought experiment: We advertise for a position as a programmer. We state that we require a CS degree. Within the set of applicants, what correlation will we observe between the ability to speak knowledgeably about all or even most of the subjects you list and a degree?
I suspect the correlation will be higher with a degree than without it, but too low to be useful for screening applicants in and of itself. This is not a fault of your reasoning, but rather a fault of the current system, where each institution decides for itself what is and isn't part of the curriculum and many (but not all!) undergraduate programs have been moving inexorably towards vocational training rather than teaching Computer Science.
Scarcity really should have nothing to do with it. Either you've acquired the knowledge, in which case the degree signals that or you haven't.
If the knowledge you describe is not scarce, than signalling that you have this abundantly distributed knowledge is not particularly meaningful. Let's say that the degree works exactly as you suggest: Everyone with a degree can and does have strong knowledge of the exact subjects you mention. But let us further say that this is not scarce: When we advertise for a position, 80% or more of the applicants have a degree and the knowledge that goes with it.
How then does this degree help us go from 100 applicants to five interviews? Sure we might choose to throw twenty resumés away right off the bat, now our problem is going from 80 applicants to five interviews. In this scenario, a degree is not meaningful to us because it doesn't help us make a decision.
Thus, we are forced to consider other factors, such as job experience, contributions to open source, writing on line, and so forth. Those factors become more meaningful because they are scarcer.
Sure, there will always be some meaning to a degree, but its utility for making a decision is a function of its scarcity in the sample set.