I would say that people "initially suck at programming" because most people
a) think and behave quite illogically in their day to day lives
b) express themselves in generalities and don't think in enough detail (which makes sense when your primary interaction is with other humans, it simply isn't necessary) to communicate their ideas to the degree that programming generally requires.