# 第34讲 | 从业区块链需要了解什么? 今天,我们来到了最后一个专题:如何从业区块链。经过了前面33篇文章的洗礼,相信你对区块链应该有了一个比较全面的了解了。 在今天的文章中,我会从两个角度出发,先从行业的角度来讲讲区块链行业现状以及人才需求,再从人才角度来谈谈从业区块链需要具备哪些基础技能。 ## 行业现状 那么行业现状与实际的人才需求是怎样的呢?我们一起来看看。目前区块链领域的人才需求大致可以分为以下几种。 1. 根据客户的需求,搭建基于DLT技术的分布式账本应用,在DLT上实现客户要求的业务需求,这类与传统解决方案型的人才十分接近。 2. 公司已经具有了某些行业的资深经验,目标是通过技术选型选择某个公链,在此公链上开发基于区块链的应用。目前游戏与社交类的项目比较成熟,游戏类有以太养猫、LeBloc等,内容社区类有Steemit、币问、币乎等项目。这一类的特点是可以很好地与现有技术结合,在业务层面利用区块链的资产数字化特性,商业潜力大,技术发展空间也很大,进入门槛较低,风险较低。 3. 公司获得融资或者在海外发起ICO,目标是研发新一代公链,这一类是为了通过改进现有的区块链技术不足而创建的项目,技术发展空间最大,进入门槛最高,风险也最高。 4. 区块链生态基础设施类。数字资产交易平台、数字资产管理、移动钱包、硬件冷钱包、数字金融媒体、区块链咨询、矿池运营等都属于此类,这些都是目前商业利润最高的区块链产业,技术发展空间较大,进入门槛较低,风险也较低。 目前区块链的人才供应需求远远不足以支撑如此庞大的市场。换句话说就是人才极度稀缺,人才的稀缺与过高的估值形成鲜明对比,这也就是泡沫的形成。 与上面的分类相关的,是行业相应需求的编程语言。 第1类是DLT技术,由于超级账本的流行,DLT基本以Golang为主,但也会涉及应用可视化交互的问题,毕竟交付给客户的时候,指望客户使用命令行是不现实的,所以不可避免地需要具备一些前端技术。 第2类是公链应用,由于智能合约的存在,使用区块链的门槛大大降低,最流行的以太坊智能合约是以类JavaScript的语言Solidity编写的,目前也出现了不限定编程语言的智能合约区块链。实际上,我认为Solidity比其他完全开放式的智能合约要安全许多,所以建议你如果打算学习智能合约,还是最好从以太坊入手。 第3类是研发自己的公链。目前主流的是静态编译型语言,以C++和Golang最为常见,也有用Rust、Java、C#实现的公链,SPV轻钱包型多使用Java、Python、JavaScript实现。可以说公链研发几乎都涉及了主流编程语言。 第4类是在商业上与区块链最为紧密,但是技术上却是最不紧密的,整体技术栈与传统互联网网络技术差别不大,例如搭建一个区块链财经类网站,甚至不需要任何区块链技术,但是对内容运营有较高要求。 ## 人才现状 我们分析了区块链行业的现状,接下来我们看看现有的人才构成。我们如果把现在互联网的人才划分一下,大致分为5个类别: 1. 技术决策者,这类主要指CTO、技术总监、技术专家等; 2. 代码生产者和维护者,也就是广大IT从业者、开发工程师; 3. 需求产生和归纳者,产品经理、需求分析师; 4. 交互与可视化,前端工程师、UI/UE与视觉设计等; 5. 产品运营,实际与用户接触,吸纳和维持用户。 目前的区块链产业基本以数字货币交易、数字资产管理、资讯类App为主,细分来说就是移动App钱包、炒币用行情工具、区块链资讯类App,以及一些简单的区块链App应用,对人才的需求大致符合互联网产业的需求,也就是上述5类人才都是需要吸纳的。 我们可以发现区块链产品的模式还比较单一,处于非常早期的状态。但就算是这些单一的App应用,从业人员也是不足的。 我在公司的实际运营过程中,发现有几种人才十分稀缺。 1. 理解传统金融交易,同时又了解互联网产品的人才。传统金融交易涉及的往往是券商或者证券交易所,区块链是新兴行业,所以具有跨界知识的综合性人才比较受欢迎。 2. 理解社区建设和互联网产品运营,又同时了解数字货币的人才。这一类最缺的其实是内容运营,无论是原创内容还是编辑内容,都需要扎实的区块链知识作为基础。这类人群招聘中很少遇到,一般公司都选择自己培养。 3. 了解大型开源项目建设,同时乐于和社区沟通分享的顶尖技术人才。不少顶尖技术人不擅于与人沟通,这也导致参与社区型项目过程中,其他开发者对其误解甚至产生偏见。 我在实际招聘工作中,经常会遇到不同的候选人,针对他们的盲区,我总结了以下经验。 第一点是候选人的完全匹配度非常不高,但某一技能模块匹配度又很高,直接选用的话要考虑培养成本,不选用又感觉可惜,招聘者经常处在两难的选择。 例如应聘者来自传统交易领域,但是完全不懂区块链,也不了解有哪些知名可靠的数字货币交易平台,那么必然就需要一个较长的培训过程。所以我建议各位求职者业余时间炒炒币感受一下,并且购买几本区块链相关书籍作为入门铺垫。 第二点是思维转变。很多求职者抱着跟风的心态过来尝试,由于区块链大热,所以就来试试。我认为这是好的开始,毕竟勇敢迈出第一步很重要。 但是在实际面试过程中,这部分求职者由于对经济和金融理解有些浅薄,有一些错误的认识,这类人才即使进入区块链行业不久也会被吓跑。区块链行业早期收益高,风险也高,大家一定要认清自己的风险偏好再作打算。 第三点求职者本身抗拒数字货币,认为数字货币就是泡沫,他们认为区块链技术才是未来,但是当我问为什么区块链技术是未来的时候,也答不出个所以然。这里有可能是对数字货币巨大风险的恐惧,也有可能是不愿意接触了解产生的偏见。数字货币作为区块链的第一大应用,客观接受是前提。 第四点是求职者以为投递区块链岗位,需要非常深的区块链理解和技术储备。但这部分求职者往往是仅通过网络上几篇文章的阅读,就过来面试区块链岗位了。 其实作为招聘者,我一般不问区块链技术,也不会问共识算法,我一般还是问编程语言的基础知识,例如TCP/IP协议,C++的右值引用,所以即使不懂区块链也没有关系,区块链也是构建在互联网之上的,扎实的编程基础才决定了后续学习效果和成长的速度。 这里,我列出了公司实际的一些岗位需求,给你参考。 1. 公链核心开发者:编程语言基本功非常扎实,代码风格容易阅读,精通中英文文档撰写,英语口语流畅,了解区块链技术基础即可。 2. 钱包App以及其他基础设施开发者:了解主流语言开发包,了解移动互联网产品的开发和上架过程,了解区块链私钥管理即可。 3. 社区运营:互联网产品社区运营,对数字货币和开源社区抱有热情,熟悉常见线上线下运营手段。 4. 钱包App产品运营:互联网产品运营,这类与理财类App比较接近。 5. 数字资产交易平台:这类人才需求最大,基本上会涵盖上述5种人才储备。 6. 区块链研究:这类分为行业战略研究、技术研究两类,前者类似咨询行业,后者主要是CTO、架构师等高端技术社区、开源技术社区推进。 ## 明确与制定自己的发展方向 其实无论是区块链还是前段时间大热的人工智能,是做技术还是做产品,我们首先要找准的都是自己的方向。 不同的人从业的出发点也不同,我曾经面试过一位C++技术大牛,他与C++之父共事过两年,是十分聪颖、沟通能力良好的一位工程师,当我力邀他加入我们公司的时候,他说道:“我要的不是某个火热的行业,只是希望有一份稳定且风险不高的工作,继续自己的兴趣技术研究。” 如果求职者看哪一行火热就想从业,这种随波逐流的心态可能会导致什么也做不好。所以我十分建议你先要弄清楚自己的职业喜好,如果有条件,你可以做一个职业和性格测试,找准自己未来的定位,争取让自己的性格与自己的职业摩擦最小。 区块链是一个新兴的行业,可选的余地大并不意味着对从业者没有要求。恰恰相反,这样的行业恰恰需要从业者有扎实的编程语言基础,相对完备的计算机和网络理论知识结构。 毕竟无论是人工智能还是区块链,如果你具备了扎实的基础,在上手学习的过程中,也会快人一步。 不过仅仅拥有领域知识是不够的,目前行业的发展都呈现出跨界跨领域的趋势,所以你也不必局限在自己的领域内,适当地扩充其他知识也是十分有助于职业发展的。 ## 总结 今天我分别从行业需求和人才分布两个角度出发,谈及了区块链行业从业话题。其实无论什么样的工程师想入门区块链,都需要具备扎实的编程语言知识、计算机和网络知识,基本功扎实这个标准,放到任何一个行业都是一样的。 总结起来,你首先要找准自己的职业方向,其次是具备扎实的领域基础知识,最后是拓宽自己的知识面,想必这样从业区块链也会信心十足,早日实现财富和技术自由。 那么今天的问题,你认为从业区块链行业最重要的知识点是什么呢?你可以给我留言,我们一起讨论。感谢你的收听,我们下次再见。