There aren't two camps: "glue software engineers" and "computer scientists". There is a spectrum of people with varying abilities in a wide array of sub-fields.
this kind of discussions only happens on the internet because in reality nobody gives a *, especially that the only place that seems to distinguish those is the USA
coders/developers/programmers/se/programming ninjas/shamans/system necromants
an artifical titles
It may seem silly, but words mean things and you need to clearly and effectively articulate why your product is valuable, or what value you bring as an employee. Effective communication is really important.
At some point it will have to clear up its act. I expect it will take another 50 years or so, as employment demand stops growing and eventually falls, at which point it will make sense for incumbents to raise formal barriers to certain titles.
I mean, I worked at a medium sized medical device company (10,000+ people) (who was considered the gold standard of their industry in many respects) where you would be hard pressed to find a single person that wrote a lot of code who had anything but a Physics, EE or CpE degree; I honestly can't remember a single person who had a CS degree despite being on an algorithms team.
I can't even remember a single person at the scientific device company I worked at where their algorithms team had anything but PhDs in Physics.
The second and third paragraphs are alarming. Anti-elitism is never a good thing in actual technical fields. Of course, the lead may be from outside CS, but to say that there is not a single CS person or an expert in embedded systems and OS, who was involved in the design and testing of a pacemaker is not very confidence-building.
I think it's not anti-elitism but just elitism.
Outside the CS bubble, being a PhD physicist has more prestige and status than being a PhD computer scientist. A physicist is universally recognized as a scientist, nobody would ever question that. A "computer scientist" is not universally regarded as such. I'm not arguing whether it should be, but it's clearly not universally like that in people's perceptions.
I disagree with this take. Just as there is more “applied” physics and “theoretical” physics there is similarly “theoretical” computer science and more “applied” computer science. The former camp are similar to the theoretical physicist as many of them are mathematicians with a computer science bent. Even within the “applied” CS camp you have experts in number theory and algebra that apply their skills to cryptography, whereas in the “theoretical” camp you may find theorist using mathematics like homotopy type theory, category theory and the like in their research. Number theory, graph theory, combinatorics, abstract algebra, category theory and the like can get really hardcore in the pure math world. Similarly, theoretical physicist also have to know a lot of mathematics.
I think your optics of what a computer scientist is and does is a bit removed from reality and that PhDs in CS are highly respected (I didn’t even mention the folks working in AI or quantum computing or the other important areas of the field).
I think it's silly that there's this purity contest or practicality contest going on. I studied CS but at a more engineering focused university, so the curriculum was closer to electrical engineering than to math and physics. Many engineering profs had a weird distaste for physicists/natural scientists and vice versa. They were both "elitist" just from a different view of the world.
I like Feynman's take on this kind of bickering among fields: https://youtu.be/f61KMw5zVhg?t=137
(And, of course, there's also the matter of how applied the curriculum is--i.e. software development vs. underlying theory.)
Programming is a subset of CS, and Software Engineering is elevating that part of CS to match the monumental interest it attracts, to the extent of placing it fully into the Engineering Department.
Some universities have CS degrees that are merely programming degrees compared to the better CS programs, which are usually made up of an equal amount of strictly advanced mathematics courses and CS courses which incidentally may involve programming, but learning to program whatever is merely a requisite of that course. CS is relative to Physics as a well-exploited tool. A lot of physics wouldn't be possible if not for computer science.
Whatever the job title may be, programming is an occupation, and salaries can range from median to lucrative. With the most lucrative salaries, programming is often a small part of a larger solution, but a fully necessary feature of the service of solving some big problem or related group of smaller problems.
When you think of a computer scientist, you should not think of a coder, yet coding is a tool they may exploit to achieve some goal, and that goal may or may not be entirely dependent on what is actually a telescope, an underlying physical computer. The really exciting rock n' roll computer science seems to be anything whiz bang, graphics and games, digital audio processing, AI, etc., and whatever language skills support those, so it is easy to confuse the goal being able to parse and generate various amounts of code with what all that coding work is helping to accomplish. IMO, weather modeling, modeling anything, satellite tracking, as well as informatics, are massively more interesting applications of CS. Help Desk, Desktop Support, Networking, Programming, Database construction and maintenance, and the rest of IT are all narrow and rather droll practical applications of CS, entirely practical, and they can pay well, a lot of the work is reasonably important (hospitals and air traffic control, really everything relies on computers). Web design is usually kept within a company's graphics or marketing department, yet many designers have escalated their job title to "developer."
Classifications can blur because CS is so damn useful, even without computers, but CS is not just the one thing it is most popularly applied to. It is all the things.
I think of a legit lettered and experienced computer scientist as the penultimate problem-solver, and they only add a computer as needed.
That can be less true today given the additional layers of abstraction we continue to pile on in general. But I'd still argue that computer science is closely tied to the hardware that computer science concepts as implemented in software runs on. And therefore, it can make sense to lump it in with the engineering and, specifically, electrical engineering.
(Certainly my opinion is probably flavored by the fact that, where I got a different engineering degree, electrical engineers and CS majors typically get the same Bachelor of Science in Computer Science and Engineering degree.)
We took logic design in first year, flipflops, half-adders, built projects with such stuff, learned about analog-digital converters, the Intel 8085 architecture. Physics, to understand electricity (Maxwell et al.) and circuits. We learned assembly, C, system programming, resource management, paging algorithms, scheduling, filesystems (following Tanenbaum), we learned some Verilog and VHDL, but also graph theory (with proofs, plus applications to VLSI routing), group theory, but also computer graphics and associated data structures, like octrees. We learned control theory, signal processing theory and audio and image processing. But also network protocols, TCP/IP, ARP, exponential backoff, Ethernet frames etc. Databases, normalization etc. Compression algorithms, cryptography, Reed-Solomon code and its use in CDs, similar codes in RAID. Public-key crypto theory with proofs but also its use in practice in SSL. Backups, differental and incremental, practical stuff like calculating with mean time between failures, etc. Understanding hard disks, like the plates, sectors etc to understand delays and better seeking algorithms. But also GPU architecture, programming GPUs through shaders, breaking down math problems in a way that maps well to CUDA etc (before the deep learning craze, but when GPGPU was a hot new term). Java, C++, UML. Machine learning, evolutionary algorithms, agent and voting systems.
We don't have a good vocabulary. Are the above things all CS? Or some are engineering? What does informatics even mean? Certainly a lot of the above is intimately tied to computers as physical objects with timings, latencies, voltages, not just to abstract Turing machines. And I wasn't raised to be ashamed of that or to find that dirty. Nor to be bitter about having learned about red-black trees or the proof of the five color theorem or Cauchy's integral theorem or the simplex method for linear programming or linear algebra or the conjugate gradient method etc. It's possible to have the right blend of the abstract and the concrete.
And how do you learn "problem solving" if not through actually working with things like the ones I listed? Why this distancing from concrete metal-and-wires computers as opposed the pure mathematical formalisms? Is it because it's seen too close to blue collar, wrenches-and-sweat-and-grease work? That the image of a scholar sitting in an armchair is nobler? You don't have to become a help desk technician or a person plugging in the Ethernet cables at data centers, just because you've studied the concrete technical aspects.
It sounds as if medical practice were low status and only biological research had prestige. Or if practicing law was too blue collar and only things like abstract constitutional law theory was something of high worth.
Where do you put the line between them and “purist” SWEs?
Even Things like
#include <stdio.h>
already make you a gluer.