Одиночный фриланс и командная разработка - немного разные вещи. Если вы обращаетесь к человеку, чтобы он доработал что-то в одиночку - это одно дело. Наверняка требования не очень формализованы, ему надо додумывать и ,главное, у него нет требования к "поддерживаемости" проекта. Ему главное быстрее получить любой ценой результат и получить свои деньги. Но даже если он поддерживает проект в одиночку, он может бесконечно строить систему на одному только ему известных принципах, и это будет ему на руку только, т.к. с этой иглы очень трудно слезть.

Другое дело - командная разработка. Когда находить общий язык надо уже сейчас, а сложность проекта необходимо сохранять такой, чтобы, после того как команда уйдёт, его кто-то смог поддерживать. Я тут под г... кодом не подразумевал личное ощущение. Есть общеизвестные принципы, которые уже десятилетиями разжевываются. В 10-20 терминах их можно описать. Новичок часто не знает их, либо не умеет использовать. Вопрос тут не в том, какой он плохой код пишет, а в том, посадить его на рутину, либо дать ему расти. И если в первом случае все ясно, то во втором момент спорный, но я склонен все-таки верить marker'у.

А про то, что толкового найти очень трудно - охотно верю. Деньги все хотят, а учиться - немногие.