建立一个包容性的代码库

6分钟阅读 2021年6月15日

- - -

我们的剧本压低non-inclusive术语

由:迈克尔巴尚德,阿曼达Vawter,丹Federman,杰克银,茱莉亚王马克,大

代码是我们的工艺。Airbnb,我们认为我们的代码和产品是我们的价值观的反映。每个开发人员工作应该兼顾的自己。我们希望所有工程师值得骄傲的代码库的工作,他们每天使用的系统。

我们想和你们分享一些我们正在做的工作在Airbnb建立一个包容性的文化工程。我们希望分享我们的故事可以激励和支持类似的努力消除non-inclusive术语整个行业。

引导改变

Airbnb的使命是创造一个世界,任何人都可以属于任何地方。持续的暴力和歧视弱势群体威胁归属感与平等。增加多样性Airbnb工程将允许我们的团队更好的赋予Airbnb主机Airbnb的客人服务。Airbnb工程师必须从所有背景导致Airbnb时觉得他们属于。

在2020年的夏天,我们确定了Airbnb的技术堆栈,破坏我们的核心价值归属。团队成员积极组织了一个志愿者的努力在一个松弛的通道,从受影响社区工作与员工实施改变。我们一起合著的一个方案来解决non-inclusive术语在我们的代码库。在一个月内,我们将建议首席技术官。然后他优先考虑这个工作人员专门的工程师时间使我们的代码和系统更具包容性。

确认和最高水平的资源管理合法化。的合法性的努力进一步强化了小行动由个人承担。每个任务,拉请求置评,并松弛反应发送一个信号,表明这项工作价值的业务。

建立新的习惯

我们认为non-inclusive术语是一个遗留的编程风格,我们要消除。为此,我们开始通过测量non-inclusive术语的使用在我们的代码。然后我们把问题分成两块:防止新增项和降低现有的这些术语的实例。

为了解决第一个问题,我们推出了剥绒机国旗拉要求条款,Airbnb认为non-inclusive介绍。我们考虑建立自己的短绒,虽然最终我们印象深刻一个开源工具由一个外部工程师,凯特琳Elfring。每个拉上的棉绒评论要求添加行包含一个或多个项。把请求建议替代条款发表评论。

一个例子GitHub含短绒的评论。

为了建立信任与工程师,我们专注于短绒可操作的。我们希望作者能够解决短绒的评论在他们现有的请求,而不需要在另一个存储库中编辑代码。因此,我们倾向于排除第三方代码和代码是在从上游产品毛羽拉请求时存储库。

我们开始通过引入单个存储库的棉绒,一次一个。我们问不知名的开发人员的代码库驱动初始发售。这些当地专家能够判断哪个目录应该排除短绒,还有其他开发人员的代码库的信任。

我们发现成功提高意识和限制与非阻塞短绒的新条款。我们不能阻止一个工程师合并他们的请求。我们的信念是,通过适当的通信工程师将意识到这是一个业务优先。

我们现在运行在所有内部存储库Airbnb短绒。我们将我们的注意力转移到降低现有的侵犯。

加强我们的方法

对于这些初始条件,员工资源组的成员(尔格),如Black@ Able@,参与采购进攻单词列表和实现这些改进。为背景,基本特性为员工提供专用的空间在共享的特点,结合兴趣和生活经验。Black@代表非洲裔和黑人雇员,Able@支持残疾人、慢性疾病或精神疾病。在Airbnb,我们有19名员工资源组。

我们也回顾了类似举措整个行业来寻找灵感,包括谷歌指南在写作和包容性的文档Twitter的文章在包容的语言。我们专注于最初的术语列表是大到足以驱动和足够小,以避免压倒性的工程师有意义的影响。

这一努力的动机是让每个人都觉得他们是当工作在Airbnb代码和系统。为此,我们创建了一个匿名的反馈形式赋予任何工程师表面他们的想法的机会。

工程师可以通过谷歌提交匿名反馈形式。

匿名反馈导致具体的改进,特别是在我们列出的条款。作为一个例子,我们最初建议工程师取代“祖父级的”与“遗产地位。“匿名反馈告诉我们,“遗产地位”不是一个替代工作在许多情况下,我们已经改变了建议选择“豁免”。

匿名反馈也强调,目前还不清楚为什么我们为每个术语的棉絮。具体地说,一些员工想知道为什么“假”是在我们的列表。对于每个non-inclusive术语,现在我们文档的历史推理和术语。我们链接到这些资源在每个请求评论我们的短绒。我们觉得方便工程师负责理解为什么我们要求他们改变代码。

我们认为这个项目是一个长期的计划,将永远不会完成。随着世界的发展,我们将需要更新的列表non-inclusive术语,和更新我们的代码来反映我们的当前值。我们建立一个透明的过程扩大non-inclusive术语列表。背景各异的人,包括表示从受影响的社区将考虑每个术语提出单独与所有利益相关者密切接触。过程考虑术语对个人和社区的影响,符合公司价值观和所需的工作的范围来代替这个词在我们的代码库。

展望未来

我们无法逃避历史,但我们可以告诉未来。开车non-inclusive术语是一块更大的努力,我们将承担Airbnb和技术社区的所有背景的工程师觉得听到,欢迎和重视。

消除语言,并不能反映我们的价值观显示Airbnb的工程师,我们照顾他们,做属于他们,他们看到和尊重。

分享我们的工作

谢谢你的兴趣在技术促进夹杂物。我们持乐观态度的影响,这项工作可以在Airbnb作为更大努力的一部分在我们同行的公司。

为了支持类似的努力整个行业我们已经公开了列表项我们认为non-inclusive。我们出版这些术语作为一个简单的数据文件,可以在其他公司,与工具和系统集成或分叉的进化根据不同的上下文。我们权力内部短绒与这个相同的数据文件。

- - -

- - -

Baidu