Внесу и я свою лепту.
Всё зависит от того как ты вообще готов учиться.
Поясню:
Дело в том, что есть те, кто учится по книгам (и весьма успешно), а есть те, кому по ним тяжело и максимум они используют книги, как справочники.
Зато вторые прекрасно воспринимают то, что увидели. Тут конечно видео-уроки выходят на первое место. Потому что буквально за 3-4 месяца можно серьёзный пакет знаний приобрести. При этом он будет структурированный и поэтапный. Но нужно несколько авторов посмотреть. Потому что в видео важен не только сам материал, но и тем, интонация и практические примеры. Потому как бывает пролетаешь по всем урокам с пол пинка. А бывает ждёшь, ну когда же диктор уже закончит.
Опять же это не исключает книг. При этом к видео всегда можно вернуться и тоже использовать эти уроки как справочники.
Но есть ещё метод «подмастерья». Т.е. когда устраиваешься на работу в какую-нибудь программерскую контору или студию чуть ли не забесплатно (по крайней мере в Ставрополе я знаю пару программеров, которые именно так начинали свою карьеру). Тем самым ты находишся в комманде опытных специалистов, с которых постигаешь опыт. За 3-5 лет сам вырастишь до мастера.
Ну и во всех трёх случаях очень важно терпение.