When you go to college in any field and earn a degree, you walk away from that institution with a foundation of knowledge that is very similar to the foundation of knowledge that other students of that same field have acquired, at their institution of learning, either during the same time period as you, or during an earlier period in time.
The basic fundamentals of Computer Science have changed very little in the last 50 years, despite the advances in computers.
As a result, when you and I meet to discuss a very abstract concept, and I need to describe to you in detail this certain abstract concept, I'm going to reach into the deep, dark depths of my 400/4000 level Computer Science classes on formalism and abstraction and use those concepts to relate to the one that I'm trying to describe.
While I've worked with some great software engineers, in the end, the only ones who I could successfully explain very complex, abstract, software engineering concepts to were those who had earned Computer Science degrees or who had some background in Computer Science.
The rest are just hackers, which is not to degrade those individuals by any means. I've worked with non-Computer Science people who can get stuff done, make things happen, write good code and build applications.
But when it comes to the concepts derived from Computer Science, like building an application that not only solves problem X for you but that also solves problem X for all your customers, it's the computer scientists who really shine. Otherwise, I've found that we keep reinventing the wheel over and over again until problem X is solved several times repeatedly.