My original point was that the jobs unique to the CS major are converging rapidly to several in computer systems; do these other topics (e.g. theory of computation and esoteric algorithm D&A) lend themselves to employment outside of academia better than the domain-specific knowledge a chemical engineer has, for instance?
I agree with you that CS is more than coding, but the educational establishment does not. The CS curriculum in most American universities comprises architecture, networks, operating systems, software engineering, some algorithm D&A, and Java/Python/C++, at maximum. The fundamental issue is that a proper study of the other components of CS you bring up demands mathematical maturity. Consequently a 3 year course of study in algebra, analysis, and topology is likely much better preparation for advanced study in CS than a 4 year course of study in software engineering, which is what most American CS degrees are. It is one thing to debate how useful CS is as a field beyond programming, but a completely different problem to determine how useful the training offered in a CS degree is.
You do not need to actively work on a code base to know who does. The educational backgrounds of developers who work on software in non-CS fields are very easy to find online. There is no contradiction in these quotes. If your point is that non-CS people write bad code (and that at some point I have argued the opposite, which I have not), you still haven't explained why the market won't value the domain-specific knowledge of a non-CS person over a BSCS's programming knack.
>Have you ever tried maintaining that kind of code base?
I've never tried to maintain a code base written by non-CS people. In what context have you seen code by non-CS scientists?
>Having seen plenty of code written by non-CS engineers and scientists
There is a trade off between domain knowledge and programming style. Is it better to teach a BSCS 2 years of chemistry to work on your molecular modeling library, or hire somebody with chemistry experience who writes less maintainable code? Coding has become easier over the last 20 years, but the domain-specific knowledge has become harder. This trend favors the chemist over the BSCS.
I agree with you that CS is more than coding, but the educational establishment does not. The CS curriculum in most American universities comprises architecture, networks, operating systems, software engineering, some algorithm D&A, and Java/Python/C++, at maximum. The fundamental issue is that a proper study of the other components of CS you bring up demands mathematical maturity. Consequently a 3 year course of study in algebra, analysis, and topology is likely much better preparation for advanced study in CS than a 4 year course of study in software engineering, which is what most American CS degrees are. It is one thing to debate how useful CS is as a field beyond programming, but a completely different problem to determine how useful the training offered in a CS degree is.