I am not sure if programming is actually ‘smart’. I think it is coming to a point where you are just doing the most logical step in the problem.
I equated ‘smart’ as ‘witty’, ‘clever’ and ‘novel’. But problems become logic problems next in the pathway.
So far the only area where I find creativity is in web development where you can design cool animated movie-like interfaces.
The more worldly knowledgeable you are, the more you are able to solve the next step.