Have you noticed that in movies, a programmer will often be cast as someone who is lacking in social skills or hasn't got many social skills? Someone who is arrogant, perhaps, and just being socially awkward in general? So my question for you is do you think it's important for programmers to actually have good communication skills? Let's address that today.
We're talking about communication skills as programmers. Is this something we need to have? Is this something we need to work on to basically maximize our chances out there in the industry? Well, I hope I'm giving you a hint there by saying the way that I have that yes, it is important.
I think having good communication skills is vitally important for a programmer. What will often happen is a programmer who has got good communication skills will often stand out compared to an "average" programmer because a lot of programmers don't focus on enhancing their communication skills.
Typically, because of the nature of programming, people or programmers in general can come across as being a bit arrogant, and usually, it's people who are sort of higher than average intelligence. That's just the reality of this sort of industry and what often happens is a lot of focus is on learning and the technology and not a lot of focus on the communication and this really becomes potentially a problem when dealing with end users - the people who aren't technical that perhaps you're trying to sell your services or products to.
As a programmer, if you can't relate to an audience (the people who are paying you money) which is often the case, then you'll find you'll struggle to get a lot of job opportunities. This can happen whether you're trying to consult to a particular company and even in job interviews.
Typically, in a job interview, you'll have two or three people and at least one of the panel that will be interviewing you will often be a non-technical person. So you might have the manager who's going to be sort of dealing with you if you're coming on board for a programming job. You might have a team leader, senior programmer, and you'll often have a third person who will often be someone from human resources and they've each got different goals in the interview. The human resource person in particular will probably try to access, or assess I should say, your communication skills and what they're like. So they'll be asking you questions at certain times looking to see whether you can sort of relate to them and what your communication skills are like.
Frankly, these days, when we're working with anyone, we wanna be able to get on with them, we wanna be able to relate to them, we wanna be able to see what we've got in common. We don't want it to be like a hassle because someone who's got really bad communication skills is a little bit socially awkward and so forth and doesn't get on, more importantly, with other team members, and that's the important one. Because being socially awkward itself isn't necessarily a problem, but it's the ability to work with a team. That's really critical, even for programmers who are coming in as a pure technical rather, and not dealing with the end user. They still need to be able to relate to and get on with other technical programmers. Also vitally important, is if you're talking to an end user, someone who hasn't got the technical knowledge, you need to be able to relay your concepts, what you're trying to tell them, in a way that they'll understand and there's a real skill there to that.
I'll give you a quick example. My mother-in-law had a problem with her ISP so yesterday, she rang for some help. She rang the hotline and she got on to someone who was technical, and this person - even though this is not directly programming, it's a common symptom of programmers - this person was talking in jargon to them and telling them they needed to check their DHCP settings and talking about IP addresses and subnet masks and so forth. It made absolutely no sense to my mother-in-law and that's bad because she was on the call for nearly two hours and didn't get it resolved. So I popped over to her house and managed to fix the problem and got it all working again.
The point of all this is that person, to me, was a real fail because he didn't sort of understand this person wasn't technical. Even though she actually said to him, "Look, I don't understand what you're saying". he couldn't communicate to her in a clear and concise way as to what the problem was. It was a two-hour phone call which ended up still not resolving the problem that I was able to fix in about 10 minutes. You can see that now she's got a negative viewpoint of this one person.
So if you're a programmer who's even technically brilliant and you're trying to sell your services in some way to someone who isn't technical, if you can't talk to them at their level, you're greatly hindering your chances. So focus on this. Make sure that you're not just focusing all your time into becoming the best programmer (which, of course, is important), but focus on your communication skills as well to make sure that you can get on with other people, you can relay information that makes sense to them, and you know, also focus on working in a team environment in terms of getting on with other people.
Try to get on and just be the person who's really getting on well with other people. It is important and that's gonna help you in your career because you're not gonna be seen as someone who is stopping everyone else from achieving their goals. You're there as a valuable member of a team and you'll be seen that way because you're able to relay and teach or show other people the concepts you're trying to raise.
The point here for me is it's very important for you to focus on your communication skills. Don't just assume that you can just program and put your headphones on and put your head down and just code. There are gonna be times when you need to speak to people who aren't technical. You need to focus and be able to do that, and what I suggest you do is to spend some time on this communication. Like anything else, it's a skill. You get better the more you practice, just like programming.
Amazing you made it to the end of this post and I hope you learned something valuable today. If you've got any questions, feel free to leave a comment and I'll get back to you.