Я даже считаю, что это более правильный путь.
Программист в любом случае должен изучать новое через самостоятельное погружение и чтение документации, прохождение курсов за ручку с преподавателем этого опыта не даёт.
Можно, я живой тому пример. Правда кое-то платное у меня было, правда не совсем курс, а скорее сервис для автоматической проверки задач, но это скорее для своего удобства, можно и без этого. Но тыкнуть носом новичка в ошибку лишним никогда не бывает) И дисциплинирует, сервис то по подписке)
Если ты можешь написать программу, то ты программист. Так то смотри как другие делают, повторяй и вуаля ты умеешь это делать. Ну а как парикмахер становится парикмахером? Постриг кого-то, уже можешь значит. Вперед, для этого денег не надо. С деньгами проще, ты нанимаешь человека который за тебя прожует и подумает и в рот положит, но своим умом добытое развивает твой мозг, так что полезней.