The trick is to always think about the result you'd like to achieve and then learn new skills and processes in order to build that result.
When I found a new technology or library, I always picture that cool thing that I can make. I always dream on how amazing that idea will be if I just knew how to use that new technology.
I always have some great idea that I wanted to build, but I didn't know how. After constant searching, I realized I needed to learn the tools. So I learned them, and slowly pieced together a workable prototype of my idea.
I didn't learn by understanding functions or variables. I didn't learn by knowing algorithms. I didn't care about them at all. I learned them along the way as I used them to build my idea. Whatever I needed, I learned it.
It's really simple.
Can you do it?
Think about why you wanted to get a smartphone? Before owning one, you probably dreamed about how you can watch videos while you commute to work. Or how you can play the fancy cool Fortnite on iPhone.
But imagine if you didn't have the money to buy an iPhone. What would you do? You'd think of ways to earn and save money to eventually be able to buy the iPhone. So you work towards that. You don't earn money just for the sake of earning money. You're working towards the dream of playing Fortnite on the go with your friends.
That's exactly the same process you should take to learn any new thing.
Focus on what you want to achieve, what you'd like to show and who you'd like to please, then find the missing pieces by learning what you don't know. If you like what you learned, you'll keep using it and eventually get better at it.
This is how you find your passion. This is how you become the master of what you do.
P.S I used this technique all the time to learn anything new. And I've used it to teach myself to:
- Build a dynamic 3D backdrop for a drama play in Cinema 4D from modeling to rendering.
- Learn Rhino3D before the semester's class actually started because I wanted to make my own version of Xbox.
- Learn Blender3D because I can't afford any 3D polygonal modeling software and I needed to model 3D products.
- Learn SolidWorks because I can roll back the history so I didn't have to worry about how bad my modeling was. I loved the fact that I can change radius whenever I want.
- Learn Photoshop even though I hated it in the beginning because it wasn't as easy to understand as Paint Shop Pro, but Photoshop was the leading industry standard and if you know it, you'd be god. So I learned it and never went back. Eventually Paint Shop Pro died and I was glad I jumped ship earlier.
- Create packaging and poster designs with Illustrator at an internship because that was what they used and I became super proficient at using it. I soon became the go-to person for any Illustrator question.
- Build a driving simulator, because I wanted to teach myself how to drive a manual car by practicing in Gran Turismo 5 on PlayStation 3. I ended up test driving a brand new Scion TC and purchased it without any road experience driving a manual car in real life. I had no accidents and my clutch dance was as smooth as butter (mentioned by my passengers that they really liked my gear shifts)
- Learn to cook because eating outside was expensive and I had the bonus of pleasing my loved ones. The side effect was I became super picky about quality food.
- Swim in the deep water because I wanted to swim with the fish in the blue ocean but never got the chance to practice swimming during my childhood. I learned to tread, float and feel comfortable in the deep water from YouTube videos.
- Learned to speak and understand a little Japanese because I like Japan.