>, I have tried learning to code from YouTube videos but I really don't recommend it
Videos can work better for learning visual UI tasks of programming. E.g. learning how to navigate visual IDEs such as Jetbrains, MS Visual Studio, Apple Xcode, Qt Creator, Amazon AWS dashboard, etc.
If the above were all reduced to text-based materials, you'd end up with a bunch of static screen shots which misses the movement of the mouse and the button clicks that showed how the IDE changed from one state to the next.
On the other hand... if you're primarily learning the syntax of a language or studying the Big-O properties of an algorithm, you don't need a talking head on a video to explain it. It's more efficient to just read the text.
I think everyone has their own preference to learn but I second this recommendation. Videos work well to have a friendly face explain how things work and get interest generated, but if you intend to level up your programming skill you are better off reading code documentation and googling your way through every concept that needs explaination. Videos don't allow you to navigate away from the original learning path. I personally keep finding myself in situations where I am reading something up and want to fork out to get a good grasp on a concept being discussed. Text is your friend.
I've found one YouTube-based technique that helps me sometimes.
Basically, search youtube for some specific topic (eg "MediatR" b/c I'm working in .NET)
Using the relevant results, create a playlist and order it with the shortest videos first, or in numerical order if some are part of a series.
Then, start watching the video's. You'll get some garbage, some useful insights, and some really solid advice. Stop when you've had enough and you're at least in a better place to get on with your own work in that particular topic.
Good youtube videos give you the benefit of some context and opinion around the topic. You can't get that with documentation because it typically takes too much of a "reference" approach that isn't helpful if you're just starting but need to get something done.
Stackoverflow works if you got a specific question and can navigate past the smug a-holes, but it also eschews context and advice though in a different way than reference documentation.
Of course, the best thing you can do is to have a kind mentor that will patiently answer your questions, or better, ask YOU questions to guide your learning. Sadly, that's not always possible.
My main complaint with learning to code from videos is that it's really difficult to match the pace at which information is entering your head to the pace at which your head wants to absorb information. I believe (but cannot prove) that that mismatch is a major impediment to knowledge retention. With written material, by contrast, it happens so naturally that you don't even realize you're doing it. You unconsciously slow down or even re-read difficult bits, and skim over the stuff you already know.
I'm also a big proponent of active reading techniques for learning new material efficiently. It's nigh impossible to scribble notes on a YouTube video. With written material, virtually anything can be converted to PDF and read on a tablet with a stylus in hand.
That isn't to say that videos are useless. Lectures are great for learning things at a high level. And there are some YouTubers like 3blue1brown that make excellent use of the medium. But, unless you really just can't even with reading, even the best of them are probably still best used as supplementary rather than primary materials.
I'm an avid consumer of recorded conference talks and the like, too, but I recognize that as being a form of entertainment as much as anything else.
>My main complaint with learning to code from videos is that it's really difficult to match the pace at which information is entering your head to the pace at which your head wants to absorb information.
My way around this is by placing my fingers on the J, K and L keys, in case I need to go few seconds back to listen again, or pause to search more information/take notes, or resume where I was.
Sometimes a 15 minutes video can be easily stretched to 40 mins/1 hour.
I use this for learning code/design/guitar, and I think it works really well!
Videos can work better for learning visual UI tasks of programming. E.g. learning how to navigate visual IDEs such as Jetbrains, MS Visual Studio, Apple Xcode, Qt Creator, Amazon AWS dashboard, etc.
If the above were all reduced to text-based materials, you'd end up with a bunch of static screen shots which misses the movement of the mouse and the button clicks that showed how the IDE changed from one state to the next.
On the other hand... if you're primarily learning the syntax of a language or studying the Big-O properties of an algorithm, you don't need a talking head on a video to explain it. It's more efficient to just read the text.