Вообще на мой взгляд для успешного становления программистом, в первую очередь, необходимо иметь определенный склад ума, известную долю упорства, настойчивости и решительности, достаточное количество свободного времени.
Раз в копилке уже есть инглиш в достаточной степени, чтобы понимать текст и устную речь, то это огромный плюс.
Инженерный склад ума тоже огромный плюс.
Для начала, какой бы язык не был выбран, придется научиться обрабатывать данные, т.к., в конечном счете, все программирование именно к этому и сводится. Для этого необходимо освоить алгоритмы и структуры данных. На практике нужно зарешать сотню-другую олимпиадных задачек по информатике. Для тех кто изучает JavaScript я рекомендую сервис кодварс.
Какое бы направление не было выбрано, придется усвоить огромное количество контекстов и научиться быстро находить информацию, ответы на вопросы, примеры кода и пр. и пробовать, пробовать, пробовать. Чаще всего ничего не будет получаться ни с первого раза, ни со второго, ни с -дцатого и нужно иметь достаточно упорства, чтобы прошибать такие ситуации и добиваться результата не смотря ни на что.
При должном упорстве уже через 6-9 месяцев в таком режиме (5+ часов в день, каждый день) накопится достаточно навыков и знания, постепенно будет получаться все больше и больше.
Если вдруг есть желание изучать JavaScript, то я могу придать некоторое ускорение в нужном направлении. :)