I write code and haven't had formal training in cs. My approach is pretty simple.
It can be complex
The only sensible way to eat an elephant is, one small piece at a time. Accept the fact that you can't take it all in at once.
There is SO much to learn, that it doesn't make sense trying to learn everything at once. Try to understand in detail things around the immediate problem you are trying to solve. This will give you context, and that context will give you a deeper understanding of what the concept is rather than an intellectual exercise.
Understanding the concept of framework is so much more easier to understand when you've worked on CodeIgniter hands on and made a simple project on it.
Something that's very general and basic is concept of OOP and how it works in the language you are working with.
Read relevant(to what you are working on) technical blogs/stackoverflow/books and slowly you'll start picking up on stuff here and there, this will build incrementally and probably in a years time, with lot of coding/reading/understanding behind you, you'll know better.
If you come across something new, open its wikipedia page,
define:"the concept" google what does "the concept" mean, open 5 tabs from the results and open youtube, search for "the concept tutorial" and you'll get to know what you are dealing with in no time.
If nothing works, search for, and then ask on StackOverflow.