为什么区块链开发者工资这么高?看看他们需要掌握多少东西就知道了

hi 小伙伴们好,营长大大来了!

说起区块链一直有个大家喜闻乐见的话题,就是「开发者」,无论是人才招聘还是技术开发,开发者都是区块链大潮背后的中坚力量

今天咱们就聊聊「如何成为区块链开发者?」这个话题,在营长采访过的很多技术专家中,经常都会问他们是如何成为区块链大拿的?以及是通过怎样的方式和区块磨炼自己的技术的?日积月累下来,得到了很多优质的反馈。

因此,本篇文章将会回答并解决你以下问题:

我该如何成为区块链开发者?

成为区块链开发者需要掌握哪些知识/技能?

我该去哪里寻找资源来自我提升?

我该如何养活我自己,以及找个靠谱的工作?

值得留意的是,这些内容并不单纯是写给小白的,即使你已经有开发经验,也能通过这篇文章看出区块链开发者的完整知识框架,填补自己的短板

文章中也会附上学习资源。

言归正传,下面就开始吧。

手把手带你成为区块链开发者:必备技能

1. 理解区块链背后的原理

在开始开发前,对区块链系统和机制有个深刻的了解是十分必要的,你需要先知道区块链到底是什么、什么叫挖矿、矿工、区块链、共识等基本知识。这里推荐一本书:Mastering Bitcoin: Unlocking Digital Cryptocurrencies(《走近区块链:解锁加密货币》)

2. 熟悉以太坊

如果你想发币或者玩玩ICO,那么你需要先了解一下以太坊,因为以太坊是ICO项目最常用的平台,也是作为一个区块链开发者,无法绕开的一个平台。第一步,你可以先从安装以太坊客户端开始,常用的客户端有,Geth和Parity。

3. 花点时间学习Solidity和Truffle

Solidity是以太坊推出的智能合约编程语言;Truffle是目前最常用的以太坊开发框架。作为区块链开发者,你必须对Solidity和Truffle非常熟悉。其实,Solidity上手的门槛并不高,学过JavaScript的人应该很容易理解。

而Truffle,你可以参考官方的详细操作步骤,对应步骤操作一遍应该就能掌握了。

Truffle操作步骤:

https://truffleframework.com/boxes/pet-shop

其他资源:

区块链入门播客(Podcast):

https://techiesamrat.com/free-blockchain-basics-beginners-podcast-course/

超级有趣的区块链DApp开发学习平台Loom:

https://cryptozombies.io/

4. 从区块链游戏入手

游戏开发是学习区块链开发者最好的入手方向,上面的链接就是很好的学习资源。通过Loom你可以亲手学习并开发一款自己的区块链游戏(开发者一个僵尸大军,然后发起区块链战争)。因为整个游戏都是使用Solidity开发的,因此当完成整个游戏之后,你会对这门语言有非常好的掌握,就问你棒不棒?!

此外,Loom平台的游戏开发还会让你认识到,智能合约不仅仅能用在交易,也能用在游戏开发上。只要你脑洞够大,还能找到更多的玩法。

5. Solidity虽好,但不要在上面花太多时间,应该把更多时间花在其他语言上

如果你想开发DApp,不要把时间和精力过多的放在Solidity上,因为如上文所说,Solidity只能用来开发智能合约,而这只是DApp代码中很小的一部分。而DApp可以用任何语言开发,例如Python、Java、C++。

此外,因为Solidity非常简单直接,学过其他语言的人稍微看一下就能懂,因此,其他语言上的功夫比Solidity重要的多。

6. 了解以太坊之外的其他主链

虽然以太坊现在是最大的主链平台,但多接触其他主链也有好处,例如Hyperledger或Multichain等。

7. 前端开发与密码学

DApp由两个部分组成——前端和后端。前端跟Web开发和移动开发差不多,用Java、HTML都可以。但后端开发就不一样了,需要掌握密码学的知识,比如用户定义中的密码函数等。理论上说,DApp的后端开发也可以用多种语言,常见的例如:C#、C++。

8. 理解多种数据结构

作为区块链开发者,你需要对多种数据结构有深入的理解,如Stack、Queue、Linked List、Tree,以及HashMaps等。

9. 多「玩」比特币源码

比特币源代码是学习区块链开发最好的渠道之一。因为比特币源代码是开源的(用C++写成),所以你在任何时候都可以继续为比特币项目贡献代码,就算不贡献代码,自己多多研究把玩也能得到很大的提升。

当然,如果你能把以太坊源代码吃透并且也在上面贡献代码,相信其他大多数的区块链项目的开发,都难不住你了。

比特币源代码地址:

https://github.com/bitcoin/bitcoin

10. 学习分布式账本协议

分布式账本协议可以说是区块链开发者需要掌握的最重要的知识之一,如果你真的下定决心转型,这个知识非学不可。如果你不知道从何入手,建议先看看区块链公司对技术人员的要求是什么,然后再决定从哪开始学起。

海外招聘资源汇总:

https://crypto.jobs/learn

11. 开发一个自己的DApp

在掌握了上面的所有知识之后,开始试着开发一个DApp。这个DApp的目的有两个:

反应你对上面知识的理解有多深;

通过实践来进一步学习

一般来说,第一个DApp可以尝试下分布式投票系统,以太坊官方有开发这种DApp的详细步骤。

参考地址:

https://www.ethereum.org/dao

学习资源哪家好?

在了解了需要学习的技能之后,你可能会问,我在哪里才能学习这些技能

别着急,接下来营长就把上面所提到的知识点和所有相关的学习资源打包给你

12. Lynda、GitHub、油管上最好的以太坊学习资源

Xanesghost是Reddit上区块链话题下的大V,他曾分享过一系列的以太坊学习资源,包括「官方」和「非官方」两个部分。

先来看看非官方:

以太坊编程基础(Lynda):

https://www.lynda.com/JavaScript-tutorials/Foundations-of-Programming-Fundamentals/83603-2.html

JavaScript精华训练(Lynda):

https://www.lynda.com/JavaScript-tutorials/JavaScript-Essential-Training/574716-2.html

数据结构入门(Lynda):

https://www.lynda.com/Developer-Programming-Foundations-tutorials/Foundations-Programming-Data-Structures/149042-2.html

离散数学基础(Lynda):

https://www.lynda.com/Programming-Foundations-tutorials/Foundations-Programming-Discrete-Mathematics/411376-2.html

Git精华训练(Lynda):

https://www.lynda.com/Git-tutorials/Git-Essential-Training/100222-2.html

重构代码(Lynda):

https://www.lynda.com/Developer-Programming-Foundations-tutorials/Foundations-Programming-Refactoring-Code/122457-2.html

由浅入深密码学:

https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg/videos

博弈学,从入门到精通:

https://www.youtube.com/playlist?list=PL6EF60E1027E1A10B

加密技术线上全教程:

https://www.youtube.com/channel/UCNcSSleedtfyDuhBvOQzFzQ/videos

官方资源:

以太坊智能合约介绍:

https://www.youtube.com/watch?v=r7GVVk8v2Ik

Blockchain/Smart Contract 101:

https://www.youtube.com/watch?v=kanP89Y4hn8

Solidity特性详解:

https://github.com/ethereum/wiki/wiki/Solidity-Features

Solidity官方文档:

https://solidity.readthedocs.io/en/latest/

Yminutes Solidity教学:

https://learnxinyminutes.com/docs/solidity/

Andreas Olofsson Solidity教学:

https://docs.erisindustries.com/tutorials/solidity/

Ethereum, Gas, Fuel & Fees:

https://www.youtube.com/watch?v=dd-ajiMl4HY

以太坊Mist简介:

https://www.youtube.com/watch?v=MzT0fvmZ638

写给以太坊开发者的DApp设计原则:

https://www.youtube.com/watch?v=nPpi9BPkRbo

区块链代码的模块性、可扩展性、和安全性:

https://www.youtube.com/watch?v=1D7BH8krdhQ

合约复杂度的管理:

https://www.youtube.com/watch?v=gEV8LfFs8Io

DApp框架入门:

https://www.youtube.com/watch?v=XdPkzzjmirw

Truffle官方文档:

https://truffle.readthedocs.io/en/latest/

Tim Coulter的Truffle教学:

https://www.youtube.com/channel/UCFShdrPuhFqWlSnpGnz2Wag

StackExchange:

https://ethereum.stackexchange.com/

以太坊DApp开发资源列表:

https://www.youtube.com/playlist?list=PLe9AlNDGZKvBWrkf-tKgEJsu2Y_vrBgwv

用JavaScript开发DApp:

https://www.youtube.com/watch?v=cPlpWmC7JKk

给技术小白的DApp开发教程:

https://dappsforbeginners.wordpress.com/

如何用Mist打造一个无需服务器的应用:

https://blog.ethereum.org/2016/07/12/build-server-less-applications-mist/

Solidity智能合约实战1:

https://www.youtube.com/watch?v=8jI1TuEaTro

Solidity智能合约实战2:

https://www.youtube.com/watch?v=3-XPBtAfcqo

以太坊DApp开发——Truffle、MetaMask:

https://medium.com/metamask

Web3开发规划:

https://www.youtube.com/watch?v=XnQSTLDt1cc

智能合约开发最佳实践:

https://github.com/ConsenSys/smart-contract-best-practices

以太坊智能合约安全手册:

https://blog.zeppelin.solutions/onward-with-ethereum-smart-contract-security-97a827e47702

如何写最靠谱的智能合约:

https://blog.colony.io/writing-more-robust-smart-contracts-99ad0a11e948#.wfro33g0x

13. Coursera、斯坦福在线课程

刚开始,可以先看看斯坦福的在线课程:

https://crypto.stanford.edu/cs251/syllabus.html

这个课程把什么是区块链,什么是加密货币讲的十分透彻。

接着,可以看一些更深入的课程,比如Coursera关于比特币和加密货币技术的课程:

https://www.coursera.org/learn/cryptocurrency

当然,国内的在线教育平台,也能找到很多不错的课程。

学会技术怎样赚钱?

在学习了一定的区块链开发技术之后,你可能会想我该如何用这些技术赚钱呢?除了找份区块链开发的工作之外,还有哪些靠谱的赚钱方法?

这个部分将一一解答。

14. 找个正儿八经的工作

不用多说,找个区块链开发相关的工作是大多数人的选择。目前,整个区块链市场都处于人才荒的状态,技术扎实的开发者想找个靠谱的工作并不难。在找工作之前,你应该先想清楚是否真的要从事区块链开发,此外,你比较中意的工作地点在哪?

通常很多类型的公司都会招聘区块链的相关开发者,包括:初创公司、科技公司、银行、私有企业,甚至是政府和专业服务机构等。

可参考以下网站:

https://crypto.jobs/

15. 区块链招聘网站

随着区块链行业的火热,招聘网站也越来越多,除了上面的网站之外还有一个不错的招聘网站:

http://blockchainjobz.com/

16. 试着拿些认证

经验是找到好工作的基础,一般来说,如果你有个三五年的Web开发经验,去拿一些认证相对来说比较容易。最简单的拿认证的方法是为一些初期的开源项目贡献代码,当然如果能拿到一些知名项目的认证则更好,例如Hyperledger Platform,不过这个项目需要你的C++和Java技术过硬。

17. 为开源项目贡献代码,并拿到报酬

上面说了为一些开源项目贡献代码可以拿到认证,实际上有些开源项目也会给贡献者金钱的奖励。例如Gitcoin。开发者可以再GitHub上解决发布者的问题,就可以拿到相应的以太币作为奖励。步骤如下:

在GitHub上找到悬赏任务,无论是Bug、安全还是任何其他任务;

声明任务;

解决任务的问题;

提交任务成果 & 获得奖励。

Gitcoin地址:

https://gitcoin.co/

18. 通过ICO赚钱

这年头,要是没试过ICO都不好意思跟币圈的人打招呼。其实ICO说白了就是创造一个自己的Token,这很简单。

现在有很多跟「一键生成」差不多的小白「造币」平台,区区几行代码,你就能生成属于自己的加密货币,如OpenZeppelin等。不过要想ICO到很多钱,还是需要有核心价值。

OpenZeppelin操作指南:

https://blog.zeppelin.solutions/how-to-create-token-and-initial-coin-offering-contracts-using-truffle-openzeppelin-1b7a5dae99b6

19. 开发DApp赚钱

与当年移动应用的发展类似,可以预见未来两年DApp会成井喷式发展。作为开发者,你现在就可以试着开发一些DApp,并试着去变现。通常,DApp上的每笔交易,开发者都可以拿到2-5%的利润。如果你能开发出像迷恋猫那样的爆款,利润将会非常可观。

通常,你可以通过以下任意一种方法来实现DApp变现:

制造爆款和发币;

收取一定比例的交易费;

特殊功能收费;

订阅或会员机制;

广告;

募捐

其他成为区块链开发者的必要因素

这部分属于进阶内容,对于已经拥有过硬技术的区块链开发者来说,掌握以下知识可以走到更高的位置。

20. 学点经济学

作为区块链开发者,只懂技术是不够的,要想走得更高更远,你还需要学习一经济学理论,因为经济学是区块链和加密货币的基础。这些理论包括博弈论、宏观/微观经济学、供需关系、机会成本、拍卖理论、货币政策、敏捷货币、通货膨胀,以及通货紧缩等。

21. 多交流

区块链开发者不应该闭门造车,应该走出去多多跟人交流,无论是交流开发技术还是观点,都能获得很大的益处。最好的交流方式,是多多参加行业活动、沙龙等,即使没有线下活动,也要试着去网上找一些论坛,与其他开发者讨论。比较优质的开发者论坛/社区包括:Reddit、Slack、Gitter等。

22. 软实力的提升

软实力的提升是个长线投资,也许要等到很长时间之后才能看出来。但比起开发的硬技术,软实力对于开发者来说同样重要。想要爬到更高位置的开发者需要软硬兼顾。典型的软实力包括:管理能力、团队合作能力以及多任务处理能力等。

23. 听听资深开发者的反馈

在完成自己项目的开发之后,收集和分析反馈十分重要。你可以把自己的项目上传到GitHub,听听一些资深开发者的反馈。也可以上传到Reddit。

24. 给自己留点学习的时间

很多开发者有一个误区,就是认为如果花太多时间学习,就会放过很多大好机会。但实际上,今天的区块链就像90年代的互联网一样,还处于刚刚起步的阶段,很多优质的项目和公司都还没出生呢。因此,现在给自己多点时间学习,彻底掌握区块链的开发技巧和理解其背后的原理,可以为未来打下坚实的基础。


欢迎关注微信公众号“区块链大本营”~

区块链开发者的基地。

从这里出发,让区块链回归技术与应用的本质!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容