By Fatos Morina April 14, 2017

10 Simple Social Skills Many Programmers Forget About

If you work as a software developer, most of your workday is spent dealing with people.

Immediately when you start your work for the day, you probably check email, Skype, or Slack, as you are interested in seeing if your work colleagues have something important to tell you. Then, when you write a response, the destination for your words is another person, not just another computer.

Your main priority at work is to solve problems, which is done while collaborating on projects and hanging out with other people as part of a software development team. You attend meetings during the day and get the implementation requirements from other people.

When you are finally ready to do one of the most enjoyable activities for a software developer, which is writing code, you are supposed to write a code which is primarily readable for humans. You do not write your software projects in binary codes, but instead in a programming language that is supposed to be easier for both you and teammates to understand.

Even if you are working at a small company, or are a freelancer, you still have to deal with the non-technical people in the project that you are working on.

We spend a lot of our waking hours with our work colleagues. It is even possible that we spend more time with them than with our close family members. Becoming aware of this will help you realize the importance of having good relationships with others, especially your co-workers.

In this article, you can read some general tips that can help you improve your relationships at work, but that can be applied elsewhere as well. They are simpler to follow than the frameworks used to develop your applications, but these tips have a huge potential for return over investment.

1. Be very kind

You can be the smartest and the hardest-working person you know, but when you do not have good manners or lack kindness, others in your workplace might hate collaborating with you. Not because you lack the skills and the ability to write clean and maintainable code, but because of your attitude.

No matter how frustrating a bug is, do not pout, whine, or yell toward your colleagues. Those bad manners will not be able to fix your bug. It can even harm your personal and professional relationships and make it very difficult to get back on track later on.

When you are kind, you are more likely to make a good impression on others as a human being in general. Simple acts of kindness, such as giving someone a ride to or from work, mentioning someone’s favor in front of others, cleaning up a colleague’s space that’s not your job to keep clean, etc., should be done repeatedly, despite knowing your colleagues for a long time.

Your kindness will trigger, at least, a basic human decency from your colleagues as well.

2. Always be genuinely interested in your colleagues

Try to understand if they need your help, and do not hesitate to kindly help them. When you see that they are stressed, anxious, or going through tough times, talk to them and show readiness to brainstorm solutions about the problems they are involved in.

Even if you cannot help them with their current task, try to encourage them with motivational phrases that can uplift them emotionally. Make them feel that they are important to the team and capable of overcoming the obstacles they’re facing and the down times they might be in. Your words alone can magically improve the mood of your colleagues.

3. Smile often

Even printing a ‘Hello world’ statement takes more time and effort than smiling and sending smiley emoticons. It may seem trivial, but smiling can lighten up the tension.

A scientific study conducted in 2011 at the Face Research Laboratory at the University of Aberdeen in Scotland found that smiling makes you feel more attractive, relaxed, sincere, and confident. Moreover, one Swedish study published in the Scandinavian Journal of Psychology found that humans have an automatic reaction that mimics the facial expressions of those they interact with.

In other words, when you smile often, chances are that others will smile back to you as well.  This will not only make you feel better, but it also helps others that you interact with.

4. Say ‘thank you’ and ‘please’ a lot.

No matter how small a favor is, do not hesitate to say thank you. People appreciate when you are polite and grateful, and are aware of their contribution and significance in your life. This will not only make your colleagues feel better, but it will make you feel better as well, as you will know that other colleagues care about you and are willing to help you.

Gratitude can improve your physical health, mental strength, self-esteem, the quality of your sleep, and can even reduce your stress levels.

Another word that you should frequently use in your communication with your colleagues is please. When you use the word please, you are reminding the other team member that he is not forced to do something, but it would be kind, generous, and helpful of him to assist with the task that you are working on.

These simple words, no matter how insignificant they may sound, can make a huge difference once you start using them.

5. Praise other people’s efforts and stay positive

Become aware of other people’s accomplishments and praise every improvement, large or small.

Praising someone isn’t complicated. Common phrases like “Great job,” “Well done,” or “You did great” can be sufficient.

It may have taken a lot of effort and strong willpower to get to the solution of a frustrating problem. When you praise others on their accomplishments, you make them feel important and that they are involved in something that has grabbed your attention.

As software developers, we tend to forget about the privilege of the skills we possess. There are times when a small bug or an urgent task can bother you or your colleague for a few moments, but you should not let that distract you from the big picture.

You should regularly remind yourself and your colleagues about the joyful moments that you and your team have been through, and not let an occasional difficulty or a stressful situation make you feel disappointed.

Start the habit of regularly recognizing the efforts of your teammates and giving credit to them whenever the opportunity arises.

6. Do not hesitate to apologize

Nobody is perfect, and no matter how hard you try, you will always make a mistake here and there. No matter how small your mistake is, do not hesitate to apologize about it.

Even though it might threaten your ego to apologize sometimes, it is a crucial way to keep good relationships with your colleagues. Although you may think it will damage your reputation, by causing you to appear less confident, apologizing has the opposite effect. It will remind others that you are aware of your shortcomings and that you are humble enough to admit to them.

Short phrases like “I am sorry” or “I apologize” can strengthen your ties with your colleagues, even during unpleasant moments.

7. Do not criticize

Criticizing is often perceived as a personal threat towards an individual’s ego, though you may not have intended to do that. As a result, it is likely that he or she may get emotional and feel offended.

A better way of pointing out your colleague’s mistake is by giving them a polite critique: Call attention to people's mistakes without demeaning them or making it personal.

Put yourself in their shoes and observe the issue from their perspective. Politely inform the other person about their mistake. Do not point out a mistake in front of everybody; instead,do it privately. If you want to inform everybody else about a mistake that they should not be doing, do not point fingers toward people, but toward the problem.

Try to focus on possible ways of solving the problem rather than on blame. Become the person who helps people, rather than someone who belittles them.

When you help someone, you are going to feel your own sense of contributing and your own significance as well. Moreover, you can learn for yourself, and can also open doors to receiving help in future from the same colleagues that you have helped in the past.

8. Avoid arguments

We tend to think of ourselves as rational human beings, but in reality, we are emotionally driven creatures that can easily get angry. Those few moments of anger can lead to some unpleasant arguments, no matter whether you are right or wrong. Although you may be right, and protecting your opinion sounds like a good idea, arguing furiously with others is something that can dramatically ruin your relationships.

As Dale Carnegie mentions in his book How to Win Friends and Influence People:

“I have come to the conclusion that there is only one way under high heaven to get the best of an argument—and that is to avoid it. Avoid it as you would avoid rattlesnakes and earthquakes.”

The best thing to do about arguments is to try your best to avoid them at all costs. It is not as easy as it sounds, but it can become easier with practice. Reminding yourself that most of the time there is almost no benefit from arguing, especially with your work colleagues, can reinforce the desire to keep yourself away from arguments.

9. Ask questions instead of giving direct orders

This is something that is more relevant to team leaders or managers, but it can apply to anyone else as well.

People tend to be more inspired to work when they are challenged to do something, rather than ordered around. When you command someone to do something, their ego may come out and make the individual think that he is being oppressed or that his autonomy is being threatened.

Rather than giving a direct order, ask whether a colleague would like to work on a particular task. If there is no other available developer who can work on a particular task, and you are afraid that they may not like working on the front-end side, tell them you are worried that the team might look bad in front of the client if this feature is not present in the next meeting.

Questions like “Would you mind working overtime and finishing off this task, knowing that this is critical for our project?” are better than commands like “You cannot go home unless you get this task done.” Mention to them that they are an important part of the team, and they can help the team prove to the client that they are reliable for future projects as well, with questions such as, “Could I possibly assign this task to you, knowing that you are already experienced with these types of work?

10. Avoid dealing with ‘toxic’ people

Even though working as a software developer might be your dream job, there may nevertheless be toxic people at your workplace. You thought you left those types of people behind at your high school, but it turns out that life is filled with so many of them. These people are simply looking for opportunities to bring others down and may generally possess a negative perspective on everything in life.

You can try to change them with your well-intentioned influence, but often it is very difficult for a person to change (for a lot of reasons). If you see that you are not having any positive influence, and associating with them is only causing you trouble, then you should avoid dealing with them.

You might be in a situation, however, where this person is your manager or a colleague in your office. In these cases, your alternatives are very limited. You may consider changing your department, or start looking for a new job.

In cases when you do not have any other alternative but to deal with them, prepare yourself mentally ahead of time regarding their bad attitude, and tell yourself that you should not let them influence your mood and ruin your whole day. Their attitude is not something that should surprise you.

Try to interact with them as little as possible.

Conclusion

There is a lot more to the life of a software developer than just writing code. Dealing with people is one of the key factors. Although they do not get mentioned or emphasized that much, social skills are among those few seemingly unimportant skills that can actually accelerate growth in your career. And they are much simpler to understand and put into practice than inverting a binary tree on a whiteboard.

While I agree that some of these things are easier said than done, it is important to practice applying them in our lives.

Before you leave, let me kindly remind you about one more thing: Do not expect to always be able to apply these things all of the time. We are human beings and we have our own difficult times, too. However, we must not let those few moments of frustration and anger ruin our whole professional and non-professional lives.

About the author

    Fatos Morina

    Fatos is an experienced and passionate Software Engineer with a demonstrated history of working in the full life cycle of software development with enormous curiosity for algorithms, data structures, and solving challenging mathematical problems. He is an open source enthusiast at https://github.com/fatosmorina and also a blogger at http://fatosmorina.com. He is open for new opportunities.