I don't believe that the most difficult thing about learning anything is starting. That is certainly a hurdle to climb, but continuing and finishing through are very tasking jobs to pull off.
For someone who wants to learn programming online, aka be the self taught programmer, it is a journey filled with euphoric moments with wins as well as rage when all you want to do is throw your laptop out the window and set fire to the building, only to find that the reason your code wouldn't work is because you missed a curly brace, a semi colon or just did not put the camel case where it was meant to be. It really is the little things.
For a beginner, the choice of an IDE( Integrated Development Environment) can be daunting. I remember when I started out and the first video I used recommended an IDE. I downloaded that, but discovered the tutorial was for intermediate learners. So I searched for one for beginners where a different IDE was recommended. I downloaded that too even though tutors would generally say that it did not matter which one you used. Oh but it doesss, when you're starting out and just want to replicate the exact same thing in the exact same environment. I felt like someone learning how to cross the road for the first time without any zebra crossings. I needed my hand held, and I downloaded all the IDES till I was able to in my own time reach the conclusion for myself that it really did not matter. My favorite is Visual Studio Code by the way.
Another issue I have is with online tutorials which begin by selling you the false hope that anyone can follow through with the framework tutorial they're on if they know just the basics of a language like JavaScript, and just somewhere in the middle of this very basic introductory project video, they switch up on you and start coding complex things without really explaining. Like you're in on whatever secret they share with their code base. It can be annoying especially when you set that tutorial as your target for completion that day and so you're left with the choice of studying those concepts separately or looking for another tutorial with easier things to learn. If you have a limited amount of time in a day, this can actually be infuriating. No one wants to not have the satisfaction of completing something and feeling productive for the day.
A source of frustration can be speakers who speak too fast and refactor everything just as you're finally getting to see how the code connects, especially when they could have done that from the beginning. It can be very dull to copy and paste code from different files when the screen you're watching from has the tutor scrolling up and down with no breaks for you to see what the hurry is. If you're watching from YouTube where you don't have the option to rewind 15s, you already know you're most likely going to have to watch a 3 min video section for 9 mins and that's no fun.
Another thing that can be quite annoying is not seeing a GitHub
repo attached as a link to an online tutorial. More and more people are kind enough to share the finished code for you to compare and in paid courses, of course you get that. But it hurts to be in the middle of a six hour tutorial and not find the files necessary to check where you made a typo.
Finally, courses that are not regularly updated can be an unpleasant experience. You just do not want to spend your time dealing with deprecated error messages or warnings because the course you're following from 2018 has not been updated since then. One solution is to always look for the latest books and videos on whatever you want to learn and then supplement it with ones dated back to see what legacy code you still need to understand.
What about you? What frustrations do you experience with being a self taught developer?