Skip to main content
11 answers
12
Updated 2680 views

Why do you need communication skills to be a computer programmer?

Why do you need communication skills to get this job? I mean, don't you usually just do your part of the team? #engineering #science #computer #career-details

Thank you comment icon Thanks for answering everybody KalebBlake

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

12

11 answers


4
Updated
Share a link to this answer
Share a link to this answer

Joanne’s Answer

You need good communication skills for ANY job.


Programming is a delicate balance between sharing and implementing your ideas in conjunction with your neighboring programmer.


I've rarely seen one programmer take a task from start to finish. Usually, a team of programmers have to work together to produce a final product.

4
3
Updated
Share a link to this answer
Share a link to this answer

Rita’s Answer

Programming is not just coding to a set of requirements; it needs a good understanding of the business requirements, able to translate that to a good user experience for whoever is going to be using the application that is being built/coded. As part of this there is a good amount of communication (verbal and written) that goes in between developers on the project, testing teams and also the business teams. Being able to effectively communicate and issues around requirements, design or user experience is also part of a developers job and there communication being a key factor in becoming a great developer!!

3
3
Updated
Share a link to this answer
Share a link to this answer

Cody’s Answer

No matter how good of a coder you are, you will be working on a team. If you can't communicate to your team what your working on, when it will be done, and what you need from them, you will not go very far in the industry.


I have 2 examples for you.


Lets say you're working for a project at school. You need to make an app. You split it up into different areas. You're in charge of the web user interface (UI), with others taking the back end, the database, the iOS client, etc. You go spend the month making a beautiful UI. Now its the week that the project is due. You come together with your team to put the pieces together and, oh no! You're expecting JSON but the back end developer is sending you XML. You expected that the data sets would be small, but the database developer is sending you sets of 1000 instances. The UI table you made can't handle it and now looks terrible. Plus your iOS developer is using a web view, but didn't tell you that it doesn't support the particular JS library your using. You all try your best but can't re-code it all by deadline, and have to turn in a crappy-looking, half-functioning project. (This sort of thing happens all the time at school).


The lesson here as much as you think you can plan it ahead of time and do work individually, it is way more efficient to meet frequently, let each other know your progress, and let each other know when you run into problems and need to change course.


Another example. You have a real job now. Your product manager (PM) gives you a task to do. It seems straight forward, so you tell her that you'll have it done by the end of the week. You go into the code that your going to improve. Turns out it was made by a developer on another team. Your not using your communication skills, so you try to read and interpret the code yourself, instead of just asking the other developer about it. It takes you 3 days to interpret and test the code that's already there. The last day of the week, your finally coding a solution. The PM comes to check on you, and you say "I ran into some problems, I need another week". The PM says you can't have another week, I told the customer they'd have it today! She makes an exception and tells the customer it'll be out next week. Next week you finish the code, turn it in. It goes to a Quality Assurer (QA). They start testing it, and it turns out there was a test case you didn't think of. You could have talked to the QA and made sure you were covering the test cases as you went... but you didn't. They send the code back because its buggy. Its Friday again. PM comes over. You don't have the code. You tell her you'll definitely have it by next week. So it's next week, everything's working, you covered all the test cases. Oh no! Its broken again, what happened!? Some one pushed something that broke it! They didn't know you were working on something that used that code. Who pushed the code? You find out. Instead of talking to them and seeing what they were trying to accomplish, you go into their code and fix it. You push your code. QA and PM are happy. In a meeting the next week, everyone is going crazy because a big new feature was released (not yours) and its broken because someone not on that team modified it. The company is losing money and reputation. They trace it back to you. You're fired over this.


This is a lesson I've had to learn myself at my job. If I run into a problem now, I tell someone. I ask for help. I let people know things might be late. I reach out to other teams to make sure my code won't effect them. And I document my code so that when others need to work with it, it is easy for them. This is what makes me a good software engineer, and not just a good coder. Companies are aware of this, and most won't higher someone without good communication skills.


Cheers

3
2
Updated
Share a link to this answer
Share a link to this answer

Mariana’s Answer

Communication skills is very important because there will be times that you'll need to meet the team you are working for, you might be asked to meet them and give them a status on the project and you may want feed back too.

2
2
Updated
Share a link to this answer
Share a link to this answer

Joe’s Answer

As most all have stated: you need good communication skills no matter what profession you decide to enter - and coding is no exception.


Today, there's a significant push towards Lean/Agile development practices and the very nature of that approach suggests communication with your business customer, whether your customer is internal or external, as the up-front documentation is typically relatively sparse. Please don't misunderstand - there is still documentation, including in the code itself, however, frequent interaction with the customer is the key to success, and that requires communication skills.


Hope this helps. Regardless of your career path, best of luck to you.

2
2
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi KalebBlake.


Excellent question! Back in the old days if you were a good programmer, you were fine. You never had to interact with anyone, just do your job. Those days are long gone. Projects have become huge, teams have become massive and multinational.


When I taught college classes, I always made my students give a presentation. The reason for this is that in today's hi-tech world, you need to get your name out to your colleagues. Everyone needs to know who you are and what you are doing to help the team. When it's time for ranking performance, if every manager knows who you are and what you are doing, your manager can get you ranked high. That means bonuses, salary increases and job security. However if no one knows who you are, you will be ranked low and may be in danger of losing your job.


Bottom line is that you have to sell yourself. I know it's hard and most of us hate public speaking but it is necessary.


Best of luck!


Jeff

2
2
Updated
Share a link to this answer
Share a link to this answer

Ammy’s Answer

Any role in any career field will require good communication skills. For a programmer, you will need to be able to communicate with project managers, end users and various other people to understand the goal of the code you are writing, communicate progress/roadblocks and to present your work.


As your career progresses, your ability to communicate effectively will be a vital tool and you should work to hone those skills just as much as you work to hone your programming skills.


Best of luck!

2
1
Updated
Share a link to this answer
Share a link to this answer

Ken’s Answer

Hi KalebBlake


You asked a good question.


Programmers are involved in such a myriad of applications, and the only way that you will really get a good answer is to have fact to face conversations with people who are working in the field.


Also, here are good sites that may help:
http://www.futureengineers.org/
https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm


Let me know if and how this might help. Keep me posted. I would like to follow your progress.

1
1
Updated
Share a link to this answer
Share a link to this answer

Qing’s Answer

I think communication skill is very important, no matter how good at coding you are. After you finish it, you need to have code review with peers or your managers. You need to follow the technical design specification to code, you cannot code it on your own without integrating with others. You need to communicate with technical people to make sure your code within your coding framework and follow some guidelines; you need to communicate with business people to fully understand their requirement, you need to communicate with testers to make sure there is no defect of your code; Communication skill is so much critical in this world. With excellent programing skill and communication skill, you will be potentially promoted very quickly in your career.

1
0
Updated
Share a link to this answer
Share a link to this answer

Raashid’s Answer

Effective communication is a great way to perform duties and responsibilities effectively and efficiently. It enables computer programmers to communicate better while it helps them stand out in today's job. It not only enables them to improve their experience, but also leads them to get professional development.
0
0
Updated
Share a link to this answer
Share a link to this answer

Remigio’s Answer

If you have zero communication skills and you have to work with a team, nothing positive will come out of it. No matter how good you are at writing code. This can be said for any job not just computer programming. Communication is fundamental in any job.

0