I'm being sincere when I ask: what would you do with a self-taught CS background? I understand many of the larger companies require an understanding of CS principles, but, if not to be a successful developer, how useful is a self-taught CS education? What do you do with it if not software development? In my somewhat limited experience, the more CS-focused folks hold PhDs, and sometimes I feel it's more about the credentials than the education.
Keep in mind that "successful software developer" is a fuzzy term. You can be a successful developer if you are gluing APIs together for an internal enterprise web app and making six figures per annum. You can also be an unsuccessful developer in those same circumstances, if your ambitions are different.
The "CS focused people" that you typically hear about usually have Ph.D.s because you usually hear about (and from) people doing fancy new things. There are many other "CS focused people" out there just keeping the lights on, or rather keeping the backbone routers from being swamped under their own routing tables.
In my experience, CS is useful when software engineering breaks down. Many foundational abstractions in modern high level languages and frameworks are leaky. This leads to pathological behavior under stress (extreme scale, extreme performance, groundbreaking tech, unusual requirements). CS is also a big help when you're exploring new technical areas that frameworks haven't been developed for yet.
You know that person who you always go to when your program malfunctions? Or the high level engineer at your company who also seems to know how to diagnose a site incident or other strange software problem? What about the technical founder who leads a startup to do something new and extraordinary? Or how about the person who wrote your framework/language of choice? These are people who understand CS fundamentals, irrespective of whether they have a formal CS degree.