Ethics is when it comes to creating or developing

Ethics for Software Engineering

 

Introduction

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

Software Engineering is writing
and designing programs for electronic devices, especially for computers.  As a part of the engineering field, it does a
great job to make lives of humans easier. In the modern world humans can’t live
without computers and computers cannot work without software. Therefore,
Software Engineers have a high responsibility when developing software for
computers. This is where being ethical becomes important.    

Abstract

In the literature review, I
firstly describe how risky it is when it comes to creating or developing a
software. To prevent Software Engineers going out of professionalism, two of
the famous Software companies came up with a code of ethics and how Software Engineers
can overcome issues by following these codes. I will further describe the
conflicts that can happen by using the knowledge of Software Engineers
improperly.  I will also describe how
software can affect a person’s privacy and mental health when it comes to
badware. Finally, I will explain the practicality of code of ethics and how to
comply to these codes.

 

Literature review

Engineering is real world enterprise
with ethical aspect. According to the Professional and Ethical Issues of
Software Engineering Curricula,

  “Engineering is an inherently risky activity.
In
order to underscore this fact and help in explor-
ing its ethical implications, we suggest that en-
gineering should be viewed as an experimental
process. It is not, of course, an experiment con-
ducted solely in a laboratory under controlled
conditions. Rather, it is an experiment on a so-
cial scale involving human subjects” (Dodig-crnkovic & Feldt, 2017)

 

Out
of all the fields, Software Engineering is on the top of the risky list.  Especially in an era where most of the
important and personal details are computerized the risk becomes unavoidable.
From bank details, company details, national security details to personal health
details, everything is computerized, that a single misuse of a software can
affect persons’ privacy, company privacy and can affect entire national economy
or the national security. Throughout the process of a software being designed,
developed, analyzed, specified and certified, secureness and the quality should
be checked. Software Engineer who develop the program should be able to assure
the users about the safety of their given information. The decision made by an
engineer with regards to acceptable risks will be an ethical one. 

 Computing has a major influence on our lives
so that it is important to combine computing technologies and the human and
social values together. The technology should be developed in such a way that
it can protect human and social values as well as helping to solve problems and
to make the complicated work much easier. But, how can Software Engineers do
both protecting and advancing the technology at the same time? Because of that
the 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 Engineers
to 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 8
principles i.e. public, client and employer, product, judgment, management,
profession, colleagues and self. An engineer who follows the code of ethics can
face any kind of technical issues as a professional . According to the
Professional and Ethical Issues of Software Engineering Curricula, Harris,
Pritchard, and Rabins summarize Stephen Unger’s analysis of the possible
functions of a code of ethics:

“First, it can serve as a collective recognition by members
of a profession of its responsibilities. Second, it can help create an
environment in which ethical behavior is the norm. Third, it can serve as a
guide or reminder in speci?c situations. Fourth, the process of developing and
modifying a code of ethics can be valuable for a profession. Fifth, a code can
serve as an educational tool, providing a focal point for discussion in classes
and professional meetings. Finally, a code can indicate to others that the
profession is seriously concerned with responsible, professional conduct” (Dodig-crnkovic
& Feldt, 2017)

This clearly shows how Code of
Ethics can affect the society and the profession

The way of considering a
situation as ethical or unethical depends on from person to person/ culture to
culture or even depends on the social beliefs of their society. Normally a
software is developed to use world-wide and not in a single country. So, the
way of considering a situation as ethical or unethical must be based on the
same formula. According to the book, Science and Engineering Ethics, the
introduction 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, to
enable others to do good or cause harm, or to in?uence others to do good or
cause harm. To ensure, as much as possible, that their efforts will be used for
good, Software Engineers must commit themselves to making Software Engineering
a bene?cial and respected profession. In accordance with that commitment,
Software Engineers shall adhere to this Code of Ethics and Professional
Practice” (Lurie & Mark, 2015)

The safety and quality of a
developed software is completely on the hands of the Software Engineer. He
could either develop a software with weak points where he himself or some other
person could go and find the customer details and use it for a bad cause or
else he could develop a software without any weak points and make sure that no
details will be leaked. After developing the software, Software Engineers could
seek help from ethical hackers to make sure that the software does not contain
any weak points. Instead of keeping weak point in the developed software, if
they want they can create software’s which can hack other software’s and leak
details.

In the article Ethics in Software
Engineering Net Neutrality and Badware,

“What is Badware? Badware is software that fundamentally
disregards a user’s choice about how his or her computer or network connection
will be used” (Evans, 2012)

 software. Software creators should clear this
blurry line by giving clear messages to their users. Badware is dominant. To
make the matter worse, most of the internet users are not aware of Badware and
what it does to their computer operations and the speed of responding. Simply,
internet users does not know how it could be infecting their computers. Badware
have access to the personal information in our computers and can take
information without us being informed. So, Software Engineers should ensure
that they do not create or facilitate the creation and deployment of
Badware.  Software creators should also
create thought full product designs to keep users in control of their computers
and networks.

Even though it is said that
Software Engineers should always follow the principals in code of ethics. It is
important to notice that codes must be interpreted and used properly in
practice.  In Professional Ethics in
Software Engineering Curricula says,

“Codes of ethics are created in response to actual or
anticipated ethical conflicts. Considered in a vacuum, many codes of ethics
would be difficult to comprehend or interpret. It is only in the context of
real life and real ethical ambiguity that the codes take on any meaning” (Dodig-crnkovic
& Crnkovic, 2014)

Since these codes are written by
the professionals, it is more likely to be practical as professionals are the
people who have a good experience in the industry. But, it is not hundred
percent practical because it is something created by humans imagining the
possible conflicts in the future. We might not be able to understand the
thought process that the code creators used to construct the code. The best way
to use these codes is to apply them in a variety of situations and study the
results.

 

Conclusion

According to my opinion it is
always better to be ethical other than thinking about personal profits or
fulfilling limited number of people’s needs over the entire society’s needs. Software
development is the main duty of a Software Engineer and the risk involved in
creating or developing a software is clearly proved. Even though a set of
principles are created to maintain a standard in Software Engineers’ professional
decisions, it totally depends on the Software Engineer whether to follow those
principles or not.  If the developed
software affects the society in a bad way, software engineers should not
further develop it and even should change the harmful effects from the
software. As a Software Engineering undergraduate, I am of the view that it is
important that every Software Engineer adhere to the code of ethics.