Programming/coding is third phase of traditional software development process. The real art lies in the second phase Software Design and that is job of system analysts and system designers.
well programmer is a sort of laborer who implements the system specifications as described/explained by system analyst and designer. I could have not realize it until a system analyst asked me to write a system specification of a small business and it took me write four versions in two weeks to design a correct abstract level use-case model.
If you say that programmers write code as poet write poetry , I would say the programmer write the most terrible poetry of the world