“Assumption is the mother of all mistakes” — Mr. Eugene Lewis Fordsworthe.
Most of my takes on the importance of communication in the software development space has been from the perspective of the team lead or manager. In this article I want to talk about communication from the perspective of a regular team member and how one can communicate more effectively on their team. I believe some of the suggestions below may even help you standout in your team and earn your team lead’s respect. Here they are:
Don’t leave electronic messages unacknowledged: Acknowledge messages that come to you. It honours the communication cycle. Whether it’s an email or a message on slack, make it a target to at least acknowledge the message. Leaving messages with no response may lead to communication breakdown.
I once had an intern that went on to work at another company and he informed me that he caught the attention of his manager simply because he always replied messages that came his way.
Make sure you understand what you need to do: The software industry has sold the image of the perfect developer for some time now. The developer who just gets it and codes alone for days and magically produces the required program. It doesn’t work that way in reality. As a developer it’s on you to make sure that you don’t spend time and effort on things you don’t understand. The best way I have seen to achieve this is by always explaining your understanding and clearly stating your next set of actions each time you are asked to work on something.
Practice this whether you are speaking to one person or a group of people in a meeting. Do note that sometimes working on something that isn’t entirely clear is necessary and in some cases essential, the key is to be sure that all parties involved view it the same way too.
Help those you need help from: When you encounter an issue and you need help, don’t simply say “I need help” or “there’s something wrong” or “it doesn’t work”. It is your responsibility to provide all the context needed to clearly paint a picture of the issue you are facing. This helps those willing to help you see what you have and haven’t done and help from them will be swift. Same thing applies when communicating via chat, don’t just say hi, go straight into the meat of the matter. Doing this saves time especially when part of a remote team.
Don’t shy away from owning issues: When you encounter issues while developing it pays to let your team members know about it. Especially when you think it may slow you down. It doesn’t mean you are incompetent, in fact it shows you are confident because even the best of us face issues when writing software. When you do this, you can always add that you are on top of it and that you’ll let them know if things get worse.
Letting your team members know about the issues you encounter shows that you respect their time and it serves as a heads up.
Further Reading