How developers can become better communicators

Thank you! You've successfully on your way to become a 10X developer.
Oops! Something went wrong while submitting the form.
How developers can become better communicators
harley Ferguson

Effective communication is a fundamental part of being not just a developer, but a human-being.

In the workplace, being a good communicator is guaranteed to give you more opportunities, recognition and results. The reason is that no matter how technical our career may be, we still (for the time being) have to work with people. And people rely on good communication. Be it through the written word, online video calls or subtle non-verbal communications.

We're here to explore how you can make some small changes that will drastically improve your ability and effectiveness when communicating.

Let's dive in.

Write clearly and concisely

The majority of our interactions every day in the workplace are either asking for help from someone or providing help to someone. This means that it's crucial when writing a message, email or documentation, to keep it as simple and to the point as possible.

Nobody wants to have to unnecessarily think too hard so keep your explanations concise, even if it's about a complex architectural topic.

Remember: KISS.

Keep It Simple Stupid.

Practice active listening

When you are having a conversation with someone, it's crucial to show that you are paying attention. This includes online video calls as well.

Active listening shows the speaker that you're interested, engaged and receiving value from the conversation.

Things like avoiding interruptions, repeating key words that they said and providing feedback are all ways to show you're actively listening to the conversation.

My favourite is to always have my notebook around me so I can write down a physical note. This provides value in helping me to retain the information or reference it later. But it also sends a clear signal to the speaker that I heard them, value what they're saying and want to remember it.

Presentation is power

Whether it's a team meeting, a presentation to stakeholders or a technical demo, developers often have to speak.

Studies have shown that some people would rather die than have to speak in public. While I'm sure this is a gross exaggeration, it demonstrates the point that public speaking is terrifying to most. The good thing is that effective public speaking is a skill that can be learned.

There are many small things that will make a massive difference over time when practised. Things that I've introduced into my talks that aid in my presentation are things like making eye-contact with the listeners, speaking slower to make sure you're not rushing, thinking about your next sentence and using hand gestures to emphasise points.

My latest focus is removing filler words when speaking. That's the "Uhms", "So yeah" and "Anyways" that I throw into far too many sentences. I'm doing this by practising all of the above and trying to catch myself when my instinct is to provide a filler word.

Improving technical explanations

Having to speak about some complex code or a multi-layered architectural implementation is going to happen at some point for every developer. It's unavoidable.

Making sure that you understand the technical aspects is one thing. But being able to communicate that understanding to others is a completely different ball game.

I trick I like to use, when explaining something rather complex, is to first run through it with a proper technical explanation, but then explain it again as if I were speaking to a 5 year old. Use metaphors or simple analogies to help convey your message in a relatable manner. It works like a charm. The key here is to not come across as condescending, but rather as someone who wants to teach others so much that they think of creative ways to break down complex topics.

Let's use the example of machine learning. Technical people may describe machine learning as:

A subfield of artificial intelligence is where we design algorithms that allow computers to learn from and make decisions or predictions based on data. These algorithms iteratively learn from the data, optimizing a function that measures how well they are performing the task and to improve the accuracy of predictions over time.

To a technical person, this will make sense, but it may still be a little bit too much for you to quickly understand on first listen. So here's the simplified version:

Imagine if you could teach your computer to play a video game. At first, the computer wouldn't know what to do, so it would probably lose. But every time it loses, it learns a little bit about the game. It figures out what moves worked well, and which ones led to it losing. Over time, the computer gets better and better at the game, because it's learning from its mistakes. That's what machine learning is - it's like teaching your computer how to learn from its mistakes, so it can do something better in the future.

Doesn't that just make things so much simpler to understand?