> 5. Avoid deceptive acts.
Knowingly programming dark patterns into apps is breaking rule #5. If you're a chemical engineer and your employer tells you to put a misleading label on a batch of chemicals, you can feel very confident saying no to that. The chemical engineering community and culture strongly discourages the "just following orders" excuse, and they push for openly fighting management on unethical or misleading practices.
However, if you are a software engineer and get assigned to program a misleading pattern into an app, most people just do it. Also, slapping together a shitty program due to lack of resources is common, too. It seems that management is the driver of quality and ethics in software engineering. I hope someday, like in other engineering sectors, software engineers have the culture and confidence to stand up to management on ethical matters.