# Blockchain Development
There are two major roles in Blockchain development
1. Blockchain Core developer (10% jobs)
2. Blockchain Software developer (90% jobs)
> Now let's first discuss the role of Blockchain Core Developer and ideal roadmap to follow
### Blockchain Core Developer responsibilities
- Blockchain building
- Blockchain working
- Blockchain mining
- Blockchain networking
- Blockchain consensus
### Things to learn
- 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
### Blockchain software developer responsibilities
To build: Frontend + Smart Contract => Decentralized Application
### Things to learn
- 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)
### Emerging fields in Web3
- DeFi(decentralized finance)
- NFTs
- Private Blockchain like Hyperledger fabric etc.
## Resources
### For BlockChain Core Developer:
- DSA with C++ by Love Babbar (HINDI)
- Rust tutorial by freeCodeCamp (ENGLISH)
- computer networks by kunal khuswaha (ENGLISH)
- GO language by Hitesh choudhary(ENGLISH)
### For BlockChain software developer:
- JavaScript by Hitesh choudhary(Hindi)
- Blockchain Developer, Solidity, Foundry Full Course by Patrick Collins(ENGLISH)
- Solidity by Alchemy university (ENGLISH)
- Ethereum Developer Bootcamp by Alchemy university (ENGLISH)
## Communities
## Job Portals
- web3.career
- cryptocurrencyjobs.co
- defi.jobs
- crypto.jobs
- useweb3