The demand for blockchain developers is ever-increasing. There has been an insurgent demand for the developers in both the public and private sectors. Blockchain technology got its initial recognition through cryptocurrencies and ICO’s.
But lately, there has been a widespread discussion in the blockchain community about its other use cases. One might be interested in blockchain due to its decentralized nature or its claim to get rid of third party involvement.
Lately, some large applications have been found ‘stealing’ user data. This is also another problem that blockchain can work around due to its decentralized nature.
Note: I request all the readers who have relevant knowledge in the field of blockchain to contribute (for more details refer to the ‘contribution’ section).
At the start of the journey to learn blockchain, there are broadly three paths that you can choose. First is related to the development of Dapps (decentralized applications). Second is developing a blockchain application platform like (Ethereum, Hyperledger, EOS, Corda, etc).
Third is related to research in the field of the blockchain. One common thing that is a prerequisite for all these paths is the basic knowledge of blockchain, computer networking, encryption algorithms, and hashing algorithms.
Now we are going to discuss the details for each of the paths described above.
Now for Dapp developers, there are many platforms using which application can be developed. I’m gonna talk about Ethereum, which is one of the biggest platforms. So the first step will be to get a basic understanding of the Ethereum platform itself
Ethereum nodes can be created using Geth or Parity. Geth is the official CLI developed by Ethereum. We can also connect to an existing public node using Infura, which is also developed by Ethereum.
Ethereum is based on smart contracts to carry out operations on the Ethereum platform. Solidity is the programming language in which smart contracts are written in solidity.
Solidity is an object-oriented language. From my experience, it is easy to learn as it works similar to other OOP languages. I also recommend to check out CryptoZombies for learning Dapp (Decentralized Application) development.
Solc compiler is used to compile solidity code, Which is also available as an npm package. Another way to compile solidity code is using Remix-IDE.
The final piece of the puzzle would be to use a framework for Dapp development that would make development, testing and smart contract deployment streamlined, easy and fast. Some of the popular ones are Truffle and Embark.
Now let’s talk about some challenging paths in blockchain technology. Blockchain developer, This path has a relatively steeper learning curve as compared to Dapp developer. For a blockchain developer in-depth understanding of an existing platform like Ethereum, Hyperledger, EOS, etc is required.
The programming language used to develop Ethereum like platforms is GO language.
This the final stop in the ‘blockverse’. In addition to a strong conceptual understanding of computer science, an in-depth knowledge of all the components of blockchain like consensus protocol, whisper protocol, transaction, and block validation is a prerequisite. The role of blockchain researcher is to find a solution to issues like scalability, transaction and block validation, off-chain components of the blockchain, etc. There is an open platform for Ethereum researchers:
Other ways to contribute is through articles on popular platforms like the medium.
In order to map out the progression of a blockchain developer in terms of expertise and levels of seniority we have prepared the table below.
Career Path of a Blockchain Developer
We have created a public confluence page according to our market research. Anyone who is interested to contribute can use the following link: