Ну, опыт - это разумеется. Все мы раньше говнокод писали, были джунами на первой работе. И я в бывалые времена пару проектов завалил, конечно... Я учился у архитекторов, которые вторую версию мадженты писали, потом переехал сюда - и оказался самым сильным по хард-скилам.
У бывшего сотрудника подтянул функциональное программирование...
А вот сейчас - не у кого учиться - и в этом проблема, что все остальные вокруг слабее меня...