Терминологическая неоднозначность.
Программировать в смысле "писать работающие программы" самостоятельно можно. Курсов в интернете достаточно, прямо пошаговые ютьюб-ролики. Если что-то не выходит - пойти на форумы и спросить(могут и обосрать, но не все идиоты, найдутся и нормальные люди). Требуется настойчивость и нацеленность на результат. С практикой все получится. Есть платные курсы, эта отрасль в состоянии бум-роста, на любой вкус, цвет и кошелек. Они снимают нагрузку, уберегают от распространенных ошибок. Очень нужен английский, очень нужен, учите заранее если еще не владеете. Так формируется то, что очень востребовано на рынке - добротный исполнитель, который получает четкие задачи, аккуратно и в срок их выполняющий.
Программировать в смысле "стать востребованным профессионалом, который сам выбирает где работать и зашибает кучу денег" скорее всего нет. Требуется много чего помимо умения писать программы на каком-то языке для этого. Борис Державец в своем ответе очень хорошо описал этот аспект вопроса и как он решается.
А какие ресурсы вам больше всего помогли освоить Python?