 In this video I will talk about ethics in software engineering. There are so many people that are using computers and are affected without even noticing it. It is extremely important to know ethics that is related to design, behavior and usage of computer systems. Firstly, software engineering involves wider responsibilities than simply the application of technical skills. Also, software engineers need to behave in a known and responsible way to be respected as professionals. The code of ethics is like a guide that software developers should know. And finally, there is a large gray area between breaking the law and morally correct behavior. The code of ethics provides a set of principles that is morally correct. The professional responsibility has several important parts that are common in software engineering. First one is confidentiality. Even software engineers have access to sensitive and confidential data. Every professional engineer always should respect confidentiality, even if formal confidential agreement is not signed. You cannot add, change, delete the data or share it with other people or companies. Then goes competence. This part is more complex to manage and control. Sometimes we can think that we have enough competence to implement a solution, but it could appear that we are not experienced enough. Well, usually people tend to overestimate themselves. Another issue is the intellectual property rights. And here a big guilty appears again. From one side, the new product cannot violate the rights of other companies. This means that engineers should not break the law while using external resources. On the other hand, the software should protect the customers or employees' intellectual property. Be sure that you cannot say that it was not your job to be interested in laws, contracts and similar things. Definitely, it is your responsibility to know and be interested in intellectual property rights. And the last one is computer misuse. Engineers might get access to clients' computers or other resources. Basically, they can do everything with that device. For example, play computer games, set up a Bitcoin miner or even install computer viruses. You should not use these devices in the way they are not intended to be used. There is no technical tool or device to control all these aspects. That's why ACM or the Association of Computing Machinery and IEEE or Institute of Electrical and Electronics Engineering jointly created the Code of Eight Ethical Principles. They are related to the behavior of professional software engineers in decision making that includes other people, for example, practitioners, educators, managers, supervisors and policymakers, as well as trainees and students. This is a short preamble. As you may see, the creators of the Code think about software engineering as being a beneficial and respected profession with commitment to the health, safety and welfare of the public. In this lecture, I'll show to represent all principles. For more detailed information, please open the link that is shown in the slide. The first principle is public. Engineers shall act consistently with the public interest. No other party of the project, either it is client, user or employee, is above the public interest. Engineers need to accept full responsibility for their own work. For example, if someone asks to create a computer virus that could do some damage to others, you should not do that. The second principle is called client and employer. And it tells that software engineers should do what is the best for the employee and the client by considering the public interest. Of course, these two sides often conflict with each other. One side wants to make product cheaper, the other side wants a good quality. And your responsibility is to find an agreement. Keep private any confidential information gained in your professional work. Also, engineers should tell the truth even if the project is going to fail. Another principle is product. Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. As a software engineer, you need to strive for the high-quality, acceptable cost and a reasonable schedule. Also, you should ensure adequate testing, debugging and adequate documentation. The fourth principle is called judgment. Software engineers shall maintain integrity and independence in their professional judgment. You need to maintain professional objectivity with respect to any software or related documents. Also, do not engage any improper financial practice. Next principle is management. It tells that managers and leaders shall subscribe to and promote a ethical approach to the management of software development and maintenance. As a team lead, you need to ensure good maintenance for any project on which you work, including effective procedures for promoting of quality and reduction of risk. You should be fair to your employees and realistic in cost, scheduling, quality and outcomes. Profession We have already discussed that software engineers should not underestimate their skills and ensure the advice, integrity and reputation of the professional consistent with their public interest. They need to promote public knowledge of software engineering and extend their knowledge by participating in professional meetings and publications. Colleagues Software engineers shall be fair to and supportive of their colleagues. Encourage colleagues, assist them in professional development and give feedback to their opinions or concerns. The last principle is self. Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. To summarize These principles seek to ask software engineers to behave ethically and to use ethical judgment in their work as opposed to blindly following rules or client instructions. To consider who is affected by the decision they make and to put the welfare and safety of the public above everything else. Thank you for your attention.