繁体
首页

第89章 职业道德和责任(1)(2 / 3)

在一个职业环境中,做出道德决策有一些特殊之处,但是决策还是要基于一般的道德原则和理论来做出。第1.4节中描述了这些一般原则。建议读者现在最好重读或复习一下这些内容。在第9.2节中,我们会讨论计算机专业的道德准则。在第9.3节中,我们考虑一些示例场景。

9.2 计算机专业人员的道德准则

9.2.1 专业人员道德的特殊方面

专业人员的道德有几个特点不同于一般的道德。专业人员角色的特别之处体现在几个方面。首先,专业人员是一个领域的专家,无论是计算机科学或医学,大多数客户都知之甚少。受到这些设备、系统和专业服务影响的大多数人,并不明白它们是如何工作的,也不能简单地判断其质量和安全性。这对于专业人员来说意味着责任。客户会依赖于专业人士的知识、专业技术和诚实。一个专业人士会对外宣传他或她的专业知识,因此在提供这些知识时也拥有责任。其次,许多专业人士的产品(例如,公路桥梁、投资咨询、手术方案和计算机系统)会深刻地影响大量的人。计算机专业人士的工作会影响其客户或公众的生命、健康、金融、自由和未来。一个专业人士可能因为不诚实、疏忽或不称职造成巨大的伤害。通常情况下,受害者几乎没有能力保护自己,因为他们不是专业人士的直接客户,在选择产品或做出有关它的质量和安全的决策时,并没有直接的控制权或起到安全决策的作用。因此,计算机专业人士不仅对他们的客户负有特殊责任,同时也对普通大众和其产品的用户负有特殊责任,不管他们是否与用户有直接的关系。这些责任包括考虑到隐私和数据安全的潜在风险,安全性、可靠性和易用性。它们包括采取行动来降低过高的风险。

第8章中,我们看到在计算机系统中的一些漏洞造成的主要和次要的后果。在其中一些案例中,人们在行动时采取了显然不道德或不负责任的方式。但是,许多情况下,可能并没有不良意图。软件可以是非常复杂的,而且其开发过程中涉及拥有不同的角色和技能的许多人之间的通信。因为计算机系统的复杂性、风险和影响,专业人士的道德责任不仅包括避免故意的恶行,而且要做到高度谨慎和遵循良好的职业实践,以减少问题发生的可能性。这包括保持预期的高水准竞争力的责任,以及对该专业最新的现有知识、技术和标准的掌握。职业责任包括了解或学习关于应用领域的足够知识,以便把工作做好。对于管理或使用复杂计算机系统的非计算机专业人员来说,其责任包括了解或学习关于该系统的足够知识,以了解潜在的问题。

第1.4.1节中,我们观察到,尽管人们经常把勇气同英雄行为联系起来,在我们的日常生活中,我们有很多机会可以通过做出不受欢迎的正确决策,来彰显自己的勇气。在一个专业的环境中,勇气可能意味着向客户承认你的程序有问题,拒绝一个你不够格去完成的任务,或者当你看到别人做错事时,要站出来说话。

9.2.2 专业道德准则

许多专业组织都制定相应的专业行为守则。它们提供了关于道德价值的一般性陈述,并提醒从事该职业的人们,道德行为是他们工作的一个重要组成部分。该准则提供了有关特定的职业责任的提示。它们为如下人员提供宝贵的指导:包括从事该职业的新的或年轻的成员,他们想要遵守道德规范却不知道该怎么去做;以及因为经验有限,在遇到困难的道德情形时,做不到足够警醒且适当进行处理的人们。

在“计算机专业”所包括的职业范围内,有几个重要的专业组织。其中最主要的是ACM和IEEE计算机学会(IEEE CS)。他们制定了“软件工程职业道德准则和实践要求”(ACM和IEEE CS共同采用)和“ACM道德准则和职业操守”(两个准则都列在附录A中)。在下面的讨论中,以及在第9.3节中,我们使用缩写的“SE准则”和“ACM准则”来分别指代这两个专业道德规范。这些准则强调的是诚实和公平的基本道德价值观[1]。它们涵盖了专业行为的许多方面,其中包括有责任遵守保密性[2]、保持专业能力[3]、了解相关的法律[4]和兑现合同与协议[5]。此外,这些准则还特别强调了一些对于计算机系统特别容易出问题的领域(但并不是计算机系统独有的)。他们强调有责任尊重和保护隐私[6]、避免伤害他人[7]和尊重财产权(其中知识产权是与计算机系统本身最相关的例子)[8]。SE准则覆盖了关于软件开发的许多具体问题。它有几种语言的版本,并且很多组织都采用它作为其内部的职业标准。