Information Technology Reference
In-Depth Information
A software engineer is someone engaged in the development or maintenance of
software, or someone who teaches in this area. In 1993 the IEEE-CS and ACM set up
a joint steering committee to explore the establishment of software engineering as a
profession. The joint steering committee created several task forces to address particular
issues. One task force conducted a survey of practitioners with the goal of understanding
the knowledge and skills required by software engineers. Another task force developed
accreditation criteria for undergraduate programs in software engineering. A third task
force developed a code of ethics for software engineers.
In May 1999, the ACM Council passed a resolution that stated, in part, “ACM is
opposed to the licensing of software engineers at this time because ACM believes that it
is premature and would not be effective in addressing the problems of software quality
and reliability” [3].
ABILITY TO HARM THE PUBLIC
The computing “profession” may not be as well developed as the medical or legal pro-
fessions, but in one key respect—the ability to harm members of the public—those
who design, implement, and maintain computer hardware and software systems some-
times hold responsibilities similar to those held by members of mature professions. The
Therac-25 killed or gravely injured at least six people, in part because of defective soft-
ware. While most software engineers do not write code for safety-critical systems such
as linear accelerators, society does depend on the quality of their work. People make
important business decisions based on the results they get from their spreadsheet pro-
grams. Millions rely upon commercial software to help them produce their income tax
returns. Errors in programs can result in such harms as lost time, incorrect business de-
cisions, and fines. System administrators are responsible for keeping computer systems
running reliably without infringing on the privacy of the computer users.
THE IMPORTANCE OF TAKING PERSONAL RESPONSIBILITY
The ability to cause harm to members of the public is a powerful reason
why those in computer-related careers must act according to ethical
principles. Without formal certification and licensing and other
components of a well-developed profession to rely upon, those in
computer-related careers must take more personal responsibility for
developing their ethical decision-making skills.
One important decision-making skill to develop is the ability to apply the viable eth-
ical theories presented in Chapter 2. Kantianism, utilitarianism, social contract theory,
and virtue ethics all contain important insights into what it means to do the right thing.
Another important decision-making skill to develop is the ability to apply the Software
Engineering Code of Ethics and Professional Practice, endorsed by both the ACM and
the IEEE-CS.
 
Search WWH ::




Custom Search