Книги, это все конечно хорошо, но без практики ты далеко не уедешь. Очень рекомендую участвовать в соревнованиях по программированию, одна из лучших наших платформ -
Codeforces. Там несколько раз в неделю проходят контесты, потом выкладывают разборы задач. Можно тренироваться и виртуально уже на прошедших контестах, можно просто на отдельных задачах.
Прокачивается все: и знание синтаксиса, стандартной библиотеки языка, структур данных, алгоритмов, и умение быстро оценивать-понимать-декомпозировать-решать поставленную задачу.
Имхо, для человека, называющего себя программистом, эта штука обязательна. Как чистка зубов.