…… or do they just need Technical skills. Many studies have shown that Soft skills along with technical skills are necessary for professional growth. From a company and services point of view, groups with better soft skills communicate better, gel together and create robust products. Let us go through the soft skills that we think are required to create beautiful software.
What is communication? Communication is the exchange of thoughts, ideas and emotions. Communication may be Verbal, Non Verbal, Written or through any other medium such as a painting or an info graphic.
Technical warriors often think (some even take pride in it) that they do not need communication skills. They think that their actions (coding, programming or any other technical skill) is enough for them to progress in the professional world. Nothing could be farther from truth.
Before we dive into why communication skills are critical for software developers, let us read some inspiring and revealing quotes about communication.
And on a philosophical note:
Software is mostly built by Humans and for humans (Exception being when devices or machines talk to each other but even then humans play a large part in it). Therefore you have to have People skills.
Why do Software developers/Testers need Communication skills?
- Software is almost never built in isolation. Good products need a team and a team needs communication.
- You need communication skills to understand the specifications, team lead instructions.
- Communicating with testers. Understanding the bugs that testers have thrown up and resolving them.
- Interacting with team members. Communicating how your module fits into the overall scheme of the product.
- Excellent communication skills are needed for training and leading other team members.
- “I’m a great believer that any tool that enhances communication has profound effects in terms of how people can learn from each other.”
– Bill Gates
- Understanding and creating technical documents and manuals.
- Making presentations in front of business leaders and management.
- Interacting with clients. Understanding their problems and resolving them. Often clients have a different perspective than the technical team. If developers don’t have empathy, it is difficult to understand where the customer is coming from and chaos prevail.
- Interacting with UI/UX designers.
- Participating in Brainstorming sessions and code reviews.
- Facing interviews: Interviewers generally make a decision within the first few minutes of interview. How you have walked to your chair, how you have greeted them, how you are sitting, are all communicating your confidence and attitude to the interviewer. Secondly how you approach a problem given during the interview is far more important than how you code!
- Learn another Language: ENGLISH Go Through this video. It’s a little long but well worth it.
- Communication is essential when you want to avoid fires rather than fight them.
- Communication is essential to avoiding internal conflicts.
Finally Programming skills are easy to acquire. There are any number of tools to learn coding, frameworks to apply your learning. But to be a good communicator you would need to be diligent, deliberate, thoughtful and empathetic.
Cheerio and never lose a chance to communicate or to make a presentation!
Watch out this space for the fifth soft skill needed by software developers. Till then cheerio.