Do developers need to be good communicators?
Programming and software engineering attract introverted, introspective types of people. This work doesn’t require much social interaction, so it’s natural that it would attract those who aren’t comfortable communicating.
Why? Let’s lay out a few reasons:
- They spend all day “talking” to computers in various languages, holding vast programs and datasets in their heads, and solving interesting problems. But then humans want to talk about the weather and sports. It can be a rough transition to the real world (and mind numbingly dull, in comparison).
- They think of people as “messy” (emotional, inconsistent, irrational). Computers are generally not. Again, it can be a rough transition, especially for those somewhere on the Aspergers/Autism spectrum who crave order, consistency, and rationality.
- They’re judged on their code quality not their ability to sell/bluff/lie/mislead/etc. In other words, programming tends to be a meritocracy, while the rest of the world feels more like high school (i.e. highly political, rewards do not always go to smartest/best person). Show me the code, and I can tell if you’re full of BS or not — this is harder in non-programming activities.
But the thing is, though many programmers don’t consider themselves “people persons,” being a great programmer requires strong communication skills.
And in our company we foster our developers to be good communicators. They should be talkative and able to discuss any topics with customers.
But where do we find the balance between those who have the soft skills of communication and those with the hard skills of engineering?
That’s where the “T-shaped people” (who have different skills and can play multiple roles in the company) come into play. People who can communicate well and meticulously complete a technical project are in high demand in companies like ours.
Communication is a skill. Knowing how to behave in particular scenarios and conversations is a skill. Skills have to be developed and practiced. Once you have learned communication skills, they are fairly stable, and apply to multiple situations.
So, if one does not invest in communication skills before they start programming, the chances that they will later are rather small. Life has to throw them into an unusual direction to force them to learn those skills. Then, they often apply the programming skills to communications and learn those skills well, but in a somewhat different way from classical communicators. For example, they can be great communicators, but still shy away from topics like weather, sports or movies.
For a good developer to become a great developer, he/she should learn to communicate. Though communication is not a part of a programmers’ every-day job, it is a huge advantage for a tech person to sharpen this skill. And for the sales people out there: know your audience.
Inna Mis is a Project Manager. She has a bachelor’s degree in computer science and had been working for 3 years as a UI Engineer before joining Speed and Function.