For any non-trivial skill, starting from scratch, expect to spend a lot of time practicing. Finding a mentor helps. Reading books and articles online helps but there’s no substitute for practice, preferably in something resembling a real-world environment. I find I learn new things a lot faster when I have something at stake, like a deadline, a contract, or my job.
I think this idea of having a project or being immersed in a situation really helps you learn a skill faster.