Well, obviously some programmers are poor communicators, just as some programmers are good painters or poor singers. But Leon Bambrick (Secret Geek) says "the better you program, the worse you communicate." And he means it. Basically good programmers have a number of habits that work well when talking to (or listening to) a compiler, but hurt you when you're dealing with people. And the comments dig in to the "how can I get better?" part of the problem. Worth a read.