To answer your question i will just tell you my experience: Got some basics from youtube Started to read some manuals Decided to make a little project to understand my level and get some experience When i didn't have a clue on how to program a specific functionallity i would look out some examples Repeat! Reapeat! Raise skill Level And so on