Software engineering ethics are a subset of professional ethics that is within a social and legal framework that limits the freedom of people working in the field of software development. A software engineer is made to understand that the practice of his job involves a wider responsibility than just writing software code.
Software engineering ethics is about upholding the principles of honesty and integrity in the practice of software engineering.
Some of the ethical responsibilities of a software engineer are:
1. Confidentiality: A software engineer must respect the client's confidentiality whether or not a confidentiality agreement was signed. The client's business secrets must not be revealed to third-parties.
2. Competence: A software engineer must not misrepresent his level of competence. This also implies that a software engineer must not accept to work on projects that are well outside the scope of his competence.
3. Intellectual Property Rights: A software engineer must be fully aware of the local laws governing the use of intellectual property. The intellectual properties of clients must be protected at all times.
4. Computer misuse: A software engineer must not use his technical expertise to exploit other people. Computer misuse also include the use of computers to perform activities not related to the work assigned by the client. This ranges from relatively trivial activities like playing games on a client's system, to very serious ones like the dissemination of virus and malware.