Communications 101 for programmers

For some reason communications isn’t in the curriculum for most people studying computer science. There might be a general course about communications, but nothing about communications to prepare students for the work that lies ahead in the software industry.

Of course, universities also leave a lot of other things out of the curriculum that are needed in work places, but communication is one of the most important skills for programmers. Most people have worked with a programmer with less than good communication skills, which might reinforce the stereotype that programmers are geeks without social skills. Those programmers who possess enough social skills are often promoted to managers, which makes the rest of the programmers look even worse communicators.

Programming intrigues introverted people, because they have to only communicate with the computer, but once they get a real job, they suddenly have to communicate with people that do not have the same technical capabilities as they do. This creates a problem, because they were hired for their programming skills, but suddenly good social skills are needed to do the job properly. No one told them that programming job would require them to speak to multiple different people in the organization, sometimes even customers. They have the technical skills to do the job, and programming is the one thing they are good at and want to do for a living.

However, it’s not their fault that they were hired to do something that they are good at. Unfortunately, it’s the skills which are not taught in university and cannot be learned from programming books that are crucial to their success in software companies as programmers.

How many programmers brag about their social skills in their résumé?

How many recruiters know how to find programmers with good social skills?

However, all hope is not lost for programmers. They can learn to become better communicators. It’s a skill that can be improved. They have mastered programming languages, so learning a couple of social skills shouldn’t be too difficult. They have to come out of their comfort zone to do this. Some people cannot do that, but most people can do it with small steps and before they realize, they are the best communicators among their peers.

Couple of advice for programmers to push them self out of the comfort zone to become even better programmers as a result of their improved social skills. These simples things can make you a better programmer and enjoy your work more. Communication should not be seen as the necessary evil by programmers, but as the opportunity to get to know and work with different people from different parts of the organization.

1. Demonstrate your work to other people

Talk about your work and show people what you have achieved. It might sound scary, but once you are on a roll, you don’t even realize that you might be giving a presentation, because you are talking about the stuff you have done. It will boost your confidence, when people appreciate your work and ask questions about it.

2. Teach kids something you like to do (in a public place)

It might sound like that this has nothing to do with working in a software company, but you couldn’t be more wrong. Small kids are the most honest people you will find. They don’t talk shit about you behind your back, they will say it to your face. If you can handle that, going to any meeting to talk about anything is child’s play.

I was a basketball coach for 15 years. When I started coaching I was afraid of telling kids what to do. It didn’t take me very long before I was able to yell at the kids in front of their parents :)

3. Learn to talk about technology without sounding like a total geek

Try to explain your non-technical friends (assuming you have them, if not, your WoW buddies) about your work without using any fancy technical terms. When you can do that, then explaining things to marketing and sales people is a lot easier. They might actually understand what you are saying, because you are not throwing computer lingo at them. There will be less miscommunication, if you speak the same language with all the people in your organization.

4. Try to have some fun at work

This might mean different things for different people, but when you are having fun at work, you are connecting with people on a personal level instead of a professional level. It’s a good way to get to know people better, which will make communicating with them about work issues a lot easier. You probably don’t want to be the office clown, but try to find people who share your sense of humor or have same kind of interests outside work.

5. Open your mouth

Unless you are a ventriloquist, you have to open your mouth to say something. Unfortunately, many programmers prefer to keep their mouths shut, when they should share the information they possess. A lot of times things that should have been said, were not, and because of that, projects fail.

Open your mouth, if you don’t like other people’s decisions or suggestions. You might know more to suggest a better solution yourself, but keeping your mouth shut will guarantee that no one will ever see things from your point of view.

People won’t judge you, if you can defend your views. They will actually start to ask you for your opinions, because they know that when you open your mouth, you have something important to say.

  • Share/Bookmark