In the field of Software Engineering, ethics are essential for an employee. The main ethical Dilemmas in the world are taken into consideration with respective examples. A discussion of importance of ethics in the workplace and the practice of ethics as professionals are highlighted. The author reviewed the other existing literature and constructed the review to create the awareness of ethics for software engineers and decrease the frequency of ethical dilemmas in modern world.
In the cooperate world, ethics play a vital role among the employee and employer. A code of ethic or guideline describes the ethical and professional responsibility of software engineer against peer and legal bodies that can measure their behaviour. Both employee and employer require set of guidelines to follow during their worktime. It helps both parties to accomplish their tasks and follow a professional behaviour in the workplace. Ethics are important as it helps to decide the course of action.
As for a software engineer, it is truly required to follow ethics to overcome different dilemmas and be a professional. Software engineer programmes the software to satisfy the customer’s requirement but he/she has to be ethical when designing it. They must be more concerned about the ethical issues; the impact of unethical behaviour and outcome of the project could be harmful on lives and expensive in terms of capital. The Therac-25 system – it took 4 lives and injured 2 lives with severe wounds in 1986 and 1987 according to Fabio (2015) and Ariane 5 -Flight 501 explosion caused by a bug in the inertial navigation system noted by Sommerville (2015) would be examples in the field. IEEE Computer society and ACM promote ethics as an important factor for a software engineer. (Sommerville, 2015)
In a digitalizing world of organizations, there are sweeping changes which bring forth bad practices among employees and employers. Ethical issues and concern is highly recognized but One of the main reasons for essential of ethics would be to overcome ethical dilemmas such as employees being biases on factors in the workplace. According to Berenbach and Broy (2009), people commit various mistakes and behaviour in unprofessional way when guidelines or ethics aren’t implemented. As employees,
- we tend to think that some activities have to be done by other staff members which is their responsibility – not my problem.
- We tend to swipe away the errors or ignore them with various functionality, but end user uses the product, it could be more harmful – swipe it under the rug.
- Informing clients and management that the program or software is operational while it is under construction
- Providing the management or employer and client that product is deliverable but still serious problems are detected in testing pace.
These are some common ethical dilemmas that an employee or employees to practice overcoming the critical situations and accomplish the project for customers. As noted by Narayanan (2013), Programmers were not interested to introduce the bugs (errors) which resulted the death of human lives, later in investigation it was found that testing phase consist of technical issues. The value and importance of ethics is highlighted for the future. Code of ethics are required among the employees and employers as well as it would be a solution to reduce those type of incidents. According to Towell (2003), A code of ethic is used to achieve several goals such as ensuring quality and testing, safety of the product and justifications in the workplace which clearly shows the requirement of ethics for a software engineer. Sometimes ethics are important as it provides methods to resolve various conflicts noted by Rashid et al., (2009).
The best way to practice ethics in workplace would be publishing among employees and employers that would acknowledge them. Companies or organizations can make use of internationally accepted ethics and ethics published by the company for different circumstances. Employer and employee would question that, is it possible to be ethical as software engineer in the digitalizing world and what extent do code of ethic will reach.
Every employee is recruited as a trainee and it could be used not just to practice ethics but aware them about the outcomes of bad practices at all levels of profession and pursue them to follow ethics on those circumstances and think of it as a company policy. Software engineers design programs for different functionalities which have different impact on human lives, it would be their responsibility follow ethics as a working professional to reduce outcomes from ethical dilemmas.
The ethical dilemmas such as not my problem and swipe it under the rug are caused by employees and employers when they are under pressure by top level management or in hurry to complete it. When they are unable to reach the milestones and deadline is near, they tend to cover their work with functionality and pass it next staff member pointing out rest of the work as their responsibility. Berenbach and Broy shows that these types of ethical dilemmas could lead loss of lives and huge cost on capital. As employee, it’s their responsibility to complete their duties which could minimize the errors in the project. Also, most organizations tend to have red lies – dilemma more often. During the project meetings, employees and employers doesn’t tend to be truthful about the functionality and other things about the project but at the same time customer is satisfied with false information. Suppose programmer says that he can deliver the project on schedule, but his manager cannot complete it instead he trusts his employee which leads to unethical behaviours such as misuses. As employees – they could ask themselves the reason for why code of ethics? Simple answered could be that their profession which has huge impact on human lives and other things in society.
They could be ethical in the workplace that could earn them bonuses and other benefits but it’s the opposite. It is the lack of practice of ethics in their organization, pressure from both customers management, interest on profits and bonuses, etc. Programmers have to understand the risk of their project and failure to do so could lead bad accidents such as
- Ariane 5, Flight 501
- Therac 25
- The London Ambulance Service
- Who counts the votes?
These projects are bought a massive damage on human lives as well as capital noted by Vliet (2008). And it highlights the importance of ethics, employee could feel uncomfortable with some guidelines as it might speak high values, but will it be worthy to take a real risk of the outcome of a project. Employees must mind the risk of the project and importance of ethics. Employees (software engineer) could question themselves in three ways,
- How will my software affect to the society? (eliminate those risks).
- Are there any possible outcomes for bad practices? (reduce the possible outcomes)
this would help them to uncover their software’s bad outcomes. Similar practice could persuade by other employees in order to overcome ethical dilemmas such as swipe it under the rug. “A code of ethics is used to promote a variety of purposes and goals.” Towell (2003, pg. 5). According to towell, reducing the possibility of such accidents and challenges could be done through code of ethics as they must be persuaded. According to Vliet (2008), Employee should strive to understand the project and its outcome, then provide service only in area unlike other professionals which could be a start for practice of ethics. Organizations can make use of hierarchy’s of needs to peruse employees in following ethics.
Also, employees should be truthful and honest on both customers and top management. Organization should ensure the purpose of the project, specifications and its safety instead of being unethical and continuing for the sake of profits. Organizations can have built a workplace with ethics which will promote its employees and employers to work ethically. “The ﬁrst level is a set of familiar ethical values, such as integrity and justice, which professionals share with other human beings by virtue of their shared humanity” Gotterbarn (1998, pg. 59), this could be good way to practice ethics.
According to the above-mentioned information – examples and other author’s saying, it highlighted that the outcome of bad practices could impact badly on human lives such as Therac 25 and cost largely in capital such as Ariane 5, Flight 501. It leads employees and employers to understand the importance of practicing ethics in software engineering with the digitalizing workplace. So, when an ethical problem arise it has to be resolved straightforward under any circumstance or else unmanaged ethical problems will definitely will cause a serious problem.
In the digitalizing world, Respective governments can introduce ethics for organizations and employees based different circumstances. Also, two large reputed organizations of profession in the field – IEEE computer society and ACM have developed a code of ethics. As employees, it’s a must to understand the consequence of bad practices and be ethical in the workplace with all the staff members. It could prevent accidents in terms of resources, capital, reduce the impact on lives and other things. Therefore, Employees should practice code of ethics as working professionals in their career.
- Berenbach, B. & Broy, M., 2009. Professional and Ethical Dilemmas in Software Engineering. Computer , 42(1), pp. 74-80.
- Fabio, A., 2015. KILLED BY A MACHINE: THE THERAC-25. [Online] Available at: https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25 [Accessed 20 December 2017].
- Gotterbarn, D., 1998. How the New Software EngineeringCode of Ethics Affects You. New York, ACM.
- NARAYANAN, A., 2013. Ethical dilemmas faced by software engineers: A roundup of responses. [Online] Available at: https://freedom-to-tinker.com/2013/09/04/ethical-dilemmas-faced-by-software-engineers-a-roundup-of-responses/[Accessed 26 December 2017].
- Rashid, A., Weckert, J. & Lucas, R., 2009. SOFTWARE ENGINEERING ETHICS IN A DIGITAL WORLD. Computer, 42(6), pp. 34-41.
- Towell, E., 2003. Teaching Ethics in the Software Engineering Curriculum. s.l., IEEE.
- Vliet, H. V., 2008. Software Engineering: Principles and Practice. 3rd ed. Chichester(UK): John Wiley.