程序员如何转职区块链开发

引子

最近参与了一些区块链的项目讨论,发现大家面对区块链这个领域的开拓,各种脑洞大开,想法清奇,但是兴奋之余后回到了一个本质问题,有想法但找不到实现的人。虽然比特币已经十年了,区块链技术也出现了这么久,但是区块链技术人才并没有跟上,原因其实很简单,区块链的钱途去年才真正展现

受到朋友希望帮忙招聘区块链开发人员的委托,同时也想了解一下,普通开发转到区块链开发需要些什么。我决定从实际需求出发,扒拉了一下网上关于区块链技术人员的招聘要求,做一个不算严谨的总结,希望能对转职区块链开发的同学起到参考作用。以下总结主要来自于智联、脉脉、拉勾等主流招聘渠道,样本不多,具有一定局限性,仅供参考

招聘职位

列举一下主要的招聘职位

  • 区块链工程师/区块链开发工程师/区块链钱包开发工程师/区块链后台开发工程师
  • 区块链高级开发/区块链研究员
  • 区块链技术专家/区块链技术负责人

其中,占绝大部分的还是“区块链工程师”。

岗位待遇

大概可以概括为三个层次

  • 区块链工程师等

15K~30K/月

  • 区块链高级开发等

20K~40K/月

  • 区块链技术专家、技术负责人、CTO等

50~80W/年

有一家超高的直接开到了150W~300W

岗位职责

简单概括起来就4点:研究、开发、文档、交流。

  • 负责区块链等前瞻性技术研究,产品前期技术研究及原型开发
  • 负责区块链相关产品的研发,包括底层协议,共识算法,加密算法,上层应用等
  • 参与需求分析文档和详细设计文档编写,参与开发规范的制定工作。
  • 组织协调内外部关于区块链技术的交流、讨论、培训;

:个人感觉,比起其他领域的研发岗位来说,其实很不一样的,强调了研究交流,其他研发岗位一般就是让你来单纯做开发的,最多还写写文档。

任职要求

虽然区块链开发和技术管理,有着职位的差异,实际从看各企业的任职要求看,需要掌握的技术要点都差不多的,差异不外乎在技术掌握深度上和软技能上,即使是招聘的CTO,也是要做架构和写代码的,不存在纯管理岗位。我将它们概括为六个方面的要求。

1、背景经验

有以下几个特点:

  • 计算机、密码学、数学或统计学相关专业是首选
  • 通常要求三年以上的工作经验,这也是符合新行业需要快速学习能力的需要
  • 一半以上职位要求要求研究生学历,这个和AI行业的招聘类似的
  • 对区块链行业工作经验要求少,大概也是因为压根就很少人做过区块链

2、语言环境

以下几个特点:

  • 熟悉linux系统下的开发调试是大部分职位都提到的要求
  • 精通Golang, C++, Java中的一种,是必选项
  • 熟悉NodeJS或Python,能快速学习新语言,是加分项
  • 掌握通用的技术,比如网络,多线程,高并发等

:这部分的要求其实区块链没得多大关系,基本就是做服务的要求

3、加密算法

  • 熟悉各种数据结构和算法,对密码学,安全协议和加密算法有研究;
  • 理解各类主流的共识算法,包括不限于PoW,PoR,PoS,DPoS,PBFT,Paxos,Raft等;

:这部分的要求其实不高,只是了解原理,真要做出成果,可能也需要寄望于密码学专家。

4、区块链项目

这部分我觉得是需要切实的去实践,学习和练习。

  • 熟悉区块链相关技术,例如:共识机制、P2P网络协议、隐私保护机制、密码算法等
  • 熟悉Bitcoin,Ethereum,HyperLedger Fabric的区块链相关机制与原理,掌握开发框架
  • 熟悉以太坊平台,Solitidy,node.js,web3.js,能熟练编写以太坊智能合约

5、架构技术

  • 熟悉分布式架构或大型系统架构是区块链必然的要求
  • 掌握数据库技术,包括Relational DB 和 NoSQL DB,以及P2P等。

6、软技能

这部分和其他的技术管理岗位并无太大差别。不外乎就是备良好的沟通力、执行力、逻辑思维能力及学习能力。但是有些职位强调了:

  • 学习新技术的能力
  • 具有创业经验优先

从这两点其实就能看的出大家对区块链的应用还处于探索阶段

总结

  • 对于具备一定开发能力的人来说,转到区块链并不是一件困难的事情,只需要在一些技术差异点上进行重点突破就可以了,你已具备的其他领域开发经验和能力不会白费。
  • 对于才做开发或想做开发的人来说,区块链无疑是一个很好的发展领域,在这个处于开拓时期的领域,也许你可以更容易成为大牛。

你可能感兴趣的:(程序员如何转职区块链开发)