Why you need soft skills

Javascript, Python, Golang, Rust, C#, PHP… Developers always talk about the languages they use, but what about “Soft skills”?

It’s time to learn what “Soft skills” are and why they are important, even more than the languages you know.

Table of contents
Why yesterday was my worst day as a developer
How did I feel
Now what?
What “soft skills” are?
Conclusion

Why yesterday was my worst day as developer

Bad day as programmer

Before telling you what “soft skills” are, first let me tell you a story. My story.

Yesterday, after 4 months of working in the code, I had to show a demo to one of my employers’ client. After 4 months, they expected a lot to be done.

In those 4 months, I could only dedicate less than 3 months to their project as I spend 1 month doing another project for another client (and I took 2 weeks of holidays).

When the time to show the demo came, it didn’t went well.

A few things didn’t work as well I thought they did, a few features were missing because I didn’t read properly the specs. And even more (I don’t want to bore you with the details).

The point is that the meeting went bad. Pretty bad. For my employer. For me. Especially for me.

How did I feel

The IT Crowd
Me, yesterday

The situation, as I said, was pretty bad. A few but critical features didn’t work as I’ve planned. I feel bad. I felt like a failure.

Not on a technological-savvy side, but as a person understanding other people needs.

I’m going to fix the bugs pretty fast as I can solve most of them in a few minutes each one. I don’t mind about that.

The problem was that I had the specs written down and I didn’t pay the 100% attention they deserved, as I focused on solving very specific bugs before the demo.

The problem was that 4 months passed without showing a demo to the clients, without asking them when I had doubts about implementing one feature or having any kind of contact.

Definitely, the problem was that I thought the only thing I was to focus was on my tech skills.

Now what?

Time to work!

I could blame the client for switching features in and out. I could blame my employer because he didn’t follow up with everything I did.

But I know 99% of the problem was me. I should not need my employer to keep an eye on me to produce what the client needs. I should have kept more in touch with the client to see if what I was doing is what they want.

Yes, I have little experience as a programmer in a business environment, but that’s not an excuse. I want to be a professional in every field of my job.

And for that, being good with code is not enough. You need soft skills

But…what “soft skills” are?

Soft skills a programmer should have

First, let’s see the meaning of “Soft skills”:

Soft skills are personal attributes that let you interact with other people effectively.

We are talking here about empathy, teamwork, good communication flow (with your clients, but also employers, workmates, etc), adaptability, leadership, presentation skills, being open-minded to other people, being accountable of the bad things (not only the good ones), learning from criticism.

Seems like “Soft skills” is more than a buzzword that people throw randomly at LinkedIn, right?

I have worked with developers that could create good code and fast. They didn’t last too much.

And they didn’t because producing code it is not the only thing you need to do. What is the point of being good at coding if you don’t interact properly with your coworkers?

Why you don’t notify your boss what problems are you encountering and which ones did you solved today?

You can answer this question yourself:

Would you hire a good programmer that can make whatever you want in 1 week, or would you rather hire an average one, that will need 2 weeks, but keeps a constant communication with you telling you what it is he doing, the trouble he’s running into and telling you that he thought about adding X feature that was not requested by the client, but it will help him because it will solve a future problem he didn’t foresee?

The professionals already now.

Conclusion

Despite what you read, by all means, keep learning new languages and how to learn.

But also learn and improve your soft skills. Communication with your boss, clients and coworkers is important. Knowing how to throw a good presentation too. How to manage your time.

Learn soft skills because it will multiply your value as a programmer as interacting with people is the bread and butter as a developer.

You won’t last in your job otherwise.