The older I get, the more I understand that software development is as much about communication as it about technical knowledge. What we say and how we say it has a lot to do with how effective we are in our profession. Whether it’s coordinating with coworkers about some technical detail, asking for a raise, or getting clear on product requirements, nearly every aspect of our job involves some form of communication.
Early in my career, communication was not my strong suit, to put it mildly. I was the stereotypical software developer, shy, introverted and uncomfortable talking to others. I just wanted to have clear instructions on what was to be built so I could go back to my desk and build it. Leave me the heck alone!
Ultimately, I realized that something had to change. I saw other developers advancing in their career or just connecting with others in the company in a way I didn’t understand. I started to get out of my shell and work on my communication skills. The results have been impressive. I’ve been promoted several times and I’ve been asked to give technical presentations to the rest of the department.
If I had to boil down what I’ve learned, it would break down to three key ideas: listen, ask questions, take ownership.
Listen
As I progressed in my career and learned more, I noticed that I tended to see patterns and associations that others missed. Of course, I wanted to put out the best software product, so I would tell people about these things. Subconsciously, I probably wanted to show off a bit too. Of course my solution was the right one! Maybe if I just repeat it over and over, in different ways, they’ll relent and just let me get back to work.
As it turns out, I was usually working with a whole group of smart people who (gasp), didn’t always see things the same way. In fact, if I would just shut up and listen, their ideas were even better! Listening is a skill that is incredibly important in both business and in life. It means stopping to really understand the business requirements. Try not to think about what you’re going to say next and really hear your teammate’s technical solution with an open mind. More often than not, something a teammate suggests makes a lot of sense, if I can put myself in a place where I’m ready to hear it.
This can be difficult for those of us who just know how things should be done. (yeah, right!) Listening is a skill that I’m still working on.
Ask Questions
Even if we’re getting good at listening to others, it can be tempting to jump in and say your bit, telling others what should be done. But even if we’ve been really listening, we probably don’t have a full understanding of what the other person was saying. We may think we do, but unless we ask questions, we won’t really know.
Asking good questions is another skill that’s worth learning. Not only is it a good way to gain understanding, but it shows the other person that you were really listening and want to hear more. Asking questions makes sure that everyone feels like their ideas are welcome and appreciated. This makes it easier for you to influence the outcome of the conversation. This is not something to be done as a manipulative tactic, but rather, as a way to really understand the situation so that the best decision can be made with the information at hand. Sometimes this can be just repeating back what was said, in your own words, and asking if that’s what the other person meant.
Sometimes, it can be asking about a potential hole you see in the solution. Try to make it a game! See how many follow up questions you can ask before you make a statement of your own.
Take Ownership
When you’re in a discussion, especially if it’s getting a bit heated, viewpoints can be varied and apparently at odds with one another. It is very easy to put people on the defensive.
Instead of pulling together to solve a problem, each person pulls back into their respective bunkers to defend his or her position. The discussion can quickly become toxic. Instead of attacking or otherwise commenting about others, take ownership of your piece of the discussion. This usually means making more “I” statements. For example, instead of saying, “You’re not making any sense! We shouldn’t do it that way!” take ownership of the situation and say something more like, “I’m not sure I understand the suggested approach. What I hear you saying is that we should
Conclusion
Communication is a skill that is well worth developing. You can start today by simply listening more often and with more focus. Start asking questions instead of making statements. Take ownership of your piece of the conversation, seeking to understand, rather than attack ideas.
Work on you communication skills and I you’ll find that doors start opening in your career that you never expected.
Discussion Question: What do you find leads to better communication between team members and other areas of the company?