I watched many tutorials on YouTube but they didn't really explain much. It was mostly just a montage of them coding.
Step 1: Learn the basics of programming. (any language will suffice, but it's easiest to go for php) Step 2: Look at other plugins Step 3: Code your own plugin
Learning Websites are a waste of time honestly. Try understanding regular OOP shit (instancing etc) then you will understand what is happening in people’s code a lot better.