Published: 01/25/2016

As software engineers we communicate far more then most people expect. We constantly communicate wether we write code, talk at standups or respond to emails. Professional communication is essential. Something that I have been working on for myself is improving my professional communication.

In general here are some specific areas as engineers that we can improve in the way we communicate:

  1. Attack the idea not the person. Recently I made this mistake, I was very condescending to an offshore team in how I did my code review. I thought that the way they approached their design of the module was extremely poorly designed. They didn’t use inheritance or object oriented design. They didn’t use code reuse or any common principles of good design. They hacked the code together, copying and pasting a lot of things. I went off on them and said some terrible things. This was unprofessional, my manager even called me out on this form of communication. What did I do? I adjusted, I chose not to do that anymore, I give critical but helpful feedback.
  2. Be precise and give constructive feedback. Are you asked your opinion on how things are going with the project? Don’t give vague answers like “the project sucks”, give specific feedback: “We’re using coffeescript which is slowing down the team’s pace by 50%. We should just compile the files and use just javascript.”
  3. Be honest, but be kind. How can you communicate in an honest but kind manner? Remember that the people you are working for and with are people with feelings just like you. How would you feel if someone was trying to provide you with helpful feedback but they did it in a condescending manner. Reframe your feedback, be specific but be kind with it.
  4. Praise works better then criticism. What feels better to you? Receiving an atta-boy or being told your ideas suck? Learn how to reenforce the good behaviors that your team members are doing.

I hope these are non-obvious ideas on how you can improve your communication and work more effectively with your team.