Ethics for Software Engineering IntroductionSoftware Engineering is writingand designing programs for electronic devices, especially for computers. As a part of the engineering field, it does agreat job to make lives of humans easier. In the modern world humans can’t livewithout computers and computers cannot work without software. Therefore,Software Engineers have a high responsibility when developing software forcomputers.
This is where being ethical becomes important. AbstractIn the literature review, Ifirstly describe how risky it is when it comes to creating or developing asoftware. To prevent Software Engineers going out of professionalism, two ofthe famous Software companies came up with a code of ethics and how Software Engineerscan overcome issues by following these codes. I will further describe theconflicts that can happen by using the knowledge of Software Engineersimproperly. I will also describe howsoftware can affect a person’s privacy and mental health when it comes tobadware. Finally, I will explain the practicality of code of ethics and how tocomply to these codes. Literature reviewEngineering is real world enterprisewith ethical aspect. According to the Professional and Ethical Issues ofSoftware Engineering Curricula, “Engineering is an inherently risky activity.
Inorder to underscore this fact and help in explor-ing its ethical implications, we suggest that en-gineering should be viewed as an experimentalprocess. It is not, of course, an experiment con-ducted solely in a laboratory under controlledconditions. Rather, it is an experiment on a so-cial scale involving human subjects” (Dodig-crnkovic & Feldt, 2017) Outof all the fields, Software Engineering is on the top of the risky list. Especially in an era where most of theimportant and personal details are computerized the risk becomes unavoidable.From bank details, company details, national security details to personal healthdetails, everything is computerized, that a single misuse of a software canaffect persons’ privacy, company privacy and can affect entire national economyor the national security. Throughout the process of a software being designed,developed, analyzed, specified and certified, secureness and the quality shouldbe checked. Software Engineer who develop the program should be able to assurethe users about the safety of their given information. The decision made by anengineer with regards to acceptable risks will be an ethical one.
Computing has a major influence on our livesso that it is important to combine computing technologies and the human andsocial values together. The technology should be developed in such a way thatit can protect human and social values as well as helping to solve problems andto make the complicated work much easier. But, how can Software Engineers doboth protecting and advancing the technology at the same time? Because of thatthe Software Engineering code of ethics was created by the IEEE-CS and ACM.Invention of Code of Ethics in Software Engineering, is to instruct Software Engineersto go on the correct path.
In accordance with their commitment to the health,safety and welfare of the public they should also agree to follow the 8principles i.e. public, client and employer, product, judgment, management,profession, colleagues and self. An engineer who follows the code of ethics canface any kind of technical issues as a professional . According to theProfessional and Ethical Issues of Software Engineering Curricula, Harris,Pritchard, and Rabins summarize Stephen Unger’s analysis of the possiblefunctions of a code of ethics:”First, it can serve as a collective recognition by membersof a profession of its responsibilities.
Second, it can help create anenvironment in which ethical behavior is the norm. Third, it can serve as aguide or reminder in speci?c situations. Fourth, the process of developing andmodifying a code of ethics can be valuable for a profession.
Fifth, a code canserve as an educational tool, providing a focal point for discussion in classesand professional meetings. Finally, a code can indicate to others that theprofession is seriously concerned with responsible, professional conduct” (Dodig-crnkovic & Feldt, 2017)This clearly shows how Code ofEthics can affect the society and the profession The way of considering asituation as ethical or unethical depends on from person to person/ culture toculture or even depends on the social beliefs of their society. Normally asoftware is developed to use world-wide and not in a single country.
So, theway of considering a situation as ethical or unethical must be based on thesame formula. According to the book, Science and Engineering Ethics, theintroduction to the code summarizes that, “Because of their roles in developing software systems,Software Engineers have signi?cant opportunities to do good or cause harm, toenable others to do good or cause harm, or to in?uence others to do good orcause harm. To ensure, as much as possible, that their efforts will be used forgood, Software Engineers must commit themselves to making Software Engineeringa bene?cial and respected profession. In accordance with that commitment,Software Engineers shall adhere to this Code of Ethics and ProfessionalPractice” (Lurie & Mark, 2015)The safety and quality of adeveloped software is completely on the hands of the Software Engineer. Hecould either develop a software with weak points where he himself or some otherperson could go and find the customer details and use it for a bad cause orelse he could develop a software without any weak points and make sure that nodetails will be leaked.
After developing the software, Software Engineers couldseek help from ethical hackers to make sure that the software does not containany weak points. Instead of keeping weak point in the developed software, ifthey want they can create software’s which can hack other software’s and leakdetails.In the article Ethics in SoftwareEngineering Net Neutrality and Badware,”What is Badware? Badware is software that fundamentallydisregards a user’s choice about how his or her computer or network connectionwill be used” (Evans, 2012) software.
Software creators should clear thisblurry line by giving clear messages to their users. Badware is dominant. Tomake the matter worse, most of the internet users are not aware of Badware andwhat it does to their computer operations and the speed of responding. Simply,internet users does not know how it could be infecting their computers.
Badwarehave access to the personal information in our computers and can takeinformation without us being informed. So, Software Engineers should ensurethat they do not create or facilitate the creation and deployment ofBadware. Software creators should alsocreate thought full product designs to keep users in control of their computersand networks.Even though it is said thatSoftware Engineers should always follow the principals in code of ethics.
It isimportant to notice that codes must be interpreted and used properly inpractice. In Professional Ethics inSoftware Engineering Curricula says,”Codes of ethics are created in response to actual oranticipated ethical conflicts. Considered in a vacuum, many codes of ethicswould be difficult to comprehend or interpret. It is only in the context ofreal life and real ethical ambiguity that the codes take on any meaning” (Dodig-crnkovic & Crnkovic, 2014)Since these codes are written bythe professionals, it is more likely to be practical as professionals are thepeople who have a good experience in the industry. But, it is not hundredpercent practical because it is something created by humans imagining thepossible conflicts in the future. We might not be able to understand thethought process that the code creators used to construct the code. The best wayto use these codes is to apply them in a variety of situations and study theresults. ConclusionAccording to my opinion it isalways better to be ethical other than thinking about personal profits orfulfilling limited number of people’s needs over the entire society’s needs.
Softwaredevelopment is the main duty of a Software Engineer and the risk involved increating or developing a software is clearly proved. Even though a set ofprinciples are created to maintain a standard in Software Engineers’ professionaldecisions, it totally depends on the Software Engineer whether to follow thoseprinciples or not. If the developedsoftware affects the society in a bad way, software engineers should notfurther develop it and even should change the harmful effects from thesoftware.
As a Software Engineering undergraduate, I am of the view that it isimportant that every Software Engineer adhere to the code of ethics.