This is why we have the concept of a "professional engineer." This is why we require building designs and other engineering documents to be signed by a PE.
It's not just that you know enough of your field for your signature to matter. It's that by signing, you are putting your reputation and even your freedom at risk.
As it is right now, if you write code that does something illegal or unethical, the blame WILL go to you. There may or may not be an email record of you being told to do this, but there will be no question of YOUR intent, and you can be sure that your bosses will do whatever it takes to get all the liability put on you, because with source code, there can be no question of intent.
(Well, in older times you could obfuscate intent in the source code, but that option went away with K&R C)
So it might as well be time to standardize the software engineering form of the professional engineer exam and licensing procedure, and start requiring that software PEs review code.
It's not just that you know enough of your field for your signature to matter. It's that by signing, you are putting your reputation and even your freedom at risk.
As it is right now, if you write code that does something illegal or unethical, the blame WILL go to you. There may or may not be an email record of you being told to do this, but there will be no question of YOUR intent, and you can be sure that your bosses will do whatever it takes to get all the liability put on you, because with source code, there can be no question of intent.
(Well, in older times you could obfuscate intent in the source code, but that option went away with K&R C)
So it might as well be time to standardize the software engineering form of the professional engineer exam and licensing procedure, and start requiring that software PEs review code.