5 ways to improve your communication skills

Communication is the key to everything. Humans invented languages to communicate with other human beings, and the endeavour went beyond just talking; it’s in every aspect of our life. Failure to communicate can even lead to catastrophe. Certainly, it’s true for software developers as well.

Software development is solving problems and creating values for human life to improve it. It is not just writing code, and the interaction is only limited to humans and machines. The decision to create any software starts with the human! The development involves people such as users, customers, teammates, product owners, managers, etc. The communication among these people basically shapes how the end product would come out. That’s why clear and good communication skills are essential.

As a software developer, you have to continuously communicate with your teammate to collaborate on the work and with your product owner to get the requirements of the product you are working on. Any miss communication can result in failure, such as – creating bugs, missing features, etc.

To communicate clearly and effectively, you need the following skills –

  1. Be able to express yourself
  2. Be able to know your audience
  3. Be able to ask questions
  4. Be able to listen
  5. Be able to stay calm, collected and humble


Let’s start talking about the first one-

Be able to express yourself

Let’s say you have an idea, want to share it with your teammates, and start talking, but your teammate may have difficulty understanding it, maybe because you are just rambling, which does not make sense. So it requires some preparation. You can do it following things-

  • Figure out the most important points
  • Put them in an order which makes it more appropriate
  • Create a story out of it. For example- it may have a start, middle and ending.
  • Figure out which things you want your teammate to take away. You may talk to them for quite some time but not everything they will remember. So stress those points which are important.
  • While you are sharing your ideas, you will get some questions. Think about the common question and prepare those answers.
  • Be concise. Make your point right away rather than beating around the bush.

Be able to know your audience.

You have to know whom you are communicating with. You may be talking to your fellow developers. In that case, the communication may involve technical discussion, which may not be appropriate when you are communicating with your product owner. So it’s important to know the audience. If you are going to discuss a difficult topic and your audience may not be able to grasp that if they are not ready for such a topic. In that case, break it down, and use easy words. If your audience is not technical, discuss using nontechnical words. Beware of going off-topic. If possible, avoid uncomfortable and dangerous topics- e.g. Politics, sex, religion, race, jokes, etc.

Be able to ask questions.

When you communicate with your teammate, it’s not that you always only share your idea rather, you may need certain information. Asking questions is something you need to do while fetching information from others. For example – you have joined a team and they have a certain convention of wringing API. You have to ask to be able to figure out how you are going to develop in future. While asking questions, you have to keep certain things in mind, such as –

  • You have to assume they may not be good at expressing themselves. So their answer may not be as right as you expect, so you may have to ask a few more questions for your precise information.
  • Be careful not to ask too many questions. Otherwise, they might feel they are under some kind of inquisition, which may result in negative results.
  • Keep things conversational.
  • Do not ask a question that may seem to be blaming. Do not challenge. For example- x Bad question: “Why did you do that ? “ √ Good question: “What was the sort of decision that led you to make that choice and implement it that? Do you think there could have been a different way to do it
  • Use the question to plant ideas. For example, if you want a person to come around to your way of thinking, you can use questions without directly telling them how to do something. “How do you think your design would be affected if we did this and that?”

Be able to listen

These are the most important and valuable skills one can master. You have to focus your undivided attention on the person you speak with. For example- if you are typing while you are talking to your teammate, it would seem rude. While you are talking to someone, make sure you do the following things-

  • Make eye contact with that person. It shows you are paying attention
  • Remove distractions that may prevent listening.
  • If something is not clear or you do not quite understand, ask him/her to repeat it again
  • Summarize what you have just heard, which would remove future confusion.
  • Be clear about the exception. If you are to deliver something, ensure you state the outcome beforehand. If you cannot meet the expected delivery, make sure you let them know the reasons.

Your team lead asks you to do certain things before submitting a pull request, If you do not listen to him and you didn’t quite do what he\she asked you to do, he would be annoyed.

Be able to stay calm, collected and humble.

There are times when you have to communicate with people under pressure. For example, you may be presenting to a large audience of people for the first time in your life. It may cause stress. But you certainly do not want to make mistakes. Staying calm and being confident is important in such a situation.

Besides, there would be a certain time when you would get criticism from your teammate. You may have wonderful programming skills, but your pull request may not get accepted, and you would get feedback that may seem unreasonable to you. Usually, when you submit a pull request, your code gets reviewed by a senior developer of your team and if your code does not meet the quality standard predefined by the company, you may have received some feedback, and you have to make changes and then resubmit again. For the first few times, it might feel like a personal attack on your skills or abilities but eventually, it will help you to grow and be a better developer. So grow a thicker skin and don’t jump to the conclusion just yet.

Your teammate may not know certain things. You don’t know a lot of things as well. Do not presume not knowing something is equivalent to stupidity.

In combustion, these would make you a better software developer and help you in your personal life to be a better person. Make sure you pay attention to the people around you and actively listen to them. You ask questions when necessary. Stay calm and be humble towards people. Above all mind, it, it’s not always about you. People don’t even care about you. People only care what you can do for them. So if you can communicate properly, you would be in a better position to help others, leading you to become an important person to them.