https://www.nspe.org/resources/ethics/code-ethics
https://www.nspe.org/resources/ethics/code-ethics
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.
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 do not think it would be acceptable to intentionally write unethical code in _any_ of those problem spaces. ;-)
For comparison, the prescription drug market is extremely heavily regulated, but that doesn't seem to have helped in this story.
https://texasattorneygeneral.gov/opinions/opinions/49cornyn/...