Are soft skills in programming important?
We live in the digital age. The tech industry has been exploding for years now. And what this has meant is that tech companies are fighting tooth and nail for good talent. The problem is that they are having trouble finding it.
The number of students studying computer science is growing, but not quickly enough. Over the past few years, a massive demand gap has begun to form for many positions in the tech industry. Candidate interest in many critical positions like software architects and dev ops is falling massively short of the demand that the industry has for such positions. And the problem is not just that too few people are getting CS degrees.
The problem is that many people with CS degrees, and people going into tech in general, are not devoting enough time towards developing soft skills. According to an employer survey done by Indeed.com, nearly 60% of employers say that soft skills are the most important factor they look at when hiring new talent. 77% of employers say that work experience is the most important qualification that they look for. And I don’t think it is going out on the limb too much to say that one of the biggest benefits of work experience is that you develop superior soft skills.
Soft skills in programming
Soft skills are hustle, collaboration, being able to lead when appropriate, being able to follow when appropriate, curiosity, critical thinking and the ability to tell the difference between asking the right questions, and asking too many. Every one of these skills is critically important. They are also skills that are typically very hard to acquire except through actual work experience. More often than not, only real-world situations where the stakes are high create the necessary incentives and motivation to force yourself to develop these skills in their own right. They are truly what will set you apart from your peers and from other job candidates.
The punchline: If you are studying computer science, or if you are in some way looking to go into a technical role, you need to assume that everyone else applying for the job has your skills. It doesn’t matter if this is true or not, but assume they are equal to you, or better because more often than not, most of them are.
You will amaze any potential employer by showing off your soft skills. Use your past jobs and side-projects to prove you have the necessary technical skills, but really showcase the fact that you can look beyond the code. Show the interviewer that you understand the business and your role within it. Your role is not to program or write code. Your role is to produce value for the company. (see what Apple looks for)
Understand the context
For that, you need to understand the context of your projects. When you are explaining to them about your past work, frame it in the sense of what it accomplished for the company. Why did the company or project need the code you wrote? What were the business goals behind the projects you wrote code for? How did you take initiative during the project? In what ways did you help guide it to completion? How did you help a team member through a challenge on the project? What were the sales numbers for the product? How much money did the project bring into the company?
You don’t need to have an answer to all of those questions. But this is how you should be framing your work. By thinking of your projects through the lens of questions like these, you will force yourself to develop the soft skills mentioned above.
Become a kick-ass programmer. Your goal should be to become the best coder that you can, and better than everyone else. But understand that those skills will only take you so far. Your skills as a programmer will be amplified exponentially by your ability to lead, collaborate, connect to other parts of the business, solve problems before anyone asks you to, and to ask the right questions at the right time.
Soft skills in programming are key.