Blockchain Developer Roadmap

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.

LEVEL 1

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.

Next step is to learn about web3, which is the API implementation for connecting blockchain with the frontend. It’s written in JavaScript and Python. I find the official documentation of web3.js quite helpful.

It would have become clear by now that the application frontend can be developed using any javascript or python frameworks. React.js and Angular are some of the famous javascript frameworks that are used to build dynamic Dapps.

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.

LEVEL 2

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.

LEVEL 3

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

Designation Responsibilities Required Skills
Blockchain Generalist Basic concepts, Applications, and Use cases. Blockchain basic concepts (Level 0), Networking concepts (Level 0), Cryptography (Level 0), Basics of Security
Jr. Blockchain Developer Develop Solidity or GO-based smart contracts. Blockchain basic concepts (Level 1), Networking concepts (Level 1)
Cryptography (Level 1), Solidity or GO (Level 0), Working of Ethereum(Level 0)
Working of Hyperledger (Level 0), Basics of  Security, Remix IDE
Blockchain Developer Interacting Smart contracts from the front end.
Mentoring Trainee
Blockchain basic concepts (Level 1), Networking concepts (Level 1), Cryptography (Level 1), Solidity or GO (Level 1), Ethereum/Hyperledger architecture (Level 1), Basics of  Security, Remix IDE, Consensus, ERC tokens
Web3 API, Javascript, Testing (Level 0), Cloud Computing (Level 0)
Basics of NodeJS
Sr. Blockchain Developer Interacting Smart contracts from the front end.
Mentoring Junior and Intermediate level developer.
Blockchain basic concepts (Level 2), Networking concepts (Level 2), Cryptography (Level 2), Solidity or GO (Level 2), Ethereum/Hyperledger architecture (Level 2)
Basics of  Security, Consensus, ERC tokens, Remix IDE, Web3 API
Javascript and its Frameworks (ReactJS or AngularJS), Testing (Level 1)
Smart Contract audit, Cloud Computing (Level 1), Basics of Node Js (Good to know)
Blockchain Lead Design Project Architecture.
Add new components to the blockchain.
Leadership.
Mentoring team members.
Blockchain basic concepts (Level 2), Networking concepts (Level 2), Cryptography & Security (Level 2), Understanding different Use cases
Solidity or GO (Level 2), Ethereum/Hyperledger architecture (Level 2)
Consensus, ERC tokens, Remix IDE, Web3, Unit testing, Smart Contract audit
Security audit, Javascript and its frameworks (ReactJS or AngularJS)
Testing (Level 2), Decentralized databases, Multisignature, ENS
BaaS, Ethereum, Anchoring, Cloud Computing (Level 2), NodeJS
Blockchain Expert Can develop Blockchain like Bitcoin, Ethereum etc.
Organising Projects.
Iterating with the team lead.
Blockchain basic concepts (Level 2), Networking concepts (Level 2)
Cryptography & Security (Level 2), Solidity or GO (Level 2)
Ethereum/Hyperledger architecture (Level 2)
Deep understanding of Consensus algorithm, ERC tokens, Remix IDE
Web3, Unit testing, Smart Contract audit, Security audit
Decentralized databases, Multisignature, ENS, BaaS, Ethereum Anchoring
Sidechaining, Chain forking, Sharding, Cloud Computing (Level 2)
NodeJS, ReactJS

Contribution

We have created a public confluence page according to our market research. Anyone who is interested to contribute can use the following link:

Previous ArticleNext Article

Leave a Reply

Your email address will not be published. Required fields are marked *