Of course, if your only decision criterium for hireing new employees is "real world experience", you are, by definition, not going to get that from people who just spent years at school studying. People with PhD, though, usually have one skill that is difficult to find in others: they spent years working on their learning skills. One of the main points of getting an advanced degree is learning how to learn, and how to figure out things that you do not know. I would agree with you that someone with BA, or even with a master degree, have no "real world experience, and pretty low ability to learn, which makes them pretty much useless. Some of the best more capable programmers I know have PhD degrees, true, none of those is in computer science, there are several physics, several mathematics, and even one english literature. Those people can look at a problem and figure out how to solve it before your non-college educated programmer with years of "real world experience" even finishes deciphering the description.