查看原文
其他

Parity 的工程师文化|波卡和 Substrate 背后的技术力量

FredrikHarrysson PolkaWorld 2020-09-18

加入 www.polkaworld.org 社区,共建 Web 3.0!

很多人都称赞过波卡和 Substrate 的开创性和强大的工程能力,那么这一切是怎么做到的呢?这篇 Parity CTO Fredrick 的文章,就讲述了波卡和 Substrate 的核心开发团队 Parity 的工程师文化,让我们来一窥究竟吧。



在 Parity 工作是什么样的体验?


在 Parity,我们为自己是开源公司而倍感自豪。我们构建开源软件,并公开操作所有代码和 issue 管理。许多人问过我们:“在 Parity 工作是什么感觉?”,在这篇文章中,我想谈一谈我们的工程文化以及我们如何做事。我们还没有发明任何新东西,也没有发现革命性的生产力增强器。正如许多其他项目一样,我们正在使用开源模型,但是魔鬼在于细节,并且我们正在不断完善和改进我们的工作方式。如果非得给我们的工作方式贴个标签,我会说我们松散地遵循了 Fred George 定义的 Programmer Anarchy(程序员无政府主义)方法。




我们在做什么?


作为一家公司,Parity Technologies 正在开发相对广泛的产品。显然,我们有 Parity Ethereum 客户端,但是除了基本的 Ethereum 协议的实现外,我们还在上面添加了许多功能,例如 warp sync、secret store、私有交易和 WebAssembly VM 等。以太坊节点也以模块化或 “可插拔” 的方式构建,因此我们可以囊括一些非以太坊特有的东西,例如权威证明(Proof of Authority)共识算法。能够提供多种操作模式,多种建立私有网络、可发展网络的方式对我们而言确实很重要,因为它为开发人员如何使用节点并在以太坊上进行开发,提供了最大自由。


我们还有一个比特币客户端的实现、用于 DApp 开发的 Javascript 库、Whisper 协议实现、Rust libp2p 实现和移动应用程序交易签名器等等。这与我们在 Polkadot 开发上所做的工作没有关系,Polkadot 开发已经有两个概念验证和一个公共测试网,但实际上才刚刚开始。我们也期望为该生态系统产生大量开源代码。


Parity Technologies 是一家基础架构公司,我们希望提供坚如磐石的高质量协议实现和核心基础架构,以支持 Web3 生态系统,并推动区块链技术整体发展,无论是供私有链、联盟链还是公链使用。我们实现区块链创新的下一个任务是 Parity Substrate,这是一个用于构建自定义区块链,而无需担心网络和共识实现的框架。




我们是如何做任务管理的?


撰写本文时,Parity 有 60 多名员工。虽然人数不少,但我们仍然是一个精简的机构,并尽我们所能与尽可能少的人打交道。自治是我们文化和运营理念的核心,人们应该可以自由选择要从事的工作。界限显然存在,比如如果有人想开一个香蕉摊,Gavin 或我肯定会说不行,我们需要专注于能够实现公司使命的事情。到目前为止还没有人要求开香蕉摊。


本质上,我们通过 Github issue 和聊天进行自我组织。作为一个开源项目,所有问题都在开放的 Github Issue 资料库中进行管理。我们没有其他任务管理或问题跟踪解决方案,所有需要解决的问题都存在于 Github Issue 中。如果有人对功能请求有想法,或有想要解决的事情,我们将在聊天中讨论。如果我们决定要去做了,则将其放入 Github Issue 中并自行分配。


我自己、发布经理、支持负责人和许多其他人也做了大量工作,来标记 issue 并确定优先级。这样当人们不想先看完所有问题,再找出最喜欢的做时,他们也会有一个候选清单。归根结底,沟通实际上就是一切。



我们如何确保质量?


Programmer Anarchy 并不意味着没有流程,而是流程由将要遵循流程的人开发。有人可能会问这在实践中是如何运行的,是否很难做到让事情不被遗漏。大致的答案是,产品负责人有责任确保这种情况不会发生。在正常的 “产品经理” 角色中,你可能会说该经理是团队中开发人员的 “负责人”,我们没有像这样的任何经理,而是由不同级别的产品负责人来负责最终的产出,产品负责人几乎都由将要实施该产品的开发人员担任,他们唯一的 “权力” 是列出需要完成的工作,而不是如何完成工作或由谁完成。


该产品负责人的责任是,让他们的产品得到正确的关注,并对开发现状和计划有一个很好的把握,以确保没有事项被遗漏。然后,他们通过创建 Github issue 或在聊天中交流需要做的事情。


除此之外,我们还遵循常规的最佳实践。没有进行代码审查前不合并任何 pull request,那些公认很关键的东西,例如涉及共识的代码,需要进行多次审查,并且需要由对代码有深刻洞察力的人员进行审查。我们为所有 PR 在多平台用 CI runner 运行 Gitlab CI,以确保我们的整个测试套件始终通过,并且主控设备始终处于可释放状态。最重要的是,我们会对特别敏感的代码进行第三方审核。




精神


Parity Technologies 的文化精神是:我们聘请世界上最优秀的人才,让他们从事他们想从事的工作。


有时,我们必须在这种文化上做出让步,因为我们没有足够的资源、沟通结构或管理经验来 100% 做到这一点(我认为没有人做到了)。然而,这始终是我们努力追求的目标和目标,同时力争在质量、监督或生产率上实现零妥协。


归根结底,Parity Technologies 就是要交付优质软件。我们相信对自己的工作充满热情的快乐的人,会交付更多更高质量的软件。


原文:https://www.parity.io/engineering-at-parity-what-its-like/

翻译:PolkaWorld 社区


Parity 亚洲团队正在招聘工程师和技术推广,点此查看>>


  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

  • 申请 Bootcamp: 

    https://bootcamp.web3.foundation/

更多内容:


Substrate 极简概括

区块链:从比特币到以太坊、Substrate

Parity CTO 介绍 Substrate 生态最新进展



扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存