程序员如何转职区块链开发
2018-03-12 21:55
295 查看
引子
最近参与了一些区块链的项目讨论,发现大家面对区块链这个领域的开拓,各种脑洞大开,想法清奇,但是兴奋之余后回到了一个本质问题,有想法但找不到实现的人。虽然比特币已经十年了,区块链技术也出现了这么久,但是区块链技术人才并没有跟上,原因其实很简单,区块链的钱途去年才真正展现。受到朋友希望帮忙招聘区块链开发人员的委托,同时也想了解一下,普通开发转到区块链开发需要些什么。我决定从实际需求出发,扒拉了一下网上关于区块链技术人员的招聘要求,做一个不算严谨的总结,希望能对转职区块链开发的同学起到参考作用。以下总结主要来自于智联、脉脉、拉勾等主流招聘渠道,样本不多,具有一定局限性,仅供参考。
招聘职位
列举一下主要的招聘职位- 区块链工程师/区块链开发工程师/区块链钱包开发工程师/区块链后台开发工程师
- 区块链高级开发/区块链研究员
- 区块链技术专家/区块链技术负责人
其中,占绝大部分的还是“区块链工程师”。
岗位待遇
大概可以概括为三个层次- 区块链工程师等
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、软技能
这部分和其他的技术管理岗位并无太大差别。不外乎就是备良好的沟通力、执行力、逻辑思维能力及学习能力。但是有些职位强调了:学习新技术的能力
具有创业经验优先
从这两点其实就能看的出大家对区块链的应用还处于**探索阶段**。
总结
对于具备一定开发能力的人来说,转到区块链并不是一件困难的事情,只需要在一些技术差异点上进行重点突破就可以了,你已具备的其他领域开发经验和能力不会白费。对于才做开发或想做开发的人来说,区块链无疑是一个很好的发展领域,在这个处于开拓时期的领域,也许你可以更容易成为大牛。
相关文章推荐
- 区块链开发(零)如何开始学习以太坊及区块链
- 如何提高android程序运行效率,程序员在开发过程中应当注意的一些事项
- 区块链技术到底是什么数字货币开发如何改变世界
- 如何开发区块链
- PHP程序员如何突破成长瓶颈(php开发三到四年)
- 程序员如何让你开发的产品在同质化洪流中脱颖而出?
- WINDOWS程序员如何向单片机开发如何转变,高手指教下,谢谢
- 程序员如何持续提升自己的开发技能
- 程序员如何编写好开发技术文档 如何编写优质的API文档工作
- 如何向小白程序员解释区块链
- Java 程序员如何快速入门 Android 开发?
- 以太坊核心概念开发如何用数字货币引领区块链
- 如何开始学习以太坊及区块链,辍学程序员创办以太坊
- 【程序员必看】如何用Python从0开始创建一个区块链?
- 《程序员》 -- 个人开发者如何开发优质应用
- 如何做好开发团队负责人---管别人先管好自已,请从做一名合格程序员开始(转)
- 如何向弱智程序员解释区块链
- 程序员如何开发独立电商系统?
- java程序员如何Ant的task开发java程序
- 区块链开发专题(数字货币矿池挖矿如何挖)