Developers are not known for their social skills. They're more characterized as geeks, centered around their coding and dealing with complex algorithms and problems to solve. This is not only depicted in Hollywood movies but also promoted within the community of developers itself, and those surrounding developers. Managers often say "Oh he's a developers. Great at cranking out code, but you can't really talk to him".
Although it seems harmless and fun at times to characterize developers in this way, it is actually a source of many problems when it comes to working on teams and dealing with customers. By somewhat justifying this kind of behavior, all we're doing is promoting it, saying "it's OK".
Yet my over 20 years experience in software development has shown me one thing if not anything else: lack of good communication can kill a team, can kill a product and can kill a company. Having dealt with hundreds of developers, managed many teams and started my own company, I have seen how team moral can be killed when communication is hindered. I have seen how products can fail when customers are ignored.
Learning to communicate with team members, with customers, being in touch with those you are working with, with those you are working for is fundamental in being successful. Developers needs to learn how to be social. Because only then, can communication flow freely and properly.