There was a time when I thought it might be worth it to try and create a Software Professional Code of Ethics. I no longer think the effort is worth it as there is already a big enough rat hole in this space as evidenced here. At the time this held my interest I read some codes of ethics from other fields and studied the matter.
Here is what I came up with at the time.
- Consider first the well-being of customers and colleagues, never exploiting them for any reason.
- Give customers and colleagues respect, honesty, and confidentiality.
- Be transparent in limitations in skill or ability, saying “I do not know” without shame.
- Confer with appropriately qualified professionals when their skills are needed.
- Prevent defects whenever possible, for prevention is preferable to correction.
- Active collaboration with customers is required to provide correct solutions or services.
- Practice the science and art of software development to the best of my ability.
- Continue lifelong learning to improve my standard of software development.
- Recognize some situations are beyond my capabilities and I cannot help my customer.
- Ensure customers are aware of costs and risks to the best of my ability.
- Gladly share knowledge with others, respecting the hard-won gains of technologists in whose steps I walk.
- Consciously balance the competing forces of utility and elegance to provide appropriate and fit-for-purpose solutions.
And here are some leftover questions I still have.
- Should we address stealing and/or crediting the work of others?
- Should we address issues of data privacy and access?
- What’s missing?
- What shouldn’t be there?
- Is there any point to this?