I want to premise this answer by saying everyone learns very differently. Some learn better through books, and others learn best through videos. Some people are equipped with the confidence to dive right into some code.
I use this website to always try out different resources, and through this source, I have discovered a few favorites:
Blockchain Fundamentals Decal by Blockchain at Berkeley is a perfect resource for when you are starting out and know absolutely nothing about blockchain. This course goes over the who, what, when, and why of blockchain. I like this as an introduction and think it is perfect for all developers and non-developers diving into the Web3 space.
Buildspace is an excellent resource for when you are ready to start building projects for your resume or to learn. Each project takes about two weeks or more to complete, and you are guided through the process the whole time. The projects all have cohorts so you can learn alongside a community and keep yourself motivated. I am currently working through their "Build a Web3 App with Solidity + Ethereum Smart Contracts" project. The best part about Buildspace is they have a variety of projects with different languages and goals, so you are not limited.
CryptoZombies is a fantastic resource for anyone looking to learn Solidity. This is an interactive program where you can build up your Solidity programming skills from ground zero. By the end, you will have created your own crypto-collectibles game, which is a fun way to get started with any programming language.
If you want to keep up to date with more of my recommendations, you can check out my Revue newsletter for Web3 resource reviews.