This is a very general Question and cannot be answered easily.
The best place to start learning about something is by making your hand dirty.
As a general rule that I found it relatively easy, first build something even if it is at first from the UI. Then start adding functionality by code or with plugins. Continue understanding how small changes works and this will open all the stepping stones necessary for you to start building more complex operations and plugins.
Things to watch out are:
Overflow your self with information.
Taking as standard whatever someone writes (including myself!)
Time spent on searching to find answers. You invest at your self and your skils.
Don’t focus on the problem.