in reply to Mathematics eq CompSci

While a defree in CS or Math isn't required to be a successful programmer, it often helps.

If you want a very simplified and non-controversial look at this: think of a degree as another few years of experience. A student in a demanding Uni spends most of his day studying, solving complex problems, thinking in and out of the box, measuring tradeoffs, exercises his logical and methodical thinking, etc. In programming courses, the student also designs, writes and debugs code, learns to use various tools (algorithms, formulae, data structures) to solve problems.

So yes, it helps. But no, it's not an only way. While a fresh person with a degree on the paper looks better than one without, he doesn't necessarily look better than one without but with 3 years of real experience.