前言:这是对项目主管从 Rust 基金会工作人员那里收到的一些反馈的回应。他们交谈过的一些贡献者表示,他们觉得自己没有资格申请基金会资助,即使他们很想获得这个机会,因为与 Rust 项目中他们仰慕的其他优秀贡献者相比,他们觉得自己不够格或不配。这让我有点伤心,因为我非常了解那种感觉1,而且我也知道他们是多么的错误。
冒名顶替综合征是软件社区中一个隐患的问题。我们中的许多人,特别是边缘化社区的成员,都在努力摆脱自己不如同龄人那么有资格的感觉。这让我们感觉与周围的人相比,自己不够格、不配。这会让我们在一开始就犹豫是否要加入社区,而对于已经参与其中的人来说,这会产生一种迫在眉睫的厄运感,你会一直觉得自己会被发现并被社区驱逐出去。总的来说,这对心理健康不利,0/10,不推荐。
但问题是,冒名顶替综合征是一种逻辑谬误2。当我们低估自己所知道的,并夸大我们认为其他人知道的东西时,就会出现冒名顶替综合征,而对于那些没有获得能力假设的人来说,这种效应通常会被系统性偏见所加强。
实际上,我们都是 Rust 项目中的专家。我们都有自己深厚的专业领域,以及其他我们只对事物如何运作有一个模糊概念的广大领域。Niko,lang 团队的联合负责人之一,前编译器团队负责人和核心团队校友,仍然会来问我有关错误处理的问题。我经常需要告诉我的其他贡献者,我不知道他们使用的缩写词是什么意思3。但这并不意味着我们不配在项目中拥有自己的位置。我们不希望每个贡献者都了解一切、做到完美或不犯错误。我们对贡献者的唯一期望是能够与他人有效协作,并愿意随着时间的推移学习和成长。
Rust 项目之所以如此优秀,不是因为少数几个多产的贡献者独自扛起了大山,而是因为每个人共同努力才使我们达到了今天的成就。我们都会犯错。该项目拥有一层又一层4的保障措施,以确保我们在这些错误影响到用户之前有机会捕获并修复它们。这些事件是不可避免的、预期的,并且老实说没有问题!这是 Rust 语言和 Rust 项目最基本的理念:我们认为仅仅通过包含那些不犯错误的人来构建健壮的系统是不够的;我们认为最好提供工具和流程来捕获和预防错误。我们的座右铭是“一种赋予每个人构建可靠高效软件能力的语言”绝非偶然。我们希望人们感到有能力做出他们不完全确定的更改,犯错误,学习并在 Rust 项目中成长。这就是我们所有人今天所处的位置!
因此,如果你仰慕 Rust 项目中的人,如果你对我们在这里所做的工作感兴趣,如果你一直想贡献,并且尤其是你已经做出了贡献,我想让你知道你是我们希望申请Rust 基金会资助和奖学金的人之一。你是我们希望最终加入团队的人之一。如果你已经在某个团队中,我想让你知道你来到这里是有充分理由的,我们重视你的判断。你不是冒名顶替者,我想让你知道我真的很期待在项目中见到你。
编辑:在我发布此内容后,我注意到我使用的图片和我引用的推文并非来自原始来源,实际上可以追溯到 Alicia Liu 的一系列博客文章。这些原始来源对什么是和什么不是冒名顶替综合征进行了更加微妙的探讨,并且特别关注了冒名顶替综合征如何影响边缘化社区的成员,我强烈建议阅读这些文章。
为了帮助加强和规范这一点,我收集了一些当前或过去项目成员在冒名顶替综合征中挣扎、犯错、不得不问“基本”问题以及类似经历的例子,希望能够帮助为整个项目的新老贡献者设定更合理的期望。
- Jane Lusby:“我经常在冒名顶替综合征中挣扎,感觉自己没有同龄人做得那么多。当我根据通知完成所有工作时,我会完全忘记自己做了什么,最终会耽误我想要处理的任务。我正在学习为自己设定合理的期望,更好地管理干扰,并有意识地决定何时回复 github/zulip 通知,这有助于我跟踪自己所做的工作,并在我的优先事项上取得稳步进展。”
- Josh Triplett:“直到我读了 fasterthanlime 的 "Pin 和痛苦" 博客文章,我才完全理解
Pin
,并且我在 2016 年做了一个演讲,其中我的最重要的观点是人们错误地认为你必须是专家才能编写 RFC 或更改 Rust,但我不是,你也不需要是。” - Ralf Jung:“我仍然感到惊讶的是,竟然有人认真对待 Miri 和 Stacked Borrows。”
- Forest Anderson:“作为一个上周才学会
dyn
的人,我仍然感到惊讶的是,作为一名团队领导,我竟然能有所贡献。我通过撰写关于 Veloren 的每周博客(我之所以承担这项工作是因为我不懂代码)而沉浸在 Rust 社区中,这促成了帮助编写 Rust Gamedev 新闻通讯,从而帮助我主持 Cross Team Collaboration Fun Times 聚会!” - Felix S Klock II:“早在 2015 年,当我在做一个关于 Rust 的教程,并解释
&T
时,一位来自观众的 Rust 专家说“啊啊啊!但是内部可变性呢”;在我的脑海里,我心想“……哦不;那是什么?”,然后是“……我这是在做什么,我不够格站在这里……”。我们所有“冒名顶替者”都必须努力防止这样的时刻成为我们参与的障碍。从那以后,我学到了很多关于 Rust(以及群体动力和组织行为)的知识,但我仍然每天都在学习;在某些情况下是重新学习。”
-
引用自 https://yaah.dev/getting-involved:“你问在 Google 聚会上发生了什么?我们出色的聚会组织者 Manish 主动走到我面前,问我“嘿,你是 Jane 对吧?”。我很震惊,Manish 怎么会知道我是谁?感觉我没有做什么值得注意的事情,但他却在这里叫我的名字。” ↩
-
https://twitter.com/ithinkwellHugh/status/1175900121097220096 ↩
-
https://github.com/rust-lang/project-error-handling/issues/34#issuecomment-1092269566 ↩
-
任何不可逆的更改,例如稳定化,都需要相关团队的几乎所有人批准更改,并且团队中没有人提出疑虑。 ↩
-
我们在所有更改稳定之前都会用 crater 检查它们,并小心地快速 回滚 导致在 crater 或 nightly 上出现问题的更改。 ↩