Я бы задал этот вопрос иначе: «Какие опасности подстерегают новичка в программировании?». По моему мнению, самая главная из них — самоуверенность. Если новичок решил задачу с первого раза, то у него может сложиться впечатление, что все легко и можно расслабиться. Но это не так — наоборот, если задача была решена, надо работать еще больше, чтобы выйти на тот уровень, на котором возникают ошибки, или ты не можешь предложить решение. Иначе тебя обойдут те, кто не был столь уверен в своих знаниях, но много и усердно работал. С другой стороны, решение задачи может быть не самым оптимальным, но без стремления найти другие решения и «поиграть» с ними новичок может запомнить свое первое решение и предлагать его всегда, даже если оно больше не уместно.