This is really the root of the problem. Computer science/programming is immature as a profession. There are not clear, broadly accepted rules for what roles exist and what requirements there are for one to fill the role.
Looking at building houses (just the construction side, not the mechanical systems), we have:
- Architect
- Structural Engineer
- Architectural Technologist
- Carpenter
plus construction employees not officially certified.
Each of these has a specific test, both written and practical (apprenticeship), and specific roles in the building process.
In software, we have no standardized tests, so companies substitute "BSCS" for "Software Engineer" in the requirements. And there is only ever one role officially defined; there is no separate "Software Programmer". Internally every companies has "Software Engineer I", "Software Engineer II", etc however this is rarely exposed in job postings and requirements and is never standard between companies.
The software industry could solve all this hand-wringing by creating a set of standardized roles, testing to create Certificates of Qualification for each, and getting HR departments to require these. And it would be possible, even with an established industry. Canada has added several new Professionals over the last decade, working with the existing industry to define the job, requirements, and build a phase-in plan that allowed the industry to continue operating.
The field of computer science didn't exist when they went to college. They invented it, hence the awards.