Derick makes a good point in this article. So many devs like to shirk the responsibility of dealing with people. I think it's what separates devs from being technicians and engineers.
I don't just blame developers though. The industry and other people around the industry promote this idea. Job adverts like to advertise for skills such as:
This sort of advertisement promotes devs to concentrate on the minutiae of software development. I call these CV skills.
A good developer can learn any of these skills quickly enough without any trouble! When we are looking for developers we are looking for people that can communicate well, are enthusiastic and have a good grasp of good software practices and architecture.
The ability to look at a problem and decide how to solve it well in a manner that is elegant is worth a infinite number of heads down fools.
Clingers in the software industry have made a killing by keeping developers down and ensuring they obsess over CV skills. They promote themselves as the link between development and the client. That is a load of toss. Do they get it right, do they write specifications correctly still? Maybe some do but they are a middle man that has (fair play to them) created an industry. Good software developers should already be able to do this part.