Привет.
На Хабре часто обсуждают новичков, чему их надо, а чему не надо учить, о вреде плохих практик и антипаттернов проектирования и о пользе совершенного кода. Наверное, это правильно.
Однако фактически в это понятие включают три разные группы айтишников.
«Зеленые»
Новички в классическом смысле — люди, которые недавно в профессии, почти или совсем без практического опыта, без глобального видения и знания узких мест. Диапазон времени, на протяжении которого молодого специалиста могут считать таким новичком, весьма широк — фактически, до тех пор пока описываемый отстает по опыту и знаниям от описывающего, он будет зеленым. Даже если другие новички считают его гуру.
Тут мы подходим ко второму значению.
«Поверхностные»
Это, очевидно, люди, интересующиеся описываемой областью в незначительной мере, имеющие неглубокие знания без особых тенденций к повышению квалификации. Причины такого положения дел могут быть различны: от лени подчиненного и нетребовательности начальства, до отсутствия задач, требующих углубления. Примером будут всевозможные «побочные» обязанности, часто навешиваемые на новичков из первого пункта. Да, даже через много лет многие из нас смогут поправить запись в AD, заправить принтер или рассказать про огромное влияние мета-тегов на ранжирование сайтов в поисковом индексе, но если ни в одной из этих областей мы не работаем плотно и постоянно, навыки так и останутся на уровне новичка. При этом поднимать конвейерные сайты на бесплатных движках можно научиться за пару месяцев, а потом зарабатывать этим годами.
Но к таким специалистам понятно какое отношение.
«Дилетанты»
Принципиальное отличие этой группы от предыдущей в том, что ее представители нам не нравятся. Они пишут едва дышащий, нелепый код, который нам потом поддерживать и рефакторить бессонными ночами. Казалось бы, это просто другой подход к работе — плохо, но быстро (вполне оправдывающий себя, кстати). Но и это периодически называют «поделками новичков». Хотя код, который нам не нравится, чаще всего написан специалистом долго работающим и осознающим свою деятельность, то есть, не подходящим ни к первому, ни ко второму пункту.
С другой стороны
Во многом из-за этой путаницы в понятиях бывает трудно найти статью или руководство именно к своей задаче. Зеленому новичку нужен базис, практические примеры — чтобы вообще понимать, зачем это все — и описание низкоуровневых механизмов, которое другим группам давно неинтересно.
Поверхностным обычно уже не нужно объяснять, зачем и почему, но максимально важно узнать, как именно решить уже возникшую задачу. При этом лучшие практики и решение проблем в перспективе больше раздражает, потому что повышает затраты на простую фигню до совершенно неоправданных величин.
Если же говорить о дилетантах, то они представляют собой некий промежуточный вариант: им интересно, что еще можно выжать из небольшого и зыбкого объема усвоенных знаний, но расширять его они не хотят, поэтому ни базовых алгоритмов, ни прикладных решений не надо. Мотивирующие тексты и истории успеха — отличный выбор.
Чтобы не показалось, что я отношусь к дилетантам пренебрежительно, уточню, что они, чаще всего, аккумулируют очень хорошие деньги, и нередко меня посещает мысль, что я и сам не прочь поменять свои поверхностные вялотекущие абстрактные сайд-проекты на энергичность и видимый эффект работы с тем, что уже имею.
… так или иначе, я не вижу особого смысла беспокоиться о «плохих практиках» и вредном влиянии на юные умы. В известном смысле, все предопределено, и тот, кто хочет развиваться, найдет способ, а «испорченный» выбрал свой путь задолго до этого момента.
Автор: lutov