Since started my programming journey, I have been constantly learning new stuff. sometimes it feels extremely over-whelming, especially when I have to deal with a new domain of which I have little background knowledge in.

Over time I find out that I am most engaged in a topic when I have a very concrete necessity to grasp it.

If you find a concept you are having trouble to wrap your head around, try take a step back, ask this question: why is this thing created in the first place? what problem it is trying to solve?

Human brain is a superficial thing, it needs to find a purpose to function well. By formulating the question this way, you are giving it a purpose so that it can really connect with the problem at hand.