https://docs.soliditylang.org/en/v0.8.0/
https://solidity-by-example.org/
https://docs.ethers.io/ethers.js/v5-beta/getting-started.html
https://hardhat.org/getting-started/
https://github.com/austintgriffith/scaffold-eth
Understand Ethereum fundamentals: https://www.youtube.com/playlist?list=PLJz1HruEnenCXH7KW7wBCEBnBLOVkiqIi
You should also have a decent understanding of JavaScript and NodeJS.
Get and send around some testnet eth: https://ethereum.org/en/developers/docs/networks/
Maybe watch me mansplain Ethereum? (2x that thing for sure!) (NOT REQUIRED!)
Grab 🏗scaffold-eth and learn how to iterate on YourContract.sol.
https://github.com/austintgriffith/scaffold-eth
📚 Look through each concept from http://solidity-by-example.org (paste into your contract).