Generally speaking, I would say 'yes', but I think it depends on what kind of programming one is doing. If you are trying to construct 3D graphics from non-mesh primitives, or writing games as a solo-developer, for examples, then creativity may be stretched to the max. I guess much coding, however, simply implements more-or-less standard solutions/algorithms which may require some tweaking. Personally, for someone like myself who is a freelance/amateur I find programming very creative as I enjoy finding my own problems to solve. I also do odd small jobs for clients, which leaves the nature of the solution largely open, and so I find this quite creative too. I have no experience of working in a team of developers, but I imagine that breaking work down into managed chunks and distributing these to several devs probably takes much of the creativity out of the hands of the coder - in other words I imagine that it becomes more of a chain-production process. Correct me if I am wrong.