I find video tutorials to be an easy and efficient method for learning new subjects. Searching for quality, relevant videos is the first challenge. I generally accomplish this by searching through my youtube subscriptions first, since these are channels I have had positive experiences with in the past. If the content just isn't there, then I search outside of this network. It depends on what I'm looking for, though it usually takes around 5-10 minutes to find a decent set of videos. Next, I organize these videos into a playlist where each video builds upon the previous one, or where watching the first couple videos would potentially preclude me from needing to watch the rest. When I am ready to begin the playlist, I set the video speed to 1.25x or 1.5x the original speed and often skip sections of the video to get a decent overview of what will be covered before I commit to watching the entire thing thoroughly. This also primes me to better understand the content if I do decided to rewatch (still at 1.25-1.5x speed). When I rewatch a video, I take notes and write down questions around concepts that were inadequately presented. I will then proceed through the rest of the playlist taking notes, asking questions, and answering questions I had from previous videos. At the end of this process, I may still have questions. In that case, I will look for answers on StackOverflow, Reddit, Hashnode, etc. to round out my understanding of the subject. Only after I understand the subject to the extent that I have very few unanswered questions will I begin to code. At this point, I take a more pragmatic approach to the process by running into problems directly and seeking out resources that will allow me to proceed to my end goal. By the end of this process, I have not only gained a high-level perspective on the subject, but also a ground-level perspective on how to deal with the implementation details of a project.