@GLOBALTRAVELER is correct to a large degree, but I’ll qualify his point for a certain subset of software jobs. IIRC, he works in Washington D.C. in the field of security/intelligence, and for that having U.S. citizenship (security clearance), a good talent for following the correct hype trains, a tolerance for frequent job hops, and the correct credentials (a Masters in engineering, even if it’s one of those useless ones) are what you need more than academic CS knowledge.
A lot of the most visible “CS” work is in web development, a field that involves rather simple technologies that come and go really fast. For that, a “practical” knowledge of programming and the ability to gain experience in the newest fad technology are more important than a degree. It also is usually (but not always) not particularly technically deep, so there’s a tendency towards ageism.
There are some topics that absolutely do strictly require a degree, because few people are capable and motivated enough to learn highly academic fields by self-study. Among these are machine learning, algorithm design, numerical analysis/scientific computing, and a lot of the higher-end hardware engineering work. If you want to work in an R&D group, whether it’s at a university, a national lab, or a company lab (e.g. Google/Facebook AI labs), you will almost certainly need an MS or PhD in CS or something close to it. A lot of mid-range work at more technical companies (as opposed to most “tech” companies that are simply marketing services with a fancy website) will generally make use of computer science at the B.S. level, though it would be rare to be given work that could make use of Real Analysis, Theoretical CS, Operating Systems, etc. with only a B.S. degree and you’d get by with the classes mentioned by GLOBALTRAVELER.
Both routes tend to pay close to the same at the median level. There is generally more upside for those that are very, very good who work on more advanced projects where they cannot easily be replaced (i.e. they have rare technical knowledge and they are worth compensating highly lest they leave). A Masters in Computer/Systems Engineering or CS is usually helpful for climbing up a few pay grades (government jobs), climbing the management ladder (corporate environment), or climbing the ladder of technical leadership (anywhere where academic credentials are respected).
In short: if you want to do the academic “fun” stuff, then you need a degree. If not, you’ll be 100% fine without it, at least for now (when programmers are in high demand but relatively short supply). Though if you have the straight CS requirement, employers will tend to be less skeptical about whether or not you can actually do the work in question. In that sense, any C.S./pseudo-CS (e.g. take computational math and call it “Computer Science and Math” on your resume) degree will suffice if it looks like a CS degree of some sort.