Выдержка из моего другого ответа:
Первое.
Читаешь следующие:
Как базы тебе хватит, дальше ты найдешь правильный путь.
А правильный путь такой - понять как работает компьютер, с уровня архитектуры, до операционной системы. Обязательно работай с Assembly (начни с MASM). Не надо верить в сказки о том, что "На тебе JS и через 5 месяцев ты будешь получать 30-80К", да получать то мб и будешь, только выше ты не прадвинишься и потом поймешь, что приобрел плохую базу и этот комментарий.
Второе.
Практика - это важно, рекомендую тебе Python 3.X.X, только имей введу, для тебя самое главное это не сам Python, а просто отработка на нем алгоритмов, структур данных, понятие парадигм программирования и т.д.
Третье.
Математика. Да, кто-то там тебе опять же расскажет сказки, что математика типа не нужна, но это лишь доля правды: линейную алгебру, матлогику, теорию графов, теория эллиптических кривых - это твоя база, без неё не стать программистом
Существует: создание моб. приложений, создание десктопных приложений, разработка каких-то вычислительных программ. ( на самом деле их больше, чем я написал )
Сейчас очень популярен веб, т.к. можно создавать с помощью этих технологий и мобильные и десктопные прмоожения