Skip to content

CHAPTER 4 Engineering for Equity

kimi edited this page Aug 10, 2021 · 6 revisions

公平工程

在前几章中,我们已经探讨了编程与软件工程之间的对比,前者是编写代码解决当前的问题,后者是对代码、工具、政策和流程的更广泛的应用,以解决可能跨越几十年甚至一生的动态和模糊的问题。在本章中,我们将讨论工程师在为广大用户设计产品时的独特责任。此外,我们还将评估一个组织如何通过拥抱多样性来设计适合所有人的系统,并避免对我们的用户造成长期的伤害。

尽管软件工程领域是个新领域,但我们在理解它对代表性不足的人和多元化社会的影响方面还比较新。我们写这一章并不是因为我们知道所有的答案。我们不知道。事实上,了解如何设计能够赋予所有用户权力并尊重他们的产品,仍然是谷歌正在学习的事情。在保护我们最脆弱的用户方面,我们有很多公开的失败,因此我们写这一章是因为,通往更公平的产品的道路始于评估我们自己的失败和鼓励成长。

我们写这一章的原因还在于,在那些做出影响世界的发展决定的人和那些只是必须接受和忍受这些决定的人之间,权力的不平衡越来越严重,这些决定有时会使全球已经被边缘化的社区处于不利地位。与下一代的软件工程师分享和反思我们目前所学到的东西是很重要的。更重要的是,我们要帮助影响下一代的工程师,使他们比我们今天做得更好。

只要拿起这本书,就意味着你可能渴望成为一名出色的工程师。你想解决问题。你渴望建造产品,为最广泛的人群推动积极的结果,包括最难接触的人。要做到这一点,你将需要考虑如何利用你建立的工具来改变人类的轨迹,希望是更好的。

偏见是默认的

当工程师不关注不同国籍、民族、种族、性别、年龄、社会经济地位、能力和信仰体系的用户时,即使是最有才华的员工也会在无意中让他们的用户失望。这种失败往往是无意的;所有的人都有一定的偏见,社会科学家们在过去几十年中已经认识到,大多数人都表现出无意识的偏见,强制和颁布现有的定型观念。无意识的偏见是隐蔽的,往往比有意的排斥行为更难缓解。即使我们想做正确的事,我们也可能认识不到自己的偏见。同样,我们的组织也必须认识到这种偏见的存在,并努力在他们的员工队伍、产品开发和用户拓展中解决这个问题。

由于偏见,谷歌有时未能在其产品中公平地代表用户,在过去几年中推出的产品没有足够关注代表性不足的群体。许多用户认为,我们在这些情况下缺乏认识,是因为我们的工程人员大多是男性,大多是白人或亚洲人,当然不能代表使用我们产品的所有社区。这类用户在我们的员工队伍中缺乏代表性,这意味着我们往往不具备必要的多样性,无法理解我们的产品的使用会如何影响代表性不足或弱势用户。

案例研究:谷歌在种族包容方面的失误

2015年,软件工程师 Jacky Alciné 指出,谷歌照片中的图像识别算法将他的黑人朋友归为 "大猩猩"。谷歌对这些错误的反应很慢,解决起来也不彻底。

是什么导致了这样一个巨大的失败?有几件事。

- 图像识别算法取决于是否提供了一个 "适当的"(通常意味着 "完整的")数据集。送入谷歌图像识别算法的照片数据显然是不完整的。简而言之,这些数据并不代表人群。
- 谷歌本身(以及整个科技行业)没有(也没有)多少黑人代表,这影响了设计此类算法和收集此类数据集的主观决定。该组织本身无意识的偏见很可能导致更具代表性的产品被搁置。
- 谷歌的图像识别目标市场并没有充分包括这种代表性不足的群体。谷歌的测试没有发现这些错误;结果是我们的用户发现了这些错误,这既让谷歌感到尴尬,也伤害了我们的用户。

直到2018年,谷歌仍然没有充分解决这个根本问题。

在这个例子中,我们的产品设计和执行不足,未能正确考虑所有的种族群体,结果是辜负了我们的用户,并给谷歌造成了不好的影响。其他技术也有类似的失误:自动完成可以返回冒犯性或种族主义的结果。谷歌的广告系统可以被操纵来显示种族主义或攻击性广告。YouTube 可能抓不到仇恨言论,尽管该平台在技术上是非法的。

在所有这些情况下,技术本身并不是真正的罪魁祸首。例如,自动完成的设计并不是为了针对用户或进行歧视。但它的设计也没有足够的弹性来排除被认为是仇恨言论的歧视性语言。因此,该算法返回的结果对我们的用户造成了伤害。对谷歌本身的伤害也应该是显而易见的:减少了用户对公司的信任和参与。例如,黑人、拉美人和犹太人的申请者可能会对谷歌这个平台,甚至对其本身的包容性环境失去信心,因此,谷歌改善招聘中的代表性的目标被低估。

这怎么可能发生呢?毕竟,谷歌聘用的技术专家拥有无可挑剔的教育和/或专业经验--杰出的程序员,他们编写最好的代码并测试他们的工作。"为每个人而建" 是谷歌的品牌声明,但事实是,在宣称我们做到这一点之前,我们仍有很长的路要走。解决这些问题的方法之一是帮助软件工程组织本身看起来像我们为其建造产品的人群。

了解多样性的需要

在谷歌,我们认为,要成为一名出色的工程师,还需要注重将多元化的观点带入产品设计和实施中。这也意味着,负责招聘或面试其他工程师的谷歌人必须为建立一支更具代表性的员工队伍做出贡献。例如,如果你为你公司的职位面试其他工程师,就必须了解在招聘中如何发生偏颇的结果。了解如何预测伤害和预防伤害有重要的先决条件。为了达到我们能够为每个人建设的目的,我们首先必须了解我们的代表人群。我们需要鼓励工程师有更广泛的教育培训范围。

当务之急是打破这样的观念:作为一个拥有计算机科学学位和/或工作经验的人,你拥有成为一个杰出工程师所需的所有技能。计算机科学学位通常是一个必要的基础。然而,仅有学位(即使再加上工作经验)并不能使你成为一名工程师。打破 "只有拥有计算机科学学位的人才能设计和建造产品" 的想法也很重要。今天,大多数程序员确实拥有计算机科学学位;他们在构建代码、建立变化理论和应用解决问题的方法方面都很成功。然而,正如前面提到的例子所示,这种方法不足以实现包容性和公平的工程。

工程师应首先将所有工作集中在他们试图影响的完整生态系统的框架内。至少,他们需要了解其用户的人口统计学。工程师应该关注那些与自己不同的人,特别是那些可能试图使用他们的产品造成伤害的人。最难考虑的用户是那些被他们获取技术的过程和环境剥夺了权利的人。为了应对这一挑战,工程团队需要代表他们现有和未来的用户。如果工程团队中没有不同的代表,单个工程师需要学习如何为所有的用户建立。

建设多元文化能力

卓越的工程师的一个标志是能够理解产品如何对不同的人类群体有利和不利。工程师应该有技术能力,但他们也应该有辨别力,知道什么时候该做什么,什么时候不该做。辨别力包括建立识别和拒绝导致不利结果的功能或产品的能力。这是一个崇高而困难的目标,因为要成为一名高绩效的工程师,需要有大量的个人主义。然而,为了成功,我们必须将我们的注意力从我们自己的社区扩展到下一个十亿用户,或者是可能被我们的产品剥夺权利或遗弃的现有用户。

随着时间的推移,你可能会建立数十亿人每天使用的工具--影响人们思考人类生命价值的工具,监测人类活动的工具,以及捕捉和保存敏感数据的工具,例如他们的孩子和亲人的图像,以及其他类型的敏感数据。作为一名工程师,你可能掌握着比你意识到的更多的权力:有能力实实在在地改变社会。至关重要的是,在你成为一名出色的工程师的过程中,你要了解行使权力而不造成伤害所需的内在责任。第一步是要认识到由许多社会和教育因素造成的你的偏见的默认状态。在你认识到这一点之后,你就能考虑那些经常被遗忘的用例或用户,他们可以从你制造的产品中获益或受到伤害。

这个行业继续向前发展,以越来越快的速度为人工智能(AI)和机器学习建立新的用例。为了保持竞争力,我们在建立一支高素质的工程和技术队伍时,努力实现规模和效率。然而,我们需要暂停并考虑这样一个事实:今天,有些人有能力设计技术的未来,而其他人则没有。我们需要了解,我们建立的软件系统是否会消除整个人口体验共同繁荣的潜力,并提供平等的技术机会。

从历史上看,在完成一个推动市场主导地位和收入的战略目标与一个可能减缓实现该目标的势头之间,公司都选择了速度和股东价值。许多公司重视个人的表现和卓越,但往往不能有效地推动所有领域的产品公平的问责制,这加剧了这种倾向。关注代表性不足的用户是一个促进公平的明显机会。为了在技术领域继续保持竞争力,我们需要学会为全球公平而设计。

今天,当公司设计技术来扫描、捕捉和识别走在大街上的人时,我们感到担心。我们担心隐私问题,担心政府现在和将来会如何使用这些信息。然而,大多数技术专家并不具备代表不足的群体的必要视角,无法理解面部识别中种族差异的影响,也无法理解应用人工智能如何推动有害和不准确的结果。

目前,人工智能驱动的面部识别软件仍然对有色人种或少数族裔不利。我们的研究不够全面,没有包括足够广泛的不同肤色的人。如果训练数据和创建软件的人都只代表一小部分人,我们就不能指望输出是有效的。在这些情况下,我们应该愿意推迟开发,以努力获得更完整和准确的数据,以及更全面和包容的产品。

然而,数据科学本身对人类的评估是具有挑战性的。即使我们有代表性,训练集仍然可能有偏见,产生无效的结果。2016年完成的一项研究发现,有超过1.17亿美国成年人在执法部门的面部识别数据库中。由于黑人社区的警务工作不成比例,逮捕的结果也不尽相同,在利用这样的数据库进行面部识别时,可能会出现有种族偏见的错误率。虽然软件的开发和部署速度越来越快,但独立测试却没有。为了纠正这一令人震惊的错误,我们需要有诚信,放慢脚步,确保我们的输入尽可能不包含偏见。谷歌现在在人工智能的范围内提供统计培训,以帮助确保数据集没有内在的偏见。

因此,将你的行业经验的重点转移到包括更全面的、多文化的、种族和性别研究的教育,不仅是你的责任,也是你雇主的责任。科技公司必须确保他们的员工不断接受专业发展,而且这种发展是全面和多学科的。要求不是一个人独自承担起学习其他文化或其他演示图的任务。变革要求我们每个人,无论是个人还是团队的领导者,都要投资于持续的专业发展,不仅要培养我们的软件开发和领导技能,还要培养我们了解全人类不同经验的能力。

让多样性成为行动

如果我们愿意接受我们都要对我们在技术领域看到的系统性歧视负责,那么系统性的公平和公正是可以实现的。我们要对系统的失败负责。推迟或抽象化个人责任是无效的,而且根据你的角色,这可能是不负责任的。将你的具体公司或团队内的动态完全归结为造成不平等的更大的社会问题也是不负责任的。多样性支持者和反对者中最喜欢的一句话是这样的。"我们正在努力解决(插入系统性歧视的话题),但问责制是困难的。我们如何打击(插入几百年来的)历史性歧视?" 这种询问方式是对更多哲学或学术对话的迂回,远离了改善工作条件或结果的重点努力。建立多文化能力的一部分需要更全面地了解社会中的不平等制度如何影响工作场所,特别是在技术部门。

如果你是一名工程经理,致力于雇用更多来自代表性不足的群体的人,遵从世界歧视的历史影响是一个有用的学术练习。然而,关键是要超越学术对话,把重点放在可量化和可操作的步骤上,你可以采取这些步骤来推动公平和公正。例如,作为一个招聘软件工程师的经理,你有责任确保你的候选人名单是平衡的。在候选人的审核中,是否有女性或其他代表不足的群体?在你雇用某人之后,你提供了哪些成长机会,机会的分配是否公平?每个技术领导或软件工程经理都有办法在他们的团队中增加平等。重要的是,我们要承认,尽管存在着重大的系统性挑战,但我们都是这个系统的一部分。这是我们要解决的问题。

拒绝单一的方法

我们不能让那些提出单一理念或方法来解决科技领域不平等问题的解决方案长期存在。我们的问题是复杂和多因素的。因此,我们必须打破促进工作场所代表性的单一方法,即使这些方法是由我们敬佩的人或拥有机构权力的人推动的。

在技术行业中,有一种单一的说法,即劳动力中缺乏代表性的问题可以只通过修复招聘渠道来解决。是的,这是一个基本步骤,但这并不是我们需要解决的直接问题。我们需要认识到进步和保留方面的系统性不平等,同时关注更具代表性的招聘和教育差异,例如,跨越种族、性别、社会经济和移民地位的差异。

在技术行业,许多来自代表性不足的群体的人每天都被排除在机会和晋升之外。谷歌黑人员工的流失率超过了所有其他群体的流失率,混淆了代表性目标的进展。如果我们想推动变革并提高代表性,我们需要评估我们是否正在创造一个生态系统,让所有有抱负的工程师和其他技术专业人员都能在其中茁壮成长。

充分了解整个问题空间对于确定如何解决它至关重要。从关键的数据迁移到雇用有代表性的劳动力,都是如此。例如,如果你是一个想雇用更多女性的工程经理,不要只关注建立一个管道。关注招聘、保留和发展生态系统的其他方面,以及它对女性的包容性如何或如何。考虑你的招聘人员是否表现出有能力识别强大的女性和男性候选人。如果你管理一个多元化的工程团队,请关注心理安全,并投资于增加团队的多元文化能力,使新的团队成员感到受欢迎。

今天,一种常见的方法是首先为大多数用例建立,把解决边缘案例的改进和功能留到以后。但这种方法是有缺陷的;它让那些在获取技术方面已经处于优势地位的用户占了先机,这就增加了不公平性。把对所有用户群体的考虑降到设计已经接近完成的时候,就是降低了成为一名优秀工程师的标准。相反,通过从一开始就建立包容性的设计,提高开发标准,使那些难以使用技术的人能够愉快地使用工具,我们为所有用户提高了体验。

为最不像你的用户设计不仅是明智的,而且是一种最佳实践。在开发产品时,所有的技术专家,无论在哪个领域,都应该考虑一些务实的和直接的下一步措施,以避免对用户造成不利影响或代表不足。它始于更全面的用户体验研究。这种研究应该在多语言和多文化的用户群体中进行,并且跨越多个国家、社会经济阶层、能力和年龄范围。首先关注最难的或最没有代表性的用例。

挑战既定程序

挑战自己以建立更公平的系统,不仅仅是设计更具包容性的产品规格。建立公平的系统有时意味着挑战那些推动无效结果的既定程序。

考虑一下最近评估的一个对公平有影响的案例。在谷歌,几个工程师团队致力于建立一个全球招聘申请系统。该系统同时支持外部招聘和内部流动。有关的工程师和产品经理在倾听他们认为是核心用户群的要求方面做得很好:招聘人员。招聘人员专注于最大限度地减少招聘经理和申请人的时间浪费,他们向开发团队提出了专注于这些人的规模和效率的用例。为了提高效率,招聘人员要求工程团队加入一项功能,在内部调动人员表示对某项工作感兴趣时,立即向招聘经理和招聘人员强调业绩评级--特别是较低的评级。

从表面上看,加快评估过程和帮助求职者节省时间是一个伟大的目标。那么,潜在的公平问题在哪里呢?人们提出了以下公平问题。

  • 发展性评估是对业绩的预测性衡量吗?
  • 呈现给未来管理者的绩效评估是否不存在个人偏见?
  • 绩效评估的分数在不同的组织中是标准化的吗?

如果这些问题的答案都是 "否",那么呈现的绩效评估仍然可能导致不公平的结果,因而也是无效的。

当一位杰出的工程师质疑过去的业绩是否真的能预测未来的业绩时,审查小组决定进行一次彻底的审查。最后确定,获得不良绩效评级的候选人如果找到一个新的团队,就有可能克服不良评级。事实上,他们获得满意或模范绩效评级的可能性与从未获得过差评的候选人一样。简而言之,绩效评级只表明一个人在被评估时在其特定角色中的表现。尽管评级是衡量某一特定时期业绩的重要方法,但它并不能预测未来的业绩,也不应被用来衡量未来角色的准备程度,或使内部候选人有资格进入不同的团队。(然而,它们可以用来评估一个员工在其当前团队中的位置是否恰当;因此,它们可以提供一个机会来评估如何更好地支持一个内部候选人向前迈进。)

这种分析无疑占用了大量的项目时间,但积极的回报是一个更公平的内部流动过程。

价值与结果

谷歌在招聘方面的投资有着良好的记录。正如前面的例子所示,我们也不断地评估我们的流程,以提高公平性和包容性。更广泛地说,我们的核心价值观是基于尊重和对多元化和包容性劳动力的坚定承诺。然而,年复一年,我们也错过了雇用一支反映我们全球用户的代表性员工队伍。尽管我们制定了一些政策和计划来帮助支持包容性倡议,并促进在招聘和进展方面的卓越表现,但改善我们公平结果的斗争仍然存在。失败点不在于公司的价值观、意图或投资,而在于这些政策在执行层面的应用。

旧的习惯是很难打破的。你今天可能习惯于为之设计的用户--你习惯于从他们那里获得反馈--可能并不代表你需要接触的所有用户。我们看到这种情况经常发生在各种产品上,从不适合女性身体的可穿戴设备到不适合深肤色人的视频会议软件。

那么,有什么出路呢?

  1. 认真照照镜子。在谷歌,我们有一个品牌口号,"为每个人而建"。当我们没有一个具有代表性的劳动力或首先集中社区反馈的参与模式时,我们怎么能为每个人建立?我们不能。事实是,我们有时非常公开地未能保护我们最脆弱的用户免受种族主义、反犹太主义和恐同内容的影响。
  2. 不要为所有人建立。要与所有人一起建设。我们还没有为每一个人建设。这项工作不会发生在真空中,当然也不会发生在技术还不能代表整个人口的时候。话虽如此,我们也不能打包回家。那么,我们如何为每个人建立?我们与我们的用户一起建设。我们需要让全人类的用户参与进来,并有意将最脆弱的群体置于我们设计的中心。他们不应该是事后的考虑。
  3. 为那些在使用你的产品时遇到最大困难的用户设计。为那些有额外挑战的人设计将使产品对所有人都更好。另一种思考方式是:不要用公平来换取短期的速度。
  4. 不要假设公平;要在你的系统中衡量公平。认识到决策者也会有偏见,而且可能对不公平的原因了解不足。你可能不具备识别或衡量公平问题的范围的专业知识。照顾一个用户群可能意味着剥夺另一个用户群的权利;这些权衡可能很难发现,也不可能扭转。与那些在多样性、公平性和包容性方面是主题专家的个人或团队合作。
  5. 改变是可能的。我们今天所面临的技术问题,从监视到虚假信息再到在线骚扰,确实是令人难以承受的。我们不能用过去失败的方法或仅靠我们已有的技能来解决这些问题。我们需要改变。

保持好奇心,向前推动

实现公平的道路是漫长而复杂的。然而,我们可以而且应该从简单地建造工具和服务过渡到增加我们对我们设计的产品如何影响人类的理解。挑战我们的教育,影响我们的团队和经理,以及做更全面的用户研究,都是取得进展的方法。虽然改变是不舒服的,而且通往高绩效的道路可能是痛苦的,但通过合作和创造,它是可能的。

最后,作为未来的卓越工程师,我们应该首先关注受偏见和歧视影响最大的用户。我们可以一起努力,通过专注于持续改进和拥有我们的失败来加速进步。成为一名工程师是一个参与和持续的过程。我们的目标是在不进一步剥夺弱势群体权利的情况下,做出推动人类进步的改变。作为未来杰出的工程师,我们有信心能够防止未来系统的失败。

结论

开发软件,以及发展一个软件组织,是一项团队工作。随着软件组织规模的扩大,它必须对其用户群做出反应并进行充分的设计,而在当今互联的计算世界中,用户群涉及到当地和世界各地的每个人。必须做出更多的努力,使设计软件的开发团队和他们生产的产品都能反映出这样一个多样化的、包含了所有用户的价值观。而且,如果一个工程组织想要扩大规模,就不能忽视代表性不足的群体;这些来自这些群体的工程师不仅能增强组织本身,还能为设计和实施对整个世界真正有用的软件提供独特而必要的观点。

TL;DRs

  • 偏见是默认的。
  • 多样性对于为全面的用户群进行适当的设计是必要的。
  • 包容性不仅对于改善代表不足的群体的招聘渠道至关重要,而且对于为所有人提供一个真正支持性的工作环境也至关重要。
  • 产品的速度必须根据提供给所有用户真正有用的产品来评估。与其发布一个可能对某些用户造成伤害的产品,还不如放慢速度。
Clone this wiki locally