This is why Software Engineering as a profession should be regulated and licensed just like other engineering fields - mechanical, civil, electrical, etc. Professional Engineers are bound by a code of ethics stressing first and foremost the welfare of the public. Engineers who behave unethically have their licenses revoked which can be a career-ending event. It is our responsibility as engineers to ensure that the code we ship does not negatively impact anyone's health or safety; especially as software becomes more and more pervasive in society.
"This is why Software Engineering as a profession should be regulated and licensed just like other engineering fields"
I may agree, reluctantly, with the first half of this sentence, but I don't agree with the second half.
Whatever happens with code and how we regulate it, we must start with the understanding that it is not like other engineering fields. It's so different that I believe it should be considered a separate field entirely. Actuaries and engineers both need to know a lot of math, but they are not the same fields, and there's no need to regulate them similarly. Engineers don't get to tell actuaries what to do. They shouldn't get to tell software developers what to do either.
One reason I'm so resistant to this is that I was a math major (though I did get an MS in industrial engineering), and I've seen what are essentially mathematical innovations patented under a legal regime that considers mathematics unpatentable to the point where it specifically excludes mathematics from the academic background that qualifies a person to review patents. The quality of patent review reflects the deliberately self-inflicted absence of advanced mathematics degree holders. I guess our best hope is that some of the physics majors will handle this?
This is exactly what you should expect from a cartel: expanding domain, limiting competition.
I am positive that the governing bodies for the "other engineering" fields would be delighted to get control over software, but they shouldn't get it.
This is also why I resist the term "software engineer". Some consider it an appropriation of the title "engineer", and sure, I agree, that's fine (I'm sure they'll get all up in arms about sound engineers in recording studios next, right?). But the appropriation that really concerns me here is the term "software". It ain't yours. Paws off.
> It is our responsibility as engineers to ensure that the code we ship does not negatively impact anyone's health or safety; especially as software becomes more and more pervasive in society.
I agree 100% with the above sentence. But I do not think that implies regulation and licensing to be the appropriate solution, at least not universally. Perhaps it is appropriate to require licensing to write code for life-support systems, vehicles, or other systems on which all other engineering requires licensing. But not to write code for Twitter. Not to tweak the PHP on your Wordpress site. Not for the vast pile of code that may be meaningful to the author, but is trivial when considering its risk to the health of the general public.
I worry that this moral gray area stuff is hard to solve with clear rules that people can agree on. Is a sketchy quiz advertising prescription drugs unethical? Probably. Is a sketchy quiz trying to get kids to eat their vegetables unethical? Probably not. It's going to be really hard to find a clear line between things like that, even without worrying about politics getting all over it.
For comparison, the prescription drug market is extremely heavily regulated, but that doesn't seem to have helped in this story.
I used to disagree with you entirely, but I'm beginning to see the value of having an excuse to be ethically better that holds weight in large organizations.
Sounds good, but the vast majority of software eng does not require this, and i think it's just a different problem with a different solution then licensing
https://www.nspe.org/resources/ethics/code-ethics
http://www.ieee.org/about/corporate/governance/p7-8.html
http://peo.on.ca/index.php?ci_id=1815&la_id=1