Хочу рассказать свою историю. Я сам пошел на курсы, до них изучал теорию по книжкам(Perl, Python, PHP). Изучив синтаксис начал пилить свой коммерческий проект. В итоге промучавшись год или два, я понял, что знание одного синтаксиса мало. Весь код превратился в кашу, работать над проектом было невозможно, хоть и заложил какую-то модульность. Возможно мне надо было пойти во фриланс, как вы хотите. В общем пошел на курсы с определенной целью: научиться правильно строить архитектуру приложения и устроиться на работу программистом. Видимо меня спасло то, что уже были кое-какие знания в яп, поэтому попал именно на те курсы, где учат как раз тому, что мне надо было: построение архитектуры, правильное выделение абстракций, работа с моделями данных. Создатели этих курсов сами являются работающими программистами, и кроме своей образовательной платформы пилят кучу других проектов. Это школа
https://ru.hexlet.io/. Не знаю подойдут ли вам они, наверное материал будет излишним для фриланса. Но я не жалею. Примерно на половине до конца обучения устроился на работу программистом и довольно быстро поднялся до мидла.