Здравствуйте!
Я не С++ программист поэтому не на многие вопросы смогу ответить.
1) Я не могу понять какие книги мне надо прочесть.
Открываем Ozon и вводим C++ смотрим свежие книги с хорошими отзывами. Есть так же издательство Питер и ДМК пресс.
2) Я не могу понять как мне знакомиться с существующими библиотеками и технологиями.
Зависит от области (Для сайтов одни библиотеки нужны, для написания драйверов другие, правда с сайтами мне кажется С++ неподходящий язык программирования, но это мое мнение). Можно посмотреть на HH.ru какие вообще требуются программисты по C++ что что они вообще должны знать. Посмотрите 10-20 вакансий и у Вас появится список топ навыков которыми должен обладать программист.
Если либа очень популярна, то у нее должна быть хорошая документация, попробуйте поделать свои проекты использую популярные либы.
Как правило хорошие знания приходят с хорошим проектом. Очень часто бывает что прочитал и понял все на 100%, начинаешь делать проект то там, то тут засада.
3) Я не могу понять что я не знаю, чего мне не хватает.
В программирование нет такой отметки когда можно сказать, что все теперь я точно все знаю. Постоянно все меняется и выходят новые тулзы. Вам нужна книжка по основам, по паттернам проектирования, дальше уже смотреть область которая Вам больше всего интересна.
Даже если я захочу пройти курсы программирования, у меня в городе их просто нет. К обучению по интернету отношусь скептически.
Курсы курсам рознь. Если с английским все хорошо то можно посмотреть курсы
https://www.edx.org/ (лекции от университетов Гарвард, Беркли, MIT)
https://www.coursera.org/