Смотря какой код. Под какие задачи.
Если вы мастырите костыль в провальном проекте, то каким бы элегантным код ни был, это будет в пустую потраченное время.(ИМХО) Если же вы разрабатываете часть или весь проект, который по некоторым качествам вам кажется перспективным(ну или как минимум не стыдно показать в портфолио), то без ментора (тимлида) грамотно решения не построить, пока у вас самого не будет достаточно опыта и знаний.
Дело в том, что просто грамотно писать код не достаточно.
Изначально необходимо спроектировать решение, подвергнуть его критике(желательно в команде или авторитетным специалистом со стороны), исправить недочеты и только затем приступать к следующему шагу, который все еще так же не является кодингом.
Выбираются инструменты реализации. Если говорить о веб-разработке, то это платформа для решения (ОС и ее сервисы), это разного рода библиотеки и заготовки (фреймворки\CMS), и затем уже язык программирования.
Принимая к учету архитектуру проекта, особенности среды исполнения и имеющиеся готовые решения(повторюсь: библиотеки, фреймворки, плагины,...), уже становится понятным где и что необходимо дописать, переписать, написать с нуля..
То есть, с самого нуля чаще всего, проекты не поднимаются. Мало сейчас встретишь в серьезной разработке, что специалист открывает C++, на втором мониторе notepad и понеслась. Все с нуля. Зачем изобретать велосипеды, если большие куски решений уже давно реализованы и оптимизированы. И лежат в открытом доступе (OpenSource) бери и пользуйся.
В любом случае, вот так, с наскока, не постичь всего "дзена". Но это не значит, что этого вообще никак невозможно сделать.
Наставник, ментор, он точно нужен. Без него никак. Без него процесс обучения займет очень очень долгое время, много шишек на вашем лбу и "усаженная" репутация перед теми заказчиками, на проектах которых вы тренировались и пробовали. Если у вас есть совесть, то и самооценка ваша пострадает. Зачем вам это?
А для начала, чтобы с ментором разговаривать предметно, можно брать и читать исходники публичных опенсорс проектов тех же. Изучать их. Не просто понять функционал, расшифровать алгоритмы, а задаться вопросом почему было сделано именно так и обязательно найти на него ответы. Почему был задействован тот или иной инструмент, сорс. Зачем разработчики вынесли те или иные функции в паблик, а некоторые классные, крутые и супер-полезные так и оставили в локал. И прочие другие..
Пробуйте строить свои, пусть для начала небольшие, проекты. Просите помощи у более опытных коллег в оптимизации структуры проекта\кода. Активно общайтесь со своим комьюнити на форумах. Как бы то ни было, но стилистику кодинга и ведения проектов вообще, вам сможет передать только человек. Не мануал. Не книга, хотя и без них никак.
В общем, ищите ментора, ментора ищите. Он ваш проводник в мастерство. Чтобы ему было интересно с вами возиться - отслюнявливайте ему часть прибыли с тех проектов, которые он будет курировать. Это приемлемые условия и честная сделка. Благодаря ему вы сможете взять и завершить проект, получить от этого прибыль, а благодаря вам его труды будут вознаграждены в ден. знаках.