Engineers are trained to think analytically and base their technical decisions on relevant facts and research. Nonetheless, engineers will encounter many situations involving ethical questions during their careers. In order to improve their ability to make ethical decisions engineers require additional tools and training. These include an understanding of the relevant codes of ethics and learning to recognize ethical challenges and solutions through a case study approach. In this tutorial the author discusses two codes of ethics that software engineers can use as a reference when they confront ethical questions in professional situations. The author also provides a guided review of ethical decision-making using a case study in software engineering. Several suggestions and additional references for improving ethical decision-making are offered.