为什么开发人员不应回避区块链开发?

​​我们在区块链领域目睹的解决人才缺口的关键在于教育;保证开源代码的关键是广泛的测试和同行评审。æternity区块链同时涵盖了以上两个领域。

尽管薪酬激增,但仍然存在巨大的人才缺口

对于外行人来说,区块链的概念本身就是令人生畏的。对于区块链行业外的开发人员来说,想到转向一个全新陌生的环境,对于安全性和代码可变性的改变,同样是令人生畏的。

这种抵触是完全可以理解的。大众媒体充斥着关于交易所黑客事件、DAO崩溃、智能合约BUG的新闻,导致数百万美元甚至更多的损失。根据报告显示,以上出现的问题,仅在2018年就损失了大约17亿美元。

因此,虽然这个领域的开发人员的薪酬在不断飙升,但许多人更喜欢他们习惯的代码安全性。可以肯定的是,有许多专业人士通过进入区块链行业实现“信仰的飞跃”,但在这个领域仍然没有足够的技术能力。事实上, 94%的财富500强企业 预计区块链行业将出现人才短缺。

许多人认为弥合人才缺口的关键是通过教育。这无疑是真的。但首先,我们需要现有开发人员对区块链感兴趣。我们需要揭开区块链编程的神秘面纱,解决开发人员在修补开放性和无信任性的下一代应用程序时所面临的最大担忧。毕竟,这是对世界已经习惯的根本偏离。

对于参与这种“去中心化革命”的开发人员来说,编码区块链和开发新类型的应用程序既具有挑战性又具有启发性。

对于仍存在抵触心理的开发者来说,另一个好消息是,根据编程老手Dincho Todorov的说法,区块链开发仍处于早期阶段。 对于“新鲜血液”,仍然有足够的空间和时间。

Todorov是一名软件工程师,目前在æternity的Site Reliability Engineering(SRE)工作。æternity是一个基于Erlang的可扩展区块链基础链,它使用状态通道允许私有和无成本地执行智能合约,并通过协议集成的Oracles预言机实现真实的数据集成。

我们正在处理构建强大软件所需的基础架构、服务、工具和管道。Todorov说,我们确保开发人员能够很好地集成、可靠和可用,并概述了他对区块链平台的工作。

我们还运行一些服务,帮助新用户、矿工和开发人员加入。这里的一个例子是所谓的“种子”或“引导程序”节点,它允许新用户连接到网络。另一个例子是API网关,用于在区块链上开发去中心化的应用程序。

Todorov表示,尽管这是一个新领域,但仍有许多实践与其他类型的开发相似。

说到底,仍然是软件。不同的是概念。 这是一种不同类型的软件,但我认为我们不需要特殊流程,尤其是针对核心区块链开发。

需求开发人员:“原始全新”视角是有价值的

首先,对于那些因相关金融风险而无法进入区块链领域的人来说,金融科技只是可以应用区块链的行业之一。其次,对于那些认为进入区块链已经太晚的人来说,这种假设空穴来风。根据Todorov所述,存在可以从“天马行空的观点”中获益的巨大发展空间。

æternity团队正在不断发展壮大。事实上,新的开发人员已经确定了可改进的领域。 从全新的行业角度查看代码将具有很大帮助。 额外的“原始全新”观点可以提供帮助。

在许多情况下,合作是一件积极的事情:涉及的人手越多,实际进展就越快。让开发人员感到欣慰的是,在像æternity这样的开源项目中,全球开发者社区都在背后支持着,因为如果代码中存在漏洞,总有人会找到它。

运行自动化测试、手动测试和同行评审是获得无错误、稳定软件的最佳方法 -无需任何重大更改,并且仍然能够不断发布新功能。如果你想确保一切正常,关键始终在于不断测试。

对于编程语言要求来说,不一定需要最新的。例如,æternity试图通过支持最常用的编程语言来满足现有的开发人员:JavaScript、Python和Go。C ++、Ruby、Java和Rust等语言对于在以太网等平台上开发区块链应用程序也很有用。

在点对点网络中监控节点运行状况和性能很困难。我们目前有超过一百个节点来支持各种环境。这转化为许多服务器、实例、不同的配置等。此外,区块链的大小肯定会在某些时候成为一个问题,因为它被复制到所有节点上。 传统方法依赖于存储数据的集中式数据库。公共区块链平台不是这种情况。

然而,好处是区块链网络非常有弹性。根据Todorov的说法,有安全网。

区块链的好处在于它们是通过点对点网络运行的分布式数据库。即使由于某种原因,我们在我们支持的其中一个节点上部署了错误的代码,或者通常会影响我们运行和支持的节点, 网络其余部分也会继续运行,因为用户运行的节点通常不受影响。

那你从哪里开始呢?

回到教育是弥合明显的技术人才差距的关键这一论点,对于那些想要开始的人来说,网上有大量的免费资源。事实上,有些甚至会补偿人们学习。

æternity启动了一项“学会赚钱”计划,由社区驱动的团队Dacade创建,完成教程的开发人员可以获得价值100欧元的AE tokens,高于最初的50欧元学习奖励。

dacade - Peer-to-Peer Blockchain Learning
通过了解 区块 链,构建dApp和教育 同伴来 获得加密货币。dacade.org

æternity还推出了一项名为Starfleet星际舰队的孵化器计划,由Æternity Ventures经营。孵化器的目标是支持和指导准备通过区块链平台来解决现实问题的团队。

Aeternity Starfleet
Starfleet是一个 区块 链加速器,适用于初创公司在æternity平台上构建应用程序。www.aeternitystarfleet.com

从传统软件到区块链开发的过渡是多么具有挑战性?

Todorov解释说,与大多数事情一样,困难取决于每个开发人员的经验水平。

在区块链技术方面,我也对去中心化应用程序开发人员和用户可用的工具感兴趣。它始终取决于开发人员的知识和经验。区块链技术确实引入了不同的概念,但您仍然需要熟悉任何应用程序周围的所有组件和语言。

与区块链的区别在于数据库是公共的,并且始终在运行。 所以从用户的角度来看,不会有太大差别,至少对我来说不是这样。我有超过10年的开发经验, 我真的没有发现区块链技术令人生畏。 尽管如此,我确实看到开发人员即使是简单的应用也面临着困难。这完全取决于开发人员的经验。

虽然从将传统应用程序编程转换为基于区块链的应用程序提出了挑战,但它也提供了许多机会 - 不仅对程序员而且对UX设计人员也是如此。

Todorov断言,区块链服务的人机交互方面尤其需要大量的工作。许多人评论区块链应用程序的可用性方面是一场噩梦,即使他们有严肃的意图,也很难让企业实施它们。 尽可能轻松地为企业和用户进行区块链集成是区块链应用的主要障碍之一。这是一项艰巨的任务。 甚至像使用钱包移动加密货币一样简单的事情也充满了用户不确定性。

我们不断开发核心的工作和服务。我们还有几个致力于开发、集成和测试的套件。我们正在运行这些服务来引导网络。在某些时候,出于安全原因,用户必须自己运行所有这些东西。这 是区块链面临的挑战之一,教育用户必须自己运行服务。 我猜这是区块链的最大挑战,因为 它是一个公共服务 - 它必须由用户运行

在发展方面,Todorov承认,总有工作要做。根据他的说法,现在还为时尚早 - 目前正在解决的许多问题主要与开发界面本身有关。他进一步解释说,随着现有资深人士进一步加强开发工具,有望降低新开发人员的准入门槛。事实上,æternity 开发了一种名为Sophia的全新智能合约语言,其目标是使智能合约编程更容易、更可预测,最大限度地减少代码错误。

æternity区块链和开发工具仍然非常年轻。它们每天都变得越来越稳定和成熟。我们一直在努力使其变得更好,重点在于改善用户体验。 用户体验是主流大规模应用的关键。

原文链接:

https://blog.aeternity.com/why-developers-shouldnt-shy-away-from-blockchain-development-c81702d892ee 翻译:Mark

知乎专栏:Aeternity

微信公众号:Aeternity社群

社区进群请加微信号:abinble

知识星球:Aeternity