As an "engineer" with the corresponding university degree, I am absolutely against software engineering being a protected title, for several reasons:
- We are nowhere close to a set of widely agreed required, specific practices for a software engineering project. "Signing a project" is meaningless without those specific practices.
- Even if we had those practices, this world changes so fast that they would need to be updated frequently and get people to examine themselves again.
- There's no test for the characteristics underlying components being used. If I'm building a bridge, I can specify certain characteristics for the materials and the procedures, those things can be tested during/after construction and if something fails, we can try and check what failed and pinpoint responsibility (was it a bad procedure, a bad implementation or a bad material?). That's utterly impossible with software. A program crashes or has a bug, and whose fault is it? Nobody will be signing any project and assuming the responsibility it comes with when there's no reliable way to pinpoint who's responsible for a failure.
- There isn't even a specific set of skills for an engineer that we all agree on. Yes, you might say "know programming languages" or "testing" or "project management", but what does actually mean? Do you need to know Agile to be a software engineer? Or assembly? Or A/B testing?
And finally and the most important thing for me: the amount of knowledge you get from a degree is just a small, often antiquated, part of what's actually software engineering in practice. As someone with an actual software engineering degree, I do not think that the degree is necessary for someone to be a great software engineer. Most of the important knowledge will be learned on the job and on various Internet resources anyways.
In my opinion, making SWE a protected title will, at best, do nothing. At worst it will put good engineers without a title out of a job, for no actual change in the quality of the software.