Understanding the need for a professional Code of Conduct
Introduction
We have seen that computers are in a central role today and software engineers are at the heart of developing both new software and the new systems that the software will run on. We know that software engineers are in a very powerful position and can do a lot of good, as well as a lot of harm and that they are also in a position to influence others to do good or to do harm.

Because of their power, software engineers must work towards and be seen to be working towards being a force for good and working in a way that promotes their profession rather than brings it into suspicion. To ensure that everyone understands their role and responsibilities, all professional organisations draw up standards and Codes of Conduct. It then becomes very clear how everyone should behave. It also gives practising professionals a tool which they can use if ever they are put under pressure to behaviour in a less than ethical fashion. They can refer to their Code of Conduct as the guiding principle and justification behind their actions and decision-making.
There are always lots of tensions and pressures in any job and a software engineer's job is no different. At times, these pressures and conflicting interests clash. There are other times when they have an opportunity to do something because of the position of power that they are in. A Code of conduct can help to define behaviour and decision-making.
Examples where software engineers may have a conflict of interest or are in a privileged position which could be abused include:
- Employees often have access to private and confidential data. That data should be treated with respect. It shouldn't be copied and shared or emailed out of the organisation's system unless there is a good reason related to the professional execution of the job.
- Private and confidential data shouldn't be discussed with anyone except in a professional context.
- Employees are in a position of trust. They should ensure that they keep that trust, for example, by not letting others who have no right to see data, get access to that data by using their login and password.
- Employees should follow whatever legal directives exist e.g. the Data Protection Act 1998 or relevant Health and Safety legislation and if something can't be followed, to raise the issue effectively with their line manager.
- Employees should ensure that standards of ethics are followed and that they are not put under pressure to produce substandard work that goes against professional codes of conduct.
- Employees should be able to assess different competing conflicts when developing a product professionally, for example, the need to do proper testing against the need to get a product finished, and to be able to not compromise standards of behaviour.
- Employees should be able to make decisions based on objective information, not any perceived or actual advantage e.g. a promotion or financial bribe!
- Employees who have access to hardware and especially software shouldn't take advantage of their positions by e.g. copying software for home use.
- Employees should take care of the systems they use so for example, they shouldn't bring in external pen drives and run their own programs on their employer's computers, as this could introduce a virus into the network and lead to data loss or other damage.
- Employees shouldn't take a company's intellectual property with them when they move to a different company.
There are many other examples of the impact of ethics and the code of conduct on computer professionals but the above is a sample of what you might consider as part of the ethics debate.