There are two major roles in Blockchain development
- Blockchain Core developer (10% jobs)
- Blockchain Software developer (90% jobs)
Now let's first discuss the role of Blockchain Core Developer and ideal roadmap to follow
- Blockchain building
- Blockchain working
- Blockchain mining
- Blockchain networking
- Blockchain consensus
- Programing Language like. C++, Rust, Go (bcz they are good in Blockchain implementation)
- Some core computer science subjects 👇
- Computer Architecture
- cryptography
- Data structures and Algorithm
- Computer Networks
Now let's move ahead and discuss most demanding job role- Blockchain Software developer NOTE: Here we are going to to discuss the roadmap in the context of ethereum blockchain because of the following reason
- Most popular
- Most demanding
- Developer friendly
- Resource and community support
- After learning this you can also switch to BlockChains like solana, polygon etc. because fundamentals are going to remain the same
To build: Frontend + Smart Contract => Decentralized Application
-
For Frontend:
- HTML
- CSS
- JavaScript
- ReactJS(recommended) or AngularJS
-
For Smart Contract:
- Solidity Language
-
To Connect your Frontend with your Smart Contract, we need to know liberary, You can learn any one of the following 👇
- Web3.js
- Ether.js
- Web3.py
-
As blockchain is not scalable and storage of data is very costly currently hence we require knowledge of server and databases to fix these problems
- For Server you can learn: java / python / NodeJS (recommended)
- for databases you can learn: MongoDB or MySQL
NOTE: Learning Smartcontract, liberary and Frontend part should be your priority, rest everything will act like your bonus point to get hired or get any freelance client
- Other tools to know:
- Truffle
- HardHat
- IPFS
- Geth
- OpenZepplin(liberary)
- Chainlink(oracle)
- DeFi(decentralized finance)
- NFTs
- Private Blockchain like Hyperledger fabric etc.
- DSA with C++ by Love Babbar (HINDI)
- Rust tutorial by freeCodeCamp (ENGLISH)
- computer networks by kunal khuswaha (ENGLISH)
- GO language by Hitesh choudhary(ENGLISH)