# A Busy Engineer's Guide to Learning Ethereum
- This is a learning path geared towards getting:
- Practical, job-applicable skillsets that can put food on the table
- In as little time as possible (i.e. nights/weekends)
- Broad but _shallow_ "tree of knowledge" (i.e. your responsibility to go deep)
- Practical skills and learn-by-building are prioritized
- You will be forced to research & learn theory along the way
- Basic coding required (i.e. bootcamp or programming class)
## Step 1: Learn the EVM by Building
We will start with the Ethereum and the EVM first, as it is the most established ecosystem with largest number of jobs
> 0. Basic Familiarity with Web3 as an end-user
1. Set up Metamask, interact with a few dApps, understand what is going on
2. Understand what is happening from a practical and theoretical standpoint (i.e. open-access blockchains, credibly neutral network, programmable money, composability)
### Basic Smart Contracts (2-3 days)
- Courses
- [Cryptozombies](https://cryptozombies.io/)
- [Intro to Remix & Solidity](https://www.youtube.com/watch?v=JWJWT9cwFbo)
- Outcomes
- [ ] Can write simple smart contract
- [ ] Can write complex smart contract (interface, etc)
- [ ] Can use Remix to deploy smart contract
- [ ] Can write simple Web3.js to call smart contract
### Smart Contract Dev Environment (2-3 days)
- Courses
- [Nader's Hardhat & Ethers.js Tutorial](https://www.freecodecamp.org/news/full-stack-ethereum-development/) ([1 hour Video](https://www.youtube.com/watch?v=a0osIaAOFSE))
- Outcomes
- [ ] Can deploy a smart contract using DevTool (e.g. Hardhat)
- [ ] Can call smart contracts from frontend (e.g. Ethers.js)
- [ ] Can differentiate between Testnet and Mainnet
### Learn by Building (2-3 weeks)
- Courses
- [Speedrun Ethereum](https://speedrunethereum.com/) - 7 challenges
- (Alternative) [Buildspace](https://buildspace.so) - [1](https://buildspace.so/p/CO02cf0f1c-f996-4f50-9669-cf945ca3fb0b), [2](https://buildspace.so/p/CO961ddb5f-f428-4608-9949-a9a2f461eb3f), [3](https://buildspace.so/p/COb520aae3-7925-42f4-a5e7-eaf718933766)
- (Optional) [FreeCodeCamp Web3 Course](https://www.youtube.com/watch?v=gyMwXuJrbJQ) - 32 hours
- Outcome
- [ ] Can build a simple DeFi, NFT or DAO dApp
- [ ] Can reference other DeFi, NFT or DAO primitives (i.e. composability)
### Smart Contract Security (2-3 weeks)
> Smart Contract Security will force you to learn the underlying theory and how Ethereum works under the hood, by reading up on resources
- Courses
- [Ethernaut](https://ethernaut.openzeppelin.com/)
- [DN's Ethernaut Walkthroughs](https://medium.com/hackernoon/ethernaut-lvl-1-walkthrough-how-to-abuse-the-fallback-function-118057b68b56?source=user_profile---------26----------------------------)
- Theory Resources
- [Ethereum.org Docs](Ethereum.org)
- [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook)
- [Ethereum Beige Paper](https://github.com/chronaeon/beigepaper/blob/master/beigepaper.pdf) (human readable version of the [Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf))
- [Ethereum EVM Illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)
- Outcomes
- [ ] Basic ability to write secure smart contracts
- [ ] Basic understanding of how Ethereum works under the hood (data structures, cryptography, etc)
- [ ] Basic "Tree of Knowledge" framework of knowledge to carry on the years ahead
3. Strong framework of knowledge to carry on for the years ahead
## Step 2: How Blockchains Work
- Courses
- [Patrick McCorry's Cryptocurrency Class 2022](https://cryptocurrencyclass.github.io/)
- Outcomes
- [ ] Buy Patrick a beer
## Step 3: Emergent Topics
- Ethereum Beacon Chain (PoW to PoS)
- Scaling (L2s and Rollups)
- Cross-chain issues and Bridges
- Blockchain builders: Cosmos, Substrate,
- Alternate Execution Environments: Solana
## Get a Job
- Gitcoin
- Web3 Salaries