Read. Read a lot.
The information that you need to know about programming is inevitably out there, all over the internet, so if you want to fill the gaps in your knowledge you need to have a sincere curiosity about the field. The key distinction is that you're not going to know what you don't know or need to know until you find it, so the only way to find it is to look for it.
When I was getting started in the field I was in awe at the breadth of material there was out there to learn, but I was incredibly ignorant. Luckily, I had the curiosity to do a lot of googling, question asking, and searching for classic books in the field. When I first started reading not everything made sense, but with time all of the puzzle pieces came together into a greater understanding.
Eventually, once you've read and understood enough, you will make the shift from 'what don't I know' to 'I want to know about [x]'.