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