Выучиться программированию самостоятельно можно. Можно самому выучить абсолютно любой язык программирования. Лично я знаю нескольких программистов-самоучек, причем их знания очень качественные.
Но проблема в том, что этот путь подходит не всем. Многим выучиться самостоятельно будет крайне сложно. Основная проблема — не хватает запала, чтобы перейти на следующий уровень и человек постоянно скатываются к началу, а потом желание учить может пропасть вовсе. Таким людям я все же рекомендую учиться у кого-то (на курсах, у менторов). Например, у нас в FoxmindEd 😉
В любом случае, где бы вы не учились и какими бы хорошими курсы/ментор не были, обучение предполагает огромное количество самообучения. Вопрос только в процентах. Да, вы можете пойти на курсы, где вам все разжуют и в рот положат. Но в этом случае вы не станете программистом. Потому что программист — мастер спорта по гуглению. Если вы не умеете очень быстро гуглить — вы хреновый программист. Поверьте, 99% информации, которая вам понадобится в программировании, уже есть в интернете — ее нужно только найти. Придумывать все заново совершенно не рационально, легче найти, как другие люди справились с этой задачей. Раньше какое-то время в софтовых компаниях пытались перекрывать интернет, но потом поняли, что программист без интернета теряет 70-80% своей производительности.
Как я отношусь к самоучкам? Даже если вы учитесь на курсах, вы отчасти все равно будете самоучкой. Но люди, который могут с 0 выучить самостоятельно язык программирования – они круты и я определенно им завидую.