4 Ways Programmers Can Improve Their Communication Skills
Can you hear me now? Good. For developers who are not the most socially-savvy, fear not! Communication is a skill you can improve with these habits.
Join the DZone community and get the full member experience.Join For Free
It's no secret that managers and employers LOVE developers that are great at communicating. Sure, a genius programmer may well be forgiven for their social inadequacy. But imagine being a genius programmer with brilliant communication skills! Given that you are most likely writing code for someone else, or at least with someone else, communication is the foundation of your work.
And I say "skills" for a reason. It's a common misconception that people either are good or bad at communicating. I call bullcrap on that. I used to be the shyest person in the room, barely having the courage to open my mouth when asked. Now, I don't hesitate to speak up or even lead the conversation as I see fit.
What happened? Well, turns out I've been working on my communication skills throughout the years, without realizing it myself! Since I started working at a tech company, I've realized how well my learnings could apply to developers. And interpersonal skills are definitely among the soft skills that developers need to have. So, let's get to it! Here are 5 ways developers can improve their communication skills.
1. Practice Reflective Listening
This is a great communication practice that all teams should use. It's simple — whenever something crucial is communicated, the person listening has to reflect it back, in their own words.
How can you put reflective listening into practice? First of all, you can use it in almost any interchange starting tomorrow! At first, it may seem silly to repeat whatever has just been said to you. But it works like a charm. Why? It shows you were listening, and that you really understood what was said. As a little bonus, it works on people's psychology, making the other person feel like you're on their side. After all, you affirmed whatever they were saying!
An added bonus is that it helps nip misunderstandings in the bud. If any detail or point is misunderstood, it becomes clear in the reflection. And it can then be clarified then and there, instead of some time later, when it may have bigger consequences.
Another way to put into practice is to also ask others reflect back to you what you said. This may not always be appropriate (this will be your judgment!), but I would strongly recommend using it whenever it's suitable. It gives you a moment to think whether you've said everything that you wanted to say. Even more, it gives you instant feedback on whether you were clear in your communications and drove your points home. And if not, you can fix that then and there.
2. Be Prepared
A lot of the times, you know in advance that some sort of communication is planned for. It may be a team meeting, a sprint review, or something else along those lines. The easiest way to be a better communicator is to be prepared.
Take some time in advance to think about the topics that will be raised or might be raised. Consider whether you have all the information you need to speak on these topics, to answer any questions that may come up — even more, what questions you may have for others!
If the meeting or event is an important one, it may be a good idea to make some notes that you can take with you. It doesn't mean you'll necessarily have to use them. First of all, writing is a great way to make sure you remember things, to structure and organize your thoughts. Even further, you will feel more prepared walking into that situation.
If you are invited business meetings, make sure that you have an understanding of the metrics and numbers that your team cares about. Do your research on business lingo. In particular, you should understand the basic concept of unit economics answering if you have a viable business model. If you are working at a SaaS company, make sure you understand the dynamcis of the SaaS Business Model and how to double revenues with incremental improvements.
3. Know Your Audience
This may be my favorite one. It may seem so simple — you have to know who you are talking to. Whenever you're talking to other developers, you probably don't have to put any extra effort into how you talk. There are no barriers!
However, the developers that have great communication skills will also be apt at talking to managers, the C-level, the marketing team...and this stands out.
If you're going to discuss a technical topic with someone who has little or superficial techy knowledge, you have to pay extra attention to how you speak. Don't use slang, jargon or super technical terms that they may not know. Use simple words, break it down. Imagine you're explaining it to your mom!
Another great way to communicate with different audiences is to use metaphors or parallels with other fields. I've seen this work really wellin real life. But do try these out with a smaller audience before bringing them to the C-level. (If you have any good ones, share them in the comments!)
4. Be Mindful of Virtual Communication Challenges
These days, a lot of workplace communication happens online via email, or in the team chat on Slack, Fleep or other similar communication tools. Now, you may be thinking, "what challenges"? Most developers love online communication — it's fast, it's convenient, and you can get to it whenever you have time.
Virtual team communication does have it's challenges though: no transparency to the "tone" of a message, small misunderstandings snowballing into drama, not enough communication, but also, over-communication, which can lead to message overload...
There's no turn-key solution here. But being mindful of such challenges opens your mind to what you can do to ensure seamless virtual communication. For example, it won't hurt to be careful with your words and use emoji or reactions to clarify your online "tone." Another good practice is to use full sentences or at least elaborate in cases where someone is asking you a question. Short replies can come off as angry or may make it look like you don't care for the person asking.
It's also important to think when a call or face-to-face meeting would be better suited than an online exchange of emails or messages. If the issue is not really urgent, I wouldn't recommend picking up the phone immediately. But if a discussion is needed — try to agree on a time to talk with the other side. And voilà, you can skip the challenges of virtual communication.
I hope you found my recommendations helpful and try putting them to use! I know they have helped me become a better communicator. Do let me know what has helped you improve your communication. What other ways are there that developers can improve their communication skills?
Opinions expressed by DZone contributors are their own.