Hi, Bee. Yet another programming management issue? Well, here's my two cents' worth.
First: What LEVEL of programmer are we looking at? Junior, journeyman, senior, guru, demigod? Because the answer to YOUR question depends on the answer to MY question.
Junior programmers are supposed to be able to take direction and to generate some amount of relatively simple code. Often measured via LEFCGPD - lines of error-free code generated per day. Such persons don't need too many interpersonal skills (yet). However, having had some rather ... interesting ... parties working on projects in the past. That part about taking a bath is NOT necessarily tongue-in-cheek. The really geeky young coders often have yet to develop good personal hygeine. They need to be reminded that in order to NOT be a "lone wolf" programmer, folks need to be able to keep their lunches down while working in the same room as the junior programmer. And believe it or not, I've have a couple of kids who needed to be advised about such matters. Autonomy is not an issue for junior (or novice) coders.
Journeyman programmers should have more items in their arsenals, more experience on "how to" for lots of different things. They should be capable of taking direction and working with teams in a semi-autonomous manner. The idea is that to raise one's level, employment-wise, one must raise one's level of experience as well.
Communication skills are absolutely mandatory. For junior types, the ability to take and understand direction is a true requirement. For more senior types, the ability to give clear and concise directions becomes important.
The more senior a person you want, the more they must bring to the table. A senior programmer had better understand a lot of different ways of expressing the same concepts so as to choose the best fit for the task at hand. Some raw design skill needs to creep in here, too.
Yout must not forget that as projects get more complex, you will need folks to be the guiding hand for each facet of the messy projects. This is something a wet-behind-the-ears adolescent geek is unlikely to do right the first time. You need veteran programmers for many projects just because they CAN lead the young geeks.
So, what qualifications do you need? Programming is only the beginning.