Думаю тебе стоит погуглить "
Эффект Даннинга — Крюгера".
Ты именно ему и подвержен в данный момент. То есть ты только начал, сделал первый шаг, он оказался удачным и ты сразу же возгордился, начав считать себя "крутым" специалистом. Это видно по тому что ты пишешь и как, да и по самому вопрос.
Хотя код в чужих проектах, с которыми мне приходится работать в разы хуже моего и это еще раз подтверждает, что на фрилансе работают одни неучи и некомпетентные специалисты..
А с чего ты взял, что чужой код, который видел ты, хуже твоего? Возможно он тебе не понятный, да, но не факт что хуже. Я в своё время, когда только начинал, тоже такое думал часто. Сейчас даже стыдно вспоминать то время.
Самый лучший способ развиваться, это работать в команде. При этом ещё и общаясь с командой, а не просто безмолвно пулить в общий репозитарий.
Странно, что вы сказали о своих наработках и фреймворках, которые используют фрилансеры. Я не считаю это хорошим подходом, так как это велосипеды, которых должно быть как можно меньше в нормальном проекте.
Вот один из примеров новичка. Обычно у них две крайности: писать всё самому (от ОС до фреймворка); вообще ничего не писать используя сотни готовых решений. У тебя второй вариант, порой решение кроется в 2-3 строчках кода, но новичок качает здоровенную библиотеку или целый фреймворк. При этом не редко бывает, что новичок берёт готовый фреймворк, решение задачи в 2-3 строчках кода в вызове базовых функций этого фреймворка, но нет, он будет искать отдельную библиотеку, так как почитать документацию по фреймворку не его.
Если убрать тот пафос который ты набросал в описании и комментах, а ответить только на заголовок: Решать больше коммерческих задач, участвовать в командных проектах, решать более сложные задачи(повышать сложность от проектов к проекту), учится и работать.