Выше верно замечено: учиться. Но есть и другой, взаимодополняющий подход: фигачить.
А именно, найти себе интересную задачу, которую можно решить программированием и плавно над ней работать. Главное, чтобы задача была интересной и тянула за собой. В результате будет сам по себе будет накапливаться опыт в программировании.
Я не знаю, как научиться программированию — у меня оно само как-то выучилось (и продолжает учиться). Про то, что мне было интересно, я читал. Писал программы для себя и для дела. В итоге изучил программирование, что и работаю программистом, и преподаю программирование в вузе. Хотя на программиста не учился.
Я считаю что тебе нужно выучить основы, после чего почитать и посмотреть те направления что тебе были бы интересны. И от этого уже решать какие языки учить.
спасибо