Раз уж ты решил стать программистом, то советую изучить после С++ алгоритмы и структуры данных по книге Роберта Сэджвика . Если знаешь английский то вот видео курс Сэджвика с coursera
rutracker.org/forum/viewtopic.php?t=4294269
Сэджвик крутой препод - он учился у Кнута и первым опубликовал концепцию структуры данных red-black binary search tree, хотя придумал такие деревья кто то другой вроде бы.
Там правда Java, но разница между Java и С++11 вплане возможностей синтаксиса очень мала.
Главное понять как это работает и как этим пользоваться.
Если английский не знаешь, то есть русские видео курсы(в русских курсах не разбирался, поэтому не подскажу какие выбрать).
Ещё советую заняться спортивным программированием. Хотя бы на время. Для первоначальной прокачки алгоритмического мышления отлично подойдёт.
Это для базы.
А чтобы найти работу нужно определиться со сферой деятельности и языком программирования. Тогда сразу узнаешь что учить. Посмотри какие программисты востребованы, выбери что больше нравиться и учи, обычно в требованиях к вакансии указано все что должен знать соискатель. За год-два вполне возможно доучиться до junior в какой то сфере.
С++С#PHPJavaiOS(программирование под iphone)Android