Самое сложное - понять что вам нужно, определиться со сферой, в которой будете что-то делать, а дальше, если есть усидчивость и сильное желание, все пойдёт само собой.
Я бы сказал, что самое главное для хорошего программиста – это внимательность и обстоятельность мышления. Многое зависит от мелких деталей, которые необходимо удерживать в голове во время работы над программой.
Первое, что подумал, когда увидел вопрос - любопытство!
Самые главные качества для новичка - терпение, внимание и усидчивость.
Ну и большое желание этим заниматься, даже у очень опытных программистов бывает период, когда пропадает мотивация
В программировании главное желание и наличие хоть элементарной логики. Хотя чтобы быдлокодить сайты php даже элементарной логики не нужно....