Resources for Becoming a Blockchain Developer


*originally published at CSB Tech Blog

The Blockchain sector has undergone dramatic growth since the beginning of 2017. Meanwhile, the demand for programmers familiar has vastly outpaced their supply. This February, Toptal launched an On-Demand Talent Network for Blockchain Engineering, saying the demand for blockchain talent increased by over 700% since early 2017. In Q2 of 2018, Blockchain was Upwork’s fastest growing skill. That talent gap is only widening, as more positions open for blockchain developers every day. Experienced blockchain developers command sky-high salaries, leaving many wondering how to become a blockchain developer.
 
The aim of this guide is to serve as a thorough introduction to popular paths to begin developing with blockchain, including a curated collection of resources for each.


Contents:

  • What is Blockchain?
  • Foundations
  • Core Development
  • Smart Contracts and dApp Development
  • Permissioned Ledgers
  • Hackathons
  • Developing Chat
  • Conclusion
  • Additional Resources

What is Blockchain?

Bitcoin pioneered the use of blockchain, creating a peer-to-peer digital payment protocol. Bitcoin is maintained by decentralized network of miners who validate transactions while competing to solve a cryptographic challenge and seal the block. Each new block that a miner produces comes with a reward in tokens, providing an incentive for maintaining the network.

The success of Bitcoin inspired the creation of many other cryptocurrencies, with governments and enterprise working to recreate the benefits of blockchain in private networks, without proof-of-work mining.



Foundations

The Bitcoin whitepaper is where blockchain began, and is only 8 pages long. Next on our reading list is Andreas Antonopoulos’ Mastering Bitcoin is essential reading for everyone interested in learning about the technical operations of Bitcoin. 
If you can use a programming language, this book will teach you how cryptographic currencies work, how to use them, and how to develop software that works with them. The first few chapters are also suitable as an in-depth introduction to bitcoin for noncoders—those trying to understand the inner workings of bitcoin and cryptocurrencies. Mastering Bitcoin
Ethereum’s ConsenSys Academy recently published a free course called Blockchain Foundations and Use-Cases as an introduction to blockchain for developers and non-developers alike. It also serves as an introduction to some of the philosophy behind decentralization.

Core Development

If you want to dive deeper into Bitcoin, check out Bitcoin.org’s Developer Guide. A great resource for helping with the Bitcoin protocol on Github is: A Gentle Introduction to Bitcoin Core Development. That guide may also prove useful for participating in other blockchain Github repositories. lopp.net/bitcoin.html has the largest collection of Bitcoin resources available anywhere.

Other resources for Bitcoin developing:


Build your own blockchain:

Besides Bitcoin, there are thousands of open-source blockchain initiatives to participate in. If you'd like to learn more about building a blockchain from scratch, you'll find an excellent collection of resources through the following links.

Ethereum Smart Contracts

While exploring blockchain fundamentals, the simplest entry point is to build applications on an already established blockchain. Smart contracts are one of the most important innovation made possible by blockchain. These blockchain enabled programs eliminate the need for trusted third parties to administrate programmatically verifiable conditions. Ethereum was the first blockchain designed to enable smart contracts. Its tokens are programmable, and their code is run simultaneously by every node in the network.
 
In the most basic example, a smart contract can verify conditions for tokens to be transferred to another user, or refunded to the issuer. In short, a smart contract enables the verifiable execution of a programmable agreement. This feature allows developers to harness the capabilities of the Ethereum blockchain, without having to build and maintain their own.

Ethereum smart contracts are written in Solidity, which was specifically designed for that purpose. Although Solidity was designed for Ethereum, it is gaining support with other blockchains, as well.

Ethereum Developing Resources:


It won’t necessarily take a long time to learn how to create a smart contract, but becoming a good smart contract developer requires diligence. Mistakes in smart contracts have turned out to be quite costly. Once deployed, an Ethereum smart contract is unalterable, making any bugs in the code permanent. Because of the risks involved, efforts have organized around peer review and formal verification.

Permissioned Ledgers

There are many different blockchains, cryptocurrencies, and feature-rich platforms currently being developed. However most of them are public blockchains that anyone may access, and all of their transactions are broadcast to the entire network. While those features are essential in decentralized systems, they don’t quite fit the needs of many enterprise applications.

IBM’s Introduction to Distributed Ledger serves as a general introduction to blockchain for Governments and Enterprises who wish to make use of permissioned ledgers. Hyperledger’s offers a free online course called Blockchain For Business which is a general introduction to blockchain and the Hyperledger family, including information and examples regarding its use.

The Hyperledger Project

Hyperledger is a cross-industry open source collaborative hosted by the Linux Foundation, co-founded with IBM. Their aim is to improve the performance and reliability of blockchain technology so that it can be suitable for global enterprise.

The Hyperledger Foundation hosts the following projects:
  • Hyperledger Iroha is aimed at applications requiring fast synchronous transactions with small payloads. It is considered ideal for building decentralized backends of mobile applications.

All of the Hyperledger projects have discussion channels available via chat.hyperledger.org.

Corda

Introduced by R3, Corda is an enterprise blockchain platform designed specifically for financial services. It is gaining traction in the market, and on GitHub. There is a strong possibility of Corda becoming a preferred enterprise solution over the coming years.

Hackathons

The role of hackathons in the blockchain revolution should not be underestimated. Competitors apply creative solutions, and collaborate to solve practical challenges and win prizes. Hackathons are a great way to learn and meet other developers from different walks of life. The Hackathon encourages efficiency and creativity in a competition against a deadline. They also foster a friendly atmosphere, a low barrier to entry, and the opportunity to work with new people solving real world problems. The following blockchain hackathon directories are a good place to start:

Blockchain Developing Chat

  • Blockchain Developer Club Is a great space to discuss blockchain developing and ask questions, many of the resources in this guide came from that server.
  • Crypto Devs - is a channel that's new to me, but appears to be a good place to check out.

Conclusions

The blockchain sector is rife with possibilities, especially for developers. The world is just beginning to become aware of the potential of blockchain, and there is still plenty of time to learn the trade. There is a lot to learn in this sector, and many paths to go down. There are a multitude of open source projects to participate in, smart contract platforms to build onto, along with the permissioned chains under development by Hyperledger, and R3.

If you aren't immediately inspired cryptojobslist.com is one of the more popular job boards that deals explicitly with cryptocurrency related jobs, you may also want to try blockchainjobz.com to get some ideas of where you'd like to focus your efforts.

There are also a ton of additional blockchain resources in the Crypto Public Library chat server, including developing resources organized by crypto project, a hackathons channel, and much more.

Refrences

Additional Resources