To my mind there are two types of ethics around being a software engineer. The first is just normal ethics, and it applies equally to everyone else - am I working towards something I think is ethical? For this reason someone might choose not to work at PornHub, or Facebook or Boeing or whatever. That's a personal choice. If you want to change the world so PornHub doesn't exist anymore, the solution isn't to force software developers into an oath that forbids it, but to do normal, boring politics.
There are professional ethics, but they are much more tightly bound - more comparable to an accountant's ethics than a doctor. For me that will be along the lines of
- I will not use trickery in a demo to decieve others about the progress of a project
- I will report all bugs and mistakes I find and make, regardless of any personal cost this may bring on me.
- I will be honest in my dealings with non technical people, and do my upmost to accurately represent the work I have done and the work I plan to do.
- I will make decisions and advocate for changes for the benefit of the codebase and organisation, not for the benefit of my own CV
...
And so on - you can pretty quickly get into controversial territory I'm sure.
>I will not use trickery in a demo to decieve others about the progress of a project
This is a good starting point. All those who've used dodgy marketing to convince investors that their machine learning is AI and so we're 'first generation of humans to endow computers with the ability to make decisions' have lent their words to a culture war with no basis in fact.
There are professional ethics, but they are much more tightly bound - more comparable to an accountant's ethics than a doctor. For me that will be along the lines of
- I will not use trickery in a demo to decieve others about the progress of a project
- I will report all bugs and mistakes I find and make, regardless of any personal cost this may bring on me.
- I will be honest in my dealings with non technical people, and do my upmost to accurately represent the work I have done and the work I plan to do.
- I will make decisions and advocate for changes for the benefit of the codebase and organisation, not for the benefit of my own CV
... And so on - you can pretty quickly get into controversial territory I'm sure.