The Importance of Soft Skills as a Software Developer

Introduction

This blog post is more career-focused rather than technical: how something as simple as communication / "soft skills" is absolutely essential for becoming a Senior Developer. Senior Developers are often viewed as developers with exceptional technical skills and acumen by many. Unfortunately, that's not the whole story.

Technical skills are crucial and more important than having great "soft skills" to land a job, but I do think "soft skills" are very important as you look to progress in your career.

Why should I care about something other than code?

You may be thinking:

I am a software developer: I chose this career because I prefer talking to computers than people. Why are soft skills important for my career?

Regardless if you follow the EM or IC promotion track, this is a common theme I have observed in my previous roles:

The more senior you become in this industry, the less code you write.

As a Principal IC, you may be flooded with meetings and have limited time to write code. As an EM, you may stop writing code altogether.

In short, software is a means to an end.

Let's talk about the PIE

In order to become a senior developer, there are 3 major factors: PIE.

P for Performance I for Impact E for Exposure

Performance

Performance is probably only around 10% of what matters, Impact is 40% and Exposure is around 50% in my opinion. I have gathered these estimates based on what I've seen at work with my colleagues getting promoted.

As long as you can deliver tickets on time, on budget, reliably and to a high standard, you're sorted.

Obviously the expectations are higher for senior level roles at FAANG, but I am talking solely from my experience at companies I've worked at.

Impact

Soft skills are important because nobody likes working with someone who is no fun to be around. As a senior, people need to respect you and communicate with you regularly. You need to be approachable and friendly in addition to being technically capable. Seniors will be the face of the team and if they can't communicate they will not be trusted or respected regardless of how much they've improved code coverage or improved the app load time.

I've seen people get promoted to Senior Developer without amazing technical skills, but outstanding people skills multiple times. It matters much more than you think. Seniors act as role models with the way they conduct themselves. Their impact is felt team-wide and they are significantly visible because they are leaders in their domain. You can only have impact as a force-multiplier with excellent verbal and written communication skills. People should want to listen to you, and value what you say.

Exposure

Nobody will actually recognise your work unless you showcase it and demonstrate tangible business impact. Your impact needs to be visible with your higher-ups as well as the wider team for them to advocate for your promotion case. e.g. crushing Performance KPIs, improving developer velocity or reducing app bundle size. So, foster great relationships with everyone you work with, but especially your manager, senior managers, senior analysts, senior architects, and team leads. The more senior they are, the more powerful they will be as your allies.

Guard your professional reputation like you would guard gold and silver.

How do I develop soft skills?

"Soft skills" are a skill that can only be developed by experience, and learning from past mistakes. Being aware that you need to improve in this area is crucial to overcoming communication difficulties, and it's the first step.

If you get feedback like "he could focus on being more of a team player" may give you hints that you need to work on active listening and being more approachable. Talk to people in general if you have questions about feedback you receive, and look to keep improving yourself throughout your career.

Feedback is a gift and compound interest is the eighth wonder of the world.

Small improvements over time really add up.

Another example would be picking up on team issues without being prompted. A teammate may be struggling, and too hesitant to reach out for support. Senior Developers proactively reach out to people, and initiate the conversation. They look out for the team, and don't require hand-holding.

Nobody can teach you these things, but self-reflect to understand your unique weaknesses / belief systems. As a team player, you need to celebrate and cheer on your colleagues, and be fun to work with. There's no shame in acknowledging someone's strengths, it doesn't make you look any worse.. in fact it shows maturity and leadership! 💪

Remember, the whole team is working together towards the same goals, and it's not a competition.

If you want to go fast, go alone. If you want to go far, go together. - African Proverb

Good luck! 👏

I hope this article helped you, and I will leave you with a celebratory GIF.