Вообще да, потому что самообучение это основа всего. Курсы и другие инфоцыгане должны давать вам ответы на вопросы. Вопросы должны возникать в ходе обучения. Если вы не обучаетесь, то никаких вопросов у вас быть не может. Курсы это на тот случай, когда вы не смогли полноценно обучиться некоторым деталям либо вам нужны комплексные знания либо их закрепление.
Но курсы никогда не дадут вам того результата, который они обещают. Хотят тут могу немного солгать, потому что есть курсы, которые обещают трудоустройство, и это важно! Есть разница между курсами, которые обещают что: "После наших курсов вы сможете смело написать в своём резюме, что вы претендент за з\п 100500 долларов в час!". Хоть сейчас пишите, толку не будет, только деньги выкинете впустую.
Другой момент, когда вам нужно комплексно и быстро обучиться чему-то и иметь базу. Да, для этого есть интенсив курсы либо онлайн курсы/уроки. Да, они есть и бесплатные (Онлайн), вопрос в технологии и за сколько продают знания, опыт работы с ней.
Но получить полноценные опыт, который вы сможете применять и сказать, что вы там очень круто - это невозможно. Почему? Тут даже курсы не помогут. Вам нужен наставник, либо какой-то друг/коллега/знакомый, который сможет дать вам задачу и показать направление движения, куда вам нужно двигаться и что учиться, правильный ли вы сделали задачу или нет, над чем стоит поработать. Это всё берётся не с потолка и не приходит само собою, это обобщённые практики на базе опыта, которые вы не сможете получить просто так. Да, и курсы вам тут не помогут. Они дадут вам общие знания для начала вашего пути, но никак не то что нужно для работы.
UPD: И как говорилось в других ответах, всё зависит от вас. Программирование это та сфера где вам нужно учиться самому всегда и всего. Если вы этого не умеете и сможете так делать, значит это не для вас. Курсы это всего лишь приманка на деньги для тех, кому программирование не под силу, только поймут они это после того, как потратят целое состояние на обучение на курсах.