I'm a self-taught programmer and theory is definitely my stumbling block. Also occasionally lingo...since my education is informal, there are sometimes things I haven't yet encountered that other people--particular CS grads--seem to already know.
I don't have any programming friends and so I also sometimes find it hard to keep up with a conversation that is using a large number of technical terms, as I have the mental overhead of converting those to ideas...it's not as natural as it could be with more practice.
I haven't read TAOCP but I have gone through a bit of SICP and I can recommend that. For slightly more practicality, I was doing it in Clojure, since that is more likely to be useful in the future than Scheme--for me, at least. The video course is on Youtube. I'd really like to get back at it and finish going through the entirety of it. Someday.