do you need to be smart to be a programmer?
Depends on what kind of programmer you want to be. But most of the times, no, you don't have to be too smart to create anything you put your mind, you just need time and motivation. And yes, you can be really good at programming with a lot of practice and not really smart.