Soft skills part 2
A student asked me in an email: “How many “Soft-skills” are there and how do you develop them? Which one is the most important for a software developer? Are there schools that teach soft-skills or is there a degree in soft-skills? Please advise.”
Answer: “Soft Skills” or “Interpersonal skills” are proficiencies that people apply when interact with each others. There are many “Soft-skills” such as communication skills, conflict resolution skills, negotiation skills, strategic thinking skills, team building skills, selling skills etc. Basically, “Soft-skills” are not something you can learn in a short time but develop overtime in life. There are few soft-skills that you learn in school such as communication skills, presentation skills, teamwork skills, time management skills, problem solving skills that help improve yourinteractions with others, enhance your study performance and help advance your career.
A good software developer must develop some soft skills as they are important because most software works are done in team. Your individual contribution to the team is important to the success of the project and the company. As you move up to a higher positions such as Requirements engineer or Business analyst, you will have to work with customers. The ability to communicate face-to-face, the presentation skills, the listening skills and negotiation skills are becoming critical to your career success. As you move up to project manager position, your time management skills, interpersonal skills, leadership skills, conflict resolution skills and decision making skills are becoming more important to the success of the project. It has been suggested that as people move up in their career, soft skills are becoming more important over the long term than technical skills. For this reason, soft skills are being sought out by software companies in addition to technical qualifications.
There are many “soft-skills” training classes. Some teach general soft-skills and some focus on specific skill such as negotiation or presentation. However, there is no “soft-skills” degree or a particular field of study in soft-skills. My advice for software developer is first focus on the technical skills, then learn to have good command of a foreign language. I think English is a good choice because you can use English almost everywhere and it is also the most common language using in the software industry. By having both technical skills and communication skills in a foreign language, you can advance your career faster than others. With the globalization trends, most software developers will not work in one place but have to travel to many places so having a foreign language skill is a necessity. I believe few years from now, having only technical skills will NOT be enough but every software developer must also have communication skills, especially the ability to speak at least one foreign language.
- Blogs of Prof. John Vu, Carnegie Mellon University