One of the major problems i grappled with was trying to know everything, and this cost me alot of time. I always felt deflated when i spoke to professional developers, the seemed to know everything, but in retrospect,I understand they stuck to a certain path and were not distracted with any new tool that came out.
I've learnt that being a jackyln of all trade does nothing for anyone. Having a general knowledge of other things is a great way to go
When you are learning a new technology, whether you are learning to write your first programming language, or just the latest framework, you go through this uncomfortable phase where you know that the code you are looking at is doing this THING but you don't understand HOW exactly it's happening.
This is a normal part of the process of learning a new technology, and in fact, it's a critical part of the process.
You see when you encounter a new programming language part of your learning process includes learning to train your eye. The way to train your eye is to read a good deal of code even when you don't totally understand what it's doing.
Most importantantly be kind to yourself! its a marathon not a race!