Maybe its my physics background, but I've always found the problem to be a lack of analogues.
We have physics, but we also have mechanical and civil engineering. Likewise we should have a computer science major and a developer major. Just as how mechanical and civil engineers still take some physics and math courses, the developers will take some of the CS courses in addition to specialized courses for their major.
Perhaps this is the thinking behind many of the Software Engineering degrees? They typically focus on requirements gathering, architecture, process, and business integration with less focus on the nitty gritty of sorting algorithms or how compilers work.
We have physics, but we also have mechanical and civil engineering. Likewise we should have a computer science major and a developer major. Just as how mechanical and civil engineers still take some physics and math courses, the developers will take some of the CS courses in addition to specialized courses for their major.