以太坊「核心开发者学徒计划」主持人:何为核心开发者?

作者:Piper Merriam,本文所表达的仅仅是我的个人观点,不代表以太坊基金会或者以太坊核心开发团队的任何 “正式” 观点。

我们需要更多人来耕耘以太坊核心协议。过去的几个月来,无状态以太坊的路线图得到了显著的巩固。近期对高层结构的研究,比如 “状态保质期” 方案及其底层的 “沃克尔树”,还有 “扩充地址空间” 提议,填补了此前路线图中的空白。

但是,知道要做什么,和去做它,仍是有区别的。这三个概念都是对以太坊协议的深刻更改,需要非常多的前置知识和技能来实现。所有具备这样能力的 个人/团队 都已经在做同等重要的事。这在 Eth1.x 的世界里变成了日益严重的问题。

过去的两年中,我们的组织工作做得更好了。我们越来越像一个协调的团队。我们不仅对主要的协议升级、也对长期存在的协议问题的解决方法达成了共识。等待我们着手的工作是前所未有的多,而我们需要更多有能力完成这些工作的人。我们的 “核心开发者” 数量不足。

什么是 “核心开发者”?

“核心开发者(Core Developer)” 的意思比较复杂。我这么说,是因为关于谁是或不是核心开发者,并没有一个正式的列表。缺乏一个正式的定义并不是有意为之,但我相信这个现状是因为它有意义才被保持的。通常来说,那些渴求权力的人正是你不希望他们大权在握的人。我想对 “核心开发者” 这个头衔来说也一样。如果要有一个正式的名册,那随之而来的就是权力以及贪求权力的人。

在这件事上,一个有趣的案例是最近一个利用 token 来管理 gas limit 的提议。我直接说,我是非常反对这种提议的,理由有很多,但其中一个正与 “核心开发者都是谁” 有关。该提议中包含了 “将分发 token 给核心开发者并让他们可以用 token 来表达自己对 gas limit 的想法” 的措辞。

从表面上看,这不无道理。有一群人被叫做 “可信开发者”;他们都对协议很熟悉;那我们就给他们一些 token,让他们能够参与治理吧。很顺理成章是吧?

并不。

这正是让 “核心开发者” 的头衔正式化可能自然带来的负面效果。向正式具有这个身份的人发放具有经济价值的 token,也让获得这顶帽子变得更有吸引力。在这个例子中,如果这个提案最终通过了,所有现在具有这个头衔的人都会收到这些治理代币。而 token 具有经济价值。这就给 “核心开发者” 的头衔赋予了直接的货币价值。

对我来说,强烈反对正式定义这个团体的主要原因之一就是避免这种情形。就我所知,维持这个团体对正确的人的吸引力的最好方法,就是尝试和维持现状:根据非正式的社会规则,根据其人的技能和对协议的持续贡献,把人吸纳进这个团体。

特权和制度化的歧视

我是一个年近四十的白人男性,拥有在 Boulder 公司的强势背景。我非常清楚制度化的歧视和特权,但主要是他们让我受益的那一面。我也承认,在 “核心开发者” 中也存在一些问题。

核心开发者团队主要是 20 岁、30 岁的白人男性。我们不够多元化。而正式定义核心开发者身份的一个不幸但真实的负面效果是,它会强化我们在多样性上的缺失。

下一代的核心开发者

今天的现状是,有一个 “我们”(核心开发者团体),而我们维护这一个价值几十亿美元的金融平台,叫做 “以太坊”。这个头衔的模糊性也给了我们一些保护。加入这个团体需要投入大量的知识,也需要很专业的技能。我们已经有了一个路线图,而工作量比现有的团队能够合理完成的要多。所以结论是,我们需要扩大队伍。

“那我们如何让更多人能够开发协议?”

这就是 “核心开发者学徒计划” (CDAP)的意义。最初的一些想法是在我跟我的团队成员午餐讨论这个问题时产生的。这个问题很像一个普遍的问题:“我们怎么招到对的员工”。关于技术岗位的面试技巧,我们都有很多经验,实际上,有一些公司是专门教你面试的。

我在工作中也做过很多技术人员面试和招聘。两个位置我都呆过。我很幸运,面试是我专长。招聘了我的公司也很幸运,因为我确实也擅长我的工作(擅长面试不一定擅长工作)。在面试中表现出色不一定预示着该面试者实际上能做好工作。这些年来,我已经确定了以下招聘方法:

了解他们的个人消息,他们想做什么工作,以及为什么他们希望做这些工作。确保他们是你愿意共事的人。确保你们双方都清楚地表示了你们对工作内容的预期,以及你们的工作关系。

确保他们有足够的能力。动用一切方法,从查看现有的 github 贡献,到测试一些 exercism.io 的问题。不是用来确定他们是否能够胜任这份工作,只是为了筛掉那些非常不合格的求职者。

给他们 3 个月的实习期。

你可能也注意到了,面试的流程中没有衡量他们技术能力的测试,只尝试确保他们超过了一条非常基础的 “水位线”。真正的 “面试” 发生在他们实际上手工作的实习期里。这也是 CDAP 的设计方法。这个计划希望能真实地折射出 “核心开发者” 的实际内涵。

通常来说,都是你自己选择你想要做的工作。

“教你学会” 是很少见的。默认的情形是你自己去搞懂。

把所思所想付诸笔端的写作能力大于一切。

幸福的烦恼

在 2021 年 5 月13 号,我们开放了这个项目的申请。在接下来的两周里,我们收到了总计 379 份申请。我们的预算只够招 4 个人。对我来说,这是个幸福的烦恼。看到这么多人有这么浓厚的兴趣,我很惊讶,但我又不得不拒绝这么多人,实在难受。

微妙之处在于,这个项目是对所有人开放的,不论我们接不接受 TA。“接受” 只意味着我们要提供资助。其余的所有一切,都是开放给所以希望参加和做相关工作的人的。这跟以太坊核心协议的开发很像,也是完全开放给所有想要参与的人的。某种意义上,这让工作对所有希望贡献的人开放。

我很高兴能提供这种途径,让人们能够参与进来。我也意识到了这里同样存在对弱势群体的制度化的歧视。这个项目是 “开放的”,意味着有更多人能够加入(比起没有这个计划),也应该能对协议产生积极的影响。但是,这也有可能强化核心开发者中的多样性缺失。说这个让我辗转难眠就言过其实了,但我会把它放在心上。我知道没有一劳永逸的解决方案,但我也知道我处在一个可以有所改变的位置,所以我责无旁贷。

后续

CDAP 的第一批学徒才刚刚起步。选择要资助的申请人是一件吃力不讨好的事。除了一个一个看,没有什么办法能合适又快速地审阅 379 份申请书。作出对他人的生命有重大影响的事,无疑让人压力很大。在过去两周里,我做了 379 次这样的决定,我快要犯上选择困难症了。

对结果,我是谨慎乐观的。我其实很少完全 “乐观”,所以你可以认为我的 “乐观” 已经到了极点。哈哈,可不要跟那个很酷的团队 “Optimism”。我努力让期望和现实一致。现在的情形看起来非常好。

我们实际资助的申请人比预想的要多。真让人开心。

我们已经能够在不带资助的条件下吸引这么多人。我如何确保每个人都有平等的机会?如何给他们最好的机会,让他们能够在这个生态中找到一个长期可持续的位置?

我试着让自己忘记,几个月后,我又将面临同样艰难的抉择。我们要吸收哪些人成为第二批学徒?我该如何在奖励他们(作出工作的人)与反对这些奖励所强化的制度化歧视之间取得平衡呢?我怎么能避免过劳?我怎么帮助那些成功的申请人找到一个可以长期稳定生活、工作的房子?我应该做这个吗?要是他们发现我无法兑现承诺,该怎么办呢?

话说回来,这是我能期待的最好的工作了。我没有失去方向。如果这一切,我只当成是 “一份工作”,可能几年前我就累垮了。即使只能帮到一个申请人,我也会很高兴。这份工作没有勾心斗角,而且你可以为自己的使命工作并获得奖励。这份工作,你很难解释自己到底在做什么。但这份工作,不论你有没有给我付薪,我可能都愿意做。

你想做这样的工作吗?piper@ethereum.org 找我聊聊。

原文链接:

https://snakecharmers.ethereum.org/the-core-developer-apprenticeship-program/

作者: Piper Merriam

翻译: 阿剑