Programming suffers from lack of timely feedback. It takes a long time for bad design to cause adverse effects. So one can only become a good programmer if one acquires good values from some other source like religion and then one applies those values to one's code to generate one's own timely feedback.