Если есть желание научиться программированию - то просто берешь и сам начинаешь учиться. К сожалению, большинство платных курсов - пустышка, даже в ВУЗах большая часть тоже. Все необходимое есть бесплатно в сети. В целом это выглядит примерно так: ставится простая задача и с помощью гугла, мануалов, статей, вопросов на форумах и прочего ищется её решение и применяется. Например, написать скрипт автоматизации своей ежедневной деятельности, сделать простой калькулятор, задеплоить статический сайт на сервер, и т.д. и т.п. от простых задач к сложным. В процессе решения задачи параллельно изучается как именно и почему именно так оно делается, а не иначе. Ну и конечно следует изучить матчасть: как работает ПК, процессор, сети, как создаются и работаю сами языки программирования - понимание базиса в значительной степени облегчает понимание почему именно так, и не иначе. Зачем нужна куча разных видов переменных, типов, классов, в чем отличие процедуры от функции, а абстрактного класса от интерфейса и прочее. Самостоятельное обучение - это ежедневная рутина любого успешного программиста, т.к. каждый день выходят новые библиотеки, фреймворки, новые версии ЯП, постоянно приходится читать кучу документации, проводить исследования, анализировать и много-много всего прочего. Ощущаешь себя бегущей Алисой, только чтобы оставаться на месте.