Do Software Developers Need Communication Skills?
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 today is do you think it's important for programmers to actually have good communication skills?
Let's address that in today's video.
This video is brought to you by the Learn Programming Academy's Git & GitHub Masterclass. Add real-world development team skills for version control and source control to your resume and programming arsenal with this course. Visit lpa.dev/YoutubeGit or click on the link in the description below. (electronic dance music)
Welcome back, my name is Tim Buchalka with another Programming Tip of the Day, and 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 maximise our chances out there in the industry?
Well, I'm probably giving you a hint there that, by saying without saying, though I have, that it, yes, it is important. I think having good communication skills is vitally important for a programmer, and what will often happen is a programmer who has got good communication skills will often stand out compared to a quote, unquote, average programmer because a lot of programmers don't focus on enhancing their communication skills.
Now 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 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, so people who aren't technical that perhaps you're trying to sell your services or products to.
So 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, and this can happen whether you're trying to, you know, consult to a particular company, but will also in job interviews.
Typically, in a job interview, you'll have two or three people, and at least 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 onboard 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, and 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 because frankly, you know, 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, and 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, and that's really critical, even for programmers who are coming in as purely, 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, but of course, 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, telling them they needed to check their DHCP settings and talking about IP addresses and subnet masks and so forth.
Made absolutely no sense to my mother-in-law, and that's bad because she was left, she was on the call for nearly two hours, didn't get it resolved, so I popped over to her house and managed to fix the problem and got it all working again, but the point of all this is that person, to me, that was a real fail for that person 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, two-hour phone call which ended up still not resolving the problem that I was able to fix in about 10 minutes. So you can see that now she's got a negative viewpoint of this one person, so if you're a programmer who's technically brilliant even 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 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.
You know, try to get on and just be the person who's just, you know, really getting on well with other people is important, and that's gonna help you in your career because you're not gonna be seen as someone who is, you know, stopping everyone else from achieving their goals. You're there as part of, 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.
So 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 programme 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 practise, just like programming.
Amazing you made it to the end of the video if you're interested in more programming tutorials click on the top rectangle over here but if you're interested in programming tutorials click on the bottom rectangle down there and if you just didn't subscribe to this channel then why wouldn't you be click on the subscribe button up here I look forward to catching you in another video.