What about evolution? All known life is algorithmic? Hence, given enough time, programming (coding) should be easy enough so that it could be automated. Given a suitable environment it could even spontaneously just happen. No?
Design is harder then coding because one has to define the constraints and requirements in which the program has to work.