原标题:平均薪资 38.4 万!3 步教你成为区块链开发者,收好这份学习指南!

时至年关,又到了转(tiao)行(cao)季节,这几天很多小伙伴来问我,2020到底哪个行业最有前景?虽说这两年ABCD(即人工智能AI、区块链Blockchain、云计算Cloud Computing、大数据Big Data)四大技术的发展有目共睹,但作为这四大领域中真正意义上的「新技术」,营长还是更看好区块链。

原因很简单,首先,区块链是国家扶持的新技术,且与其他几个技术相比处于真正的「初期阶段」,大片未被开发的处女领域亟待被探索;第二,根据互链脉搏和猎聘网今年上半年发布的一份报告,区块链开发者的年薪平均是互联网行业的1.9倍,达到平均38.4万元的水平。而且这一薪资还具有国际性,根据Hakin9的统计,在硅谷,区块链开发者的平均薪资是158,000美元(约合1,108,054人民币),毕竟找工作还得「向钱看」不是;第三,虽然经历了上半年短暂的「遇冷」,但泡沫退去后,区块链也再次回归了应用价值,企业端的人才需求依旧非常庞大。

综上所述,区块链开发依然是非常吃香的职位。但有意思的是,根据CSDN 2019年《软件开发者大调查》,在中国,有超过一半的开发者对于区块链缺乏基本的了解,甚至连区块链行业的从业者,对区块链也只了解一些皮毛,想要从事区块链开发,难比登天。

这背后的主要原因,就在于区块链领域缺乏完善、系统的学习资料,即使想要学习区块链开发,也不知道该从何下手。除此之外,一个人学习代码枯燥且难度大,而国内高质量的开发者社区十分稀少,缺少了互相交流的氛围 ,想要坚持下来的确十分不易。

如果上面说的正是你目前所面临的困境,那么不要放弃,营长今天特地准备了一份开发者学习大礼包给到你,帮助你从0到1,系统地掌握区块链开发原理。走起!

想要成为一名区块链开发者,首先需要知道具备哪些能力才能被称为「区块链开发者」。在营长看来,一名区块链开发者,至少需要具备以下4个基础的能力(划重点):

做到以上几点还没完,这只是成为一名区块链开发者的第一步。在 CSDN 主办、区块链大本营协办的 2019 区块链开发者大会上,微众银行区块链首席架构师张开翔进一步将区块链开发者所需要掌握的技能做了详细总结。他把区块链开发者所需要具备的能力分为三大类,即基本IT技能、区块链领域的基础知识栈、学习能力。

在张开翔看来,想要成为一名区块链开发者,应该至少达到常规级别「程序员」或「系统管理员」的技能水平。如下图所示:

在这一知识图谱中,Linux操作系统是基础中的基础,因为大多数的区块链系统是可以跑在Linux操作系统上的,包括CentOS和Ubuntu等。因此,开发者至少需要掌握一些基本的Linux操作指令,比如ls查看目录、ps或top查看进程、find查找文件、netstat查看网络等。如果学会写shell脚本,那更如虎添翼。这一过程大概需要一星期左右。

接着,就到了网络层,因为区块链是分布式系统,节点之间是通过网络相连接的,所以你还需要了解一些网络概念。但网络概念不需要有多精通,你只需要知道什么是TCP/IP、公网/内网/本地地址的区别、端口如何配置、节点与节点,以及SDK与节点之间是否会被防火墙和网络策略挡住等即可。一般来说,Linux书籍都会介绍这部分内容。

如果是基于云、Docker或K8S等容器环境构建,则需要了解使用的服务商或容器的功能、性能、配置方式,包括对资源的分配:CPU、内存、带宽、存储等。这方面可以参考云服务商的技术文档,相信很快就可以上手。

到了编程语言的阶段,由于区块链并没有限定编程语言,因此开发者可以根据自己的学习路径选择不同的语言。C、C++、Java、Python、Golang、Solidity都是可以的。

但只熟悉语言还不够,还需要对语言的周边工具有所掌握。以Java为例,你还需要掌握Eclipse、IntelliJ IDEA等集成IDE,熟悉Gradle为主的工程管理软件,熟悉Spring、Springboot等java的基础开发组件,熟悉在IDE或命令行下对资源路径如ApplicationContext等路径的定义。好在这些内容都可以在Java相关的社区和网站上找到学习资源。在熟练使用Java的情况下,采用Java SDK接入到区块链,跑起一个Demo Sample,将是非常轻松写意的事情。

最后是GitHub,这个就不用多说了。不仅是区块链开发者,对任何程序员来说,在GitHub里冲浪,应该都是必备的技能了。

掌握了区块链的基础知识以后,你还需要对区块链平台的基本结构有所了解。张开翔为区块链入门开发者绘制了一个实用型技能树,他认为,区块链领域的基础知识栈从底层到上层依次由以下几个部分构成:

想要熟练掌握一门开发技术,需要长期的学习,在这方面,一个开发者是否有读文档的耐心、搜索资料的能力、代码阅读能力,至关重要。因为区块链开发平台的开发文档都卷轶浩繁,以FISCO BCOS为例,其开发文档足足有20万字以上(文档还有中英文两个版本),全部看完,相当于要读完一本《白鹿原》,或者《基督山伯爵》。这还不算其公众号中大量的技术解析和科普类的文章。

怎么样,以上的内容是不是给了一些启发,让你找到了一些学习的方向呢?相信你留意到了,这份学习路径,是来自于微众银行多年区块链实践的沉淀。作为国内较早布局区块链业务的企业之一、《区块链产业人才岗位能力要求》标准(由工信部人才交流中心组织编制)的编写者之一,微众银行在帮助开发者学习和成长方面做了许多的尝试,无论是打磨开发者学习资源,还是举办线下技术特训营、区块链大赛,开设高校课程等,都帮助了一大批想要学习区块链的人迈出了第一步。

要成为一名合格的区块链开发者,光学习还不够,还得学会自己动手开发。正如技术圈的一句老话:Talk is cheap,show me your code(能敲代码尽量别吵吵)。与一群志同道合的人一起切磋,一起上手,会让你的成长之路事半功倍。

多参加行业活动能帮助你在技术上快速成长,同时认识一群跟你一样对区块链技术感兴趣的人。主要的线下活动诸如面对面交流的Meetup、侧重实操的开发特训营、区块链比赛、培训等,不同的开发者社区和第三方组织机构,甚至是官方机构,都会定期举办这些活动。

首先,在参加活动前要明确自己的核心目的。了解行业前沿技术研究成果和应用方向,参加一场线下沙龙/Meetup是一个快速掌握趋势的途径;急需上手跑起来,开发特训营可以让你在短短两小时内顺利完成搭链;一身技能在手,各类型比赛则正好是小试牛刀的舞台。对于区块链初学者,营长更推荐你参加实操性强的开发特训营。

与一般沙龙一个在台上讲一个在台下听的模式不同,开发特训营要求开发者自带电脑参会,按照每场设定好的主题,去一一实现。主题也非常多。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注