I wasn't a fan of
Thinking in C++ - I found the fundamental concepts are glossed over to make room for the more advanced stuff. However, if you've programmed before, you should be fine with them.
A lot of us are self-taught, and we're nothing special. It takes hard work, discipline and a total disregard for sleep, but it can be done.
