The Essential Soft Skill Every Developer Should Master
There are multiple soft skills that are important in a developer's career, but one in particular could have major results in your life: the communication skill.
It can have a major impact not only on your career but on your relationships as well. Think with me:
- How many times have you tried to explain something to a family member, and they said that they understood, but instead, they did almost the opposite of what you've said?
- How many times have you faced a situation where you tried to ask something of someone you really don't know and it turned out that they got you wrong?
- How many times in a conversation has it turned into a rabbit hole just because no one in it could state their points clearly?
- How many times have you had a bad discussion with your partner just because both of you haven't understood each other?
We all suffer from impostor syndrome, and it took me many years to realize that I've lost big opportunities in my career, and many of them were due to the fact that I couldn't say things clearly. But once you become more senior, a hidden expectation that no one tells us is that you should be a great communicator.
Why Does Communication Matter?
If you can explain your point clearly in a way that everyone in the conversation understands, then you recover time that before was used in multiple conversations around the same subject trying to say the same thing. Also, you begin to be seen as an expert in the field (even if you haven't mastered the field yet); people trust you.
And as you become more senior in your career and start taking leadership positions, then this skill turns out to be more important than ever.
Types of Communication in a Technology Context
- Verbal Communication: This type of communication occurs during meetings (like daily stand-ups, weekly meetings, retrospectives), where you're expected sometimes to talk about your work. It's important to be clear. If you give a confusing update about your work, others might not understand, especially if you need help. Before meetings, think about what you want to say. For example, if you're working on a feature, simply say, "I worked on feature XYZ and now I might be blocked need some help to fix XYZ."
- Non-verbal Communication: This includes things like facial expressions, how you stand, and eye contact. These signals are really important, especially when giving or getting feedback one-on-one. You can often tell if someone agrees or disagrees just by their face or posture. If you don't agree with feedback, try to keep your face neutral and say you'll think about it. Showing you disagree without words, like rolling your eyes, might stop someone from giving you feedback again. This is true for both in-person and online meetings.
- Written Communication: Writing skills are key for developers. You need to write documentation, participate in Slack threads, e-mails, and more. Your writing stays within the company for a long time and helps others understand your work. For new hires, clear documentation can make starting at the company much easier. It's good to start with a clear way of writing and then find your own style.
- Active Listening: Active listening is an essential communication skill, facilitating a better understanding of the conversation and forming more accurate responses. Instead of formulating a reply while someone is speaking, focus on their words. After they've finished, summarizing their points to confirm your understanding can prevent miscommunication and foster a more positive interaction.
Define Your Identity
As James Clear, author of "Atomic Habits," said, instead of focusing on goals, focus on the identity of the person you want to be and improve every day by 1%.
So, define your identity as a person who can explain ideas in a way that people who are listening can understand. Instead of just saying: "My goal is to talk at a TED event," think of yourself as someone who clearly communicates complex ideas, making them accessible to everyone. This approach will not only help you achieve your goal but also enrich your skill set beyond the event.
So, How to Improve?
Mastering something takes time, and it's no different with communication; I believe that even if you are already good at communication skills, there will always be room for improvement, so it's a skill that you will likely practice and improve during your whole life.
As a developer taking leadership positions, I realized later that I was losing some opportunities just because I wasn't able to communicate everything crystal clear (even though I've received good feedback about my communication).
Better late than never, right?
I've set an objective for myself this year (2024) to improve my communication skills, no matter what. I want to finish this year with the identity of someone who is great at communication.
Here are a few resources that I'm using to improve:
- Local communication course (I live in Brazil so I'm doing one course at Vox2You)
- TED online communication course
- Watching lectures from people who are defined as great communicators (example: Barack Obama)
- Reading books on the subject, some good ones include "Nonviolent Communication" and the ones by Carmine Gallo.
The Practice and Feedback Loop
Like almost everything in life, you'll only become a better communicator if you practice and ask for feedback from your peers.
- Ask to talk at an event; this will force you to practice.
- So, if you are single, go on a date and practice there; see how the result of this date turns out.
- Practice with your significant other; they are more likely to support you and embrace this journey of improving together with you.
- If you want to become a leader on a team, try to be inspired by a leader whom you think is a great communicator, ask for tips and how they mastered it.
Happy coding + communication 😄