I have something of a unique take on the subject, coming from a mix of traditional education, and actual experience. I was at university for 5 years, though I never did graduate. I also have 15 years on the job experience, in many fields of software development.
It has been my experience that a degree is a 50/50 proposition. Some of the best programmers I have worked with did not have degrees in computer science. The very best programmers I have ever worked with did not have degrees at all.
It is a new science, a very young discipline, and at this stage is unwhole, unformed. It has roots in maths, philosophy, and a hodge-podge of other well established fields. It is coming into its own, but it is not there yet, and the academic bias is futile at this point.
The very best database developer I have ever worked with was an ex-marine with a degree in accounting. The vey best general programmer I have ever worked with has no degree at all, yet has a multi-million dollar company, and he writes better code than anyone I have ever seen. The very worst programmer I have ever worked with had a masters degree from a university (non-US) in computer science, and could not code anything to save his life, but he could talk his way up into any situation, without the actual chops to back his talk up. The least well paid developer I know has a Doctorate in CS.
YMMV, but it is a young duscipline and we are still sorting ourselves out.