Как и у большинства людей у меня есть желание "о, я хочу сделать это и быстро!". Делаешь, не получается. Гуглишь, копипастишь, иногда вникая, пашет. Ого! Да я программист. Отключаешь гугл, открываешь чистый лист - не программист. Блин. Книжка. Какая? Их сотни. Эта? фу. Вот эта? Уснул. Вот эта? Читаешь.. читаешь.. прочитал. Открываешь чистый лист. Бля, я что читал-то, как это сделать? А вообще в каком порядке учиться? Вот так как-то всё.
А насчет базы программирование, я как считаю, всё же надо знать, что такое процессор и память. Чем меньше для тебя магии в коде, тем проще становится. Я для этого немного узнал цифровой схемотехники(в вузе было и сам интересовался), ассемблер ну и Си немного.
Если чисто низкоуровневое изучать, рискуешь года через 3 написать свои первые нормальные программы. Поэтому рост получается и в низком и верхнем уровне, т.к одно другое поддерживает