Software Engineering Soft Skills Part 1— Communication

Oguz Ozcan
5 min readMar 31, 2023

--

A regular day of a software engineer (at office) contrary to the popular belief

Many software engineers make the same mistake in the early years of their career — they don’t focus enough on soft skills or don’t see their importance. Soft skills refer to a set of interpersonal skills, including communication, teamwork, leadership, problem-solving, and more, that are essential for professional success in any field. I’ve worked with many highly skilled engineers who struggled to work effectively with others due to a lack of soft skills. On the other hand, I’ve seen individuals with excellent soft skills receive promotions and achieve great success in their careers.

In this series, I would like to share my insights and observations on the importance of soft skills, specifically communication, teamwork and collaboration, adaptability and flexibility, time management, problem-solving, leadership, empathy and emotional intelligence, creativity and continuous learning and provide practical tips on how to improve them from my experience. This is the first of this series, enjoy

What is communication, anyway?

Is it simply talking, chatting, or sending emails? Actually no, communication is much more than that. Effective communication involves the ability to convey ideas and information clearly and accurately to team members, stakeholders, and clients in the right time, with the right wording, and through the right channels.

So, what can you do to improve your communication skills? Start by asking yourself if you can express your thoughts and ideas clearly. If you’re not sure, there are several things you can do to improve:

1. Organize Your Brain

A typical engineer with many ideas in mind, without any structure

Everyday we get exposed to crazy amount of information at work some of them are: chats, wiki pages, meetings, code, documentation, notifications etc. Our job is to digest these data and come up with meaningful ideas, questions, solutions or discussion points. This is not easy! I personally struggled from these for many years. However, there are solutions and first thing is the spend some time every day to clear your thoughts, go over the information you learned, create a summary and just spend 5 10 min to think about them, and ask questions. Ask questions by putting yourself across to the table or the person across you. This is a great preparation technique for meetings or come up with ideas or edge cases. To me this is the first step being a great communicator, you need to organize your thoughts.

2. Make Sure People Understand You

What you say is not necessarily reflect same to the other people

When you’re in a meeting or a discussion with your co workers, ask others to clarify their understanding if you’re not sure that you’re aligned on a subject. Don’t hesitate to ask multiple times if you are not sure. Take notes during meetings and share them afterward to ensure that everyone is on the same page is a very helpful practice. Effective use of nonverbal communication, such as facial expressions and body language, can also help you convey your ideas more clearly, but I don’t think most of the people are good at using their body language. However, if you are good at it, at least you can understand if you are being understood or what other parties are thinking and use that for your advantage. Additionally, you can follow up with your team or colleagues on chat apps to ensure everyone is on the same page.

3. Know Your Audience & Set Your Tone

As a software engineer, you’ll likely be speaking with other engineers most of the time. However, in meetings with non-engineering stakeholders such as product managers, product designers, or business people, it’s crucial to adjust your tone and avoid getting into coding details. When speaking with clients, sales skills are essential to sell your projects, your work, your team, and your company effectively. Even if you have doubts or things aren’t going well, staying calm and doing what is needed can help you build better relationships and achieve greater success.

4. Raise Flag

When things don’t go well (and believe they will at some point), it’s important to raise the flag and mention the risk in the correct way. But even more critical is explaining the risk by asking yourself several questions beforehand so that it is easier to communicate the same thing with your peers. The very helpful questions are:

  • Why did this issue happen at first place?
  • What was the root cause?
  • Why didn’t we detect it earlier?
  • How can we overcome this?
  • How can we prevent similar blockers in the future?

Asking these questions can help you identify potential issues and develop effective solutions.

5. Build Rapport

Building relationships and establishing rapport with colleagues is essential for both success at work and personal happiness. Good relationships can lead to support and collaboration when you need it most. Additionally, spending a third of your life at work makes happiness in the workplace crucial. Building good relationships and having friends can help increase happiness and improve overall life quality.

6. Consider Timezones Differences

In most of the large companies with offices around the world, it’s important to be mindful of different time zones. Mentioning the time difference, recognizing people from different time zones for joining meetings, and providing asynchronous written offline updates can be helpful in keeping everyone on the same page.

7. Cultural Differences

When working with people from different countries, cultural differences can affect relationships. Some people from some countries may have a more direct communication style, while others may have accents that make them difficult to understand. Try to learn peoples styles and try hard not to personalise if somethings seem different or even weird to you.

At the beginning this can be hard to get used to. However, as time goes by you will start realising the fun part of it. Learning different cultures and having colleagues and friends from all around the worlds is invaluable.

As a software engineer, enhancing your communication skills is crucial for leading a fulfilling life, achieving happiness, and experiencing growth. By focusing on these six key aspects, you can effectively improve your ability to communicate and cultivate meaningful connections with others. Share your thoughts on these aspects and how they can benefit you in your personal and professional life.

--

--

Oguz Ozcan
Oguz Ozcan

Written by Oguz Ozcan

Senior Software Engineer@Meta who is interested in growth, mentoring, overcoming impostor syndrome, psychology

No responses yet