Membership Prices Increasing in January.

Top 7 Soft Skills For Developers & How To Learn Them

Andrei Neagoie
Andrei Neagoie
hero image

I want to let you in on a little secret...

The people who pull ahead in life, usually have specific skills or systems that help them reach that pinnacle.

Sure, they might have natural skill or talent, but it's the things they add to that, that let them pull ahead.

There's a common quote in sports "Hard work will always outwork natural talent".

In tech, we don't always have to work harder to rise ahead. We just need to work slightly harder, while also working smarter. This way we can become more efficient, not just in terms of output, but in productivity, focus, and skill acquisition.

In this guide, I want to share 7 'soft' skills that the very best use, across almost every industry to get ahead.

So let's dive in...

What are soft skills?

Soft skills make you a better candidate, a better employee, a better colleague, and a better person overall.

Your technical skills will likely be what get you the interview. Your soft skills will get you the job, or promoted.

Soft skills, (also referred to as non-technical skills), are essential in helping you get that dream job. Not only that, they’ll also give you an advantage when it comes to advancing your career (salary increases, promotions, referrals for new opportunities, etc.).

Having great technical skills, whether that’s writing code, building machine learning models, or creating beautiful designs isn’t enough.

Here is the twist though: just having great soft skills alone isn’t enough either.

Confused yet?

GIF video

It’s the combination and stacking of your technical skills and soft skills that will get you hired and determine how successful you are in your career.

The good news is that soft skills can be learned just like technical skills.

There is even more good news: most people don't even try to learn these soft skills, believing that they are either born with them or they’re not.

By learning and practicing these soft skills, you automatically propel yourself above the average candidate who believes that they don't need to learn or practice these skills.

You now know the secret: your soft skills can be the real difference-maker to take you from being a good candidate to being a great candidate.

Ok, it’s time to dive into how you can acquire these skills. You can use these links if you want to skip ahead to a different section (but I recommend you read through the entire post to get the most out of it):

Let's get to it!

What’s the difference between soft skills and technical skills?

It might seem obvious to some but let’s just make sure we’re on the same page.

Technical skills: specific skills you need to complete your job. Easy to see if someone has them or doesn’t. They are the baseline. They are the requirement to do your role.

  • A chef having great knife skills
  • A programmer knowing how to write JavaScript code
  • A designer using Figma to create beautiful designs
  • A data analyst using SQL to run massive database queries
  • You get the idea…

Soft skills: transferable skills that are used in any job (and life in general). They’re harder to measure but valuable for every job. These are skills that can take you from being good to being great:

  • Communication
  • Teamwork
  • Problem solving
  • Time management
  • Coachability
  • and more…

We’ll dive into all 7 of the most important ones in a minute. But first…

Can soft skills be learned?

Soft skills can absolutely be learned. But just like technical skills, they require practice. Just reading about how to become a better writer won’t make you a better writer. You need to practice.

As I’m walking you through the different soft skills that are important for you to have, I’ll also provide some suggestions on how you can learn and improve them.

Why are soft skills important for developers?

I’ve already said but I’ll say it again. Soft skills are just as important as learning technical skills. Not just for developers but for any role.

These skills can be even more beneficial for developers though because many developers (and aspiring ones) tend to focus all their time and effort trying to improve their technical skills. I think part of the reason for this is because that’s just what schools are teaching them.

More tutorials. More projects. More coding challenges. Now learn more programming languages.

cats typing

At some point, there are diminishing returns to doing more and more projects or tutorials. It’s not your fault though.

How do you know any difference if no one tells you?

And that’s why I’m telling you all this. Because we aren't like every other school.

There are many reasons why soft skills are important, but these are the two most important ones.

Reason #1: soft skills will help you get hired.

Demand for developers and other tech industry professionals (designers, data scientists, etc.) continues to rise. That isn’t going to change.

From 2020 to 2030, demand for software developers is projected to rise by 22%, according to the U.S. Bureau of Labor Statistics.

But for anyone out there that’s tried to get hired in these roles, you know that this doesn’t mean you can just send in a resume with a certificate of completion and get hired.

There is still a lot of competition for roles. Especially the best roles. So you need to stand out.

Interviewers and hiring managers aren’t just evaluating your technical skills. They are also evaluating you for “culture fit”.

Translation: they are trying to figure out how good your soft skills are.

Here are some of the questions the interviewer is trying to answer for themselves:

  • Teamwork: Will you get along well with co-workers? Will you show patience and help others out?
  • Problem-solving: Are you able to come up with creative solutions to problems? (especially for developers!)
  • Communication: Are you able to communicate well?
  • Time management: Are you going to get important projects done on time with minimal oversight?
  • Coachability: Do you ask good questions? Are you receptive and inviting of feedback?
  • Mental game: Are you able to keep your cool when things get stressful? (this skill isn’t commonly discussed but I feel is very under-rated… we’ll dive deep into this one soon)

It’s much easier to know if someone has the technical skills for a job.

You can look at a designer’s portfolio. You can look at a developer’s GitHub profile or project portfolio or ask them to do a basic coding test.

How do you test if someone is going to be a good team player? Not as easy.

But this also means there’s more opportunity for you (the candidate) to differentiate yourself by demonstrating that you have these soft skills (in addition to the baseline technical skills).

Why do companies care about candidates that have these soft skills?

  1. They know that employees with these skills are likely to be more productive and fit in better with their team. Especially when comparing multiple candidates with similar technical skills. Generally, people with these skills are also just more enjoyable to be around!
  2. Soft skills are much harder to teach. Companies typically expect to have to teach you some technical aspects on the job but very few teach soft skills like writing, effective speaking, efficient learning, teamwork, etc.
Dilbert Technical Skills

Spoiler: this is not how the real world works.

Don’t get me wrong. Of course, you have to meet a minimum bar for your technical skills. But that bar is actually lower than most people think.

This might be provocative but it’s true…

Candidates with great soft skills but weaker technical skills commonly get hired over someone who clearly has super strong technical skills but weak soft skills.

GIF video

I'm just being real with you!

The good news for you is that I write more about this and strategies for increasing your success rate during interviews in the “During the interview” section of my How to Get More Interviews, More Job Offers, and Even a Raise Guide.

P.S. This is the same story for who is more likely to get a promotion and who advances their career faster. Don't say I didn't warn you.

Reason #2: soft skills will help you advance your career and reach your goals faster.

Some programming languages like Python have been around and relevant for a long period of time.

But if you read my monthly web development newsletter, then you know that every month, there are new languages, frameworks, and tools that come and go.

Soft skills on the other hand have been around for as long as humans. And the people who use them best tend to have the greatest success. This is not a coincidence.

Look at the people who become senior developers, managers, executives. They all tend to have one thing in common... they have spent time working on building these important non-technical skills.

Because these skills are so transferable, you are going to use them for your entire life and entire career.

These are all the ultimate future-proof skills.

Frankly, these skills make you a more awesome human. And they can be the difference between being a good developer (or designer or ML engineer) and a great developer.

Learning and improving these core soft skills will differentiate you in the best way possible. And they will help get you further in your career and meet your goals faster.

That’s why I created an Efficient Learning course and included it in so many of our career paths.

What soft skills do developers and other technical people need?

There are a bunch of articles talking about the importance of soft skills for developers.

But that’s the thing… it’s mostly all talk.

Most schools, coding bootcamps, and online courses aren’t actually teaching these skills.

I’m going to start by talking about 6 of the 7 "commonly discussed" non-technical soft skills that I think are most important for developers. These aren’t revolutionary.

  1. Communication
  2. Teamwork
  3. Problem Solving
  4. Time Management
  5. Coachability
  6. Emotional Intelligence

But then I’m also going to tell you one additional Life Skill that has had a huge impact on my own career that I don’t see anyone else talking about.

What could it be?! Can you feel the suspense?!

We don't just talk about the importance of soft skills here at Zero To Mastery though. We actually teach you valuable soft skills.

Let’s start with the soft skills that are more commonly discussed.

1. Communication

This is how well you express yourself verbally or through written communication.

Oral communication:

You don’t have to be a professional public speaker. But being able to explain your thinking clearly is important. Being able to hold a conversation and ask good questions can go a long way.

  • Discussing potential alternative solutions to solve an issue in your code
  • Being able to concisely talk about your previous experiences in an interview (vs. rambling on without actually making a point and boring your interviewer to sleep)
  • Asking good questions to your designer before you get started on a new project to make sure you’re both on the same page can save a lot of time and back-and-forth later on
  • Being able to explain complicated technical topics in a simple way that non-technical team members or clients can understand

How can I improve my oral communication skills?

Like most of these skills, you really just have to find ways to practice. Here are a few ideas:

  • To improve your success during interviews, try recording yourself answering common interviews questions and get friends or mentors to give you feedback. You can also ask them to do live “mock interviews” as well
  • Find a local toastmasters club. They create a safe environment where you can practice communication skills along with other people who are trying to do the same thing
  • Take a stand-up comedy class. This one may seem crazy but what a great way to push yourself outside your comfort zone
  • Start a youtube channel where you record yourself working through coding challenges and explain your thinking along the way

Written communication:

Especially with so many roles moving remote, teams working asynchronously (“async”), and increased usage of tools like Slack and Discord, written communication is more important than ever.

How can I improve my written communication skills?

Anything that gets you writing.

  • Start a blog. Teach others what you’re learning. Brittney is a ZTM mentor that has taken notes on the courses she has taken and publishes them. Or just start writing posts on a platform like Dev.to or Medium
  • Work on open-source projects. These require you to communicate with others
  • Answer other students' questions in the ZTM Discord or on forums like Reddit or StackOverflow. This not only helps you practice writing but also helps reinforce your knowledge and gives you practice explaining things clearly. And you’re helping someone out… so nice of you… could this be a sign of someone who would be a good teammate as well?! I think so!
  • Bring a notebook with you everywhere and take notes during meetings. Type up and summarize those notes and share them with everyone who attended the meeting

One final thing to remember with communication is the importance of listening and asking questions.

Dilbert Communication Skills

2. Teamwork

You spend as much time (or maybe even more) with the people you work with as you do with your friends and family. So it’s only natural that people want to work with other people that they enjoy working with.

  • People that are willing to help even if the task isn’t “part of their job description”
  • People that take the time to answer questions of others and be patient with them
  • People that are positive and don’t complain
  • People that take the time to try to get to know other employees from different departments and ask how you can help them or make their lives easier

At a company, you are all on the same team working towards a common goal. The more helpful you are to others, the more helpful people will be to you.

And you are much more likely to get that promotion you’re hoping for.

3. Problem Solving

This skill pretty much defines the job of a programmer, designer, data scientist.

This is part of what makes these jobs so interesting and exciting. You get to work on and solve some really interesting problems.

But there is a difference between just following what you’re told to do and trying to think outside the box and be a little creative.

A lot of times, less = more.

You will continue to improve this skill as you have more and more experience.

This is why it’s so important to try and build your own projects when you are learning to code vs. just watching tutorials. It’s also how you get out of tutorial hell.

It will be hard. It will be a struggle. But it forces you to work on this problem-solving skill.

  • How have other people solved this problem I am facing? (Hello Google. Hello StackOverflow.)
  • Is there a better or easier way this could be done?
  • How have other people or industries or companies approached this problem? Why?

You know what the biggest pet peeve of most managers is?

People who come to them with new problems but no proposed solutions. This is the worst. You are literally creating more work for them. Your job is to be solving problems, not create them.

Want to accelerate your career and build trust? When you encounter a problem, try and figure it out yourself first. Try to come up with a few potential solutions and think through which one you think is best.

THEN go to your manager and say:

“Hey. We’re facing this problem. Here’s what I’ve done so far to try and figure this out. I think we could solve this by doing X or Y. I think Y is a better solution for these 3 reasons. What do you think? Is there anything I’ve missed?”

This is also an example of great communication skills.

Your manager will love you for doing this.

Even if your solution isn’t the best one, you’re showing you put in the effort. Your manager will be more than willing to teach you how to better solve that problem in the future. And they'll trust you more.

4. Time Management

I like to think of time management as actually being a subset of becoming more efficient. Whether that’s becoming a more efficient learner or more efficient at completing projects.

The more efficient you are, the more that you can accomplish and the more likely you are to achieve your goals.

  • Learning to code more efficiently = getting hired faster.
  • Work more efficiently as a freelancer = more money you can make
  • Structure your day strategically = more time to work on the projects you enjoy the most (or more free time)

There are a lot of different techniques you can learn to use to improve your time management and be more productive.

  • Setting SMART goals
  • Using the Feynman Technique
  • Pareto Principle
  • Pomodoro Technique
  • Deliberate practice
  • Method of Loci
  • And much more…

Each of these could have its own blog post. But then you’d have no reason to take my Efficient Learning course where you can learn all these and when to use them 🙌.

Like I said. We don't just talk about the importance of these skills. We teach them.

One important time-management career/life tip I can teach you right now… don’t overpromise and underdeliver.

For example, when your manager asks how long a task will take to complete, overestimate how long you actually think it will take by… at least 3.

Why?

Let’s say the task actually took you 2 hours but in:

  • Scenario A: you told your manager it will take you 1 hour
  • Scenario B: you told your manager it will take you 3 hours

In Scenario A, your manager is annoyed with you and is frustrated that it took you twice as long to complete the task.

In Scenario B, your manager is so happy with you because you got the task done even faster than you told them.

In both scenarios, the task took you 2 hours. But Scenario B “you” will be viewed much more favorably.

So make sure to under-promise and over-deliver.

5. Coachability

Stay humble. Don’t be a “know-it-all”. There’s always something you can learn from anyone.

I could have also called this soft skill “Adaptability” as I think it goes hand-in-hand with “Coachability”.

I think of coachability and adaptability as:

  • Someone who is open-minded
  • Someone who is always asking “why”
  • Someone who is deeply curious, asks great questions, and doesn’t care about “looking stupid”
  • Someone that makes the most of a shitty situation
  • Someone that isn’t afraid to learn new skills and try new things
  • Someone that isn’t afraid to make mistakes and learn from them
  • Someone that can change their mind on a topic or belief as they’re presented with new information

This is also the exact type of person we look to hire here at Zero To Mastery.

The tech industry changes so quickly. Companies need people who can adapt quickly with it.

During his Stanford commencement address, Steve Jobs said:

“Stay hungry. Stay foolish.”

Translation: Work hard. Keep learning new things. Stay open-minded.

Speaking of learning new things. Part of being coachable is being a lifelong learner.

If you’ve been a ZTM member for a while, you’ve definitely heard me talk about how valuable I think skill stacking is.

It’s definitely one way you can really stand out to potential employers or clients as a freelancer.

Skill stacking?

  • Being able to code and design
  • Being able to code and do SEO
  • Being able to design and write good copy

You get the idea. The more complementary skills you have, the more value you can provide.

The more value you provide means a better chance of getting hired, being able to charge clients more money and keep them longer, advancing your career faster.

Legendary investor Charlie Munger said:

charlie munger be a learning machine

The end of that quote then says: "... They go to bed every night a little wiser than they were when they got up."

Learning is a journey, not a destination. Be a learning machine!

Constantly learning new things, learning about ourselves, pushing ourselves past our current comfort zone, and embracing the journey of becoming a better human.

This is the ultimate cheat code to being happy and successful.

6. Emotional Intelligence

I find this one the hardest to explain. It’s also not really something you can put on your resume.

The best way I can think to describe it is by quoting something your parents probably told you growing up:

“Treat others how you want to be treated”

Be mindful of how your actions or words might impact someone else or be interpreted by someone else. Try to put yourself in the other person's shoes.

Be empathetic.

Everyone has different backgrounds and different life experiences. Not everyone is going to see things the same way as you do. Respect other people’s viewpoints and try to better understand them.

This is especially important for people working in roles that are user-facing like designers doing user research. We have to be cognizant of our own biases.

A simple example of this is the fact that non-programmers are unlikely to know how long it takes to complete a programming task.

They think most requests they make should just be a “quick change”. As I’m sure you know, that’s often not the case. Rather than being dismissive of them, take the time to help them understand why that’s not the case in a respectful manner.

Sometimes it can be something as simple as someone else having a tough time with a personal issue happening at home. So try and give people the benefit of the doubt. Be kind.

Always smile. Always say thank you. These simple acts can make a huge difference in someone’s day and make them view you in a positive light.

Emotional intelligence is also about being mindful and self-aware of your own emotions. Are you annoyed about something so now you’re rude to someone else?

How do you react if you get a poor performance review? Do you go storm off and talk crap about your manager or do ask for feedback on how you can improve.

And sometimes you just need to know when you need to step away from your computer for a few minutes to take a break and reset.

This is where the next non-technical skill can help you the most. And why I think it’s so important to learn.

Ok, the wait is finally over… my secret soft skill:

I’ve used both “soft skills” and “non-technical skills” to express the same idea so far…

But you know what?

Let’s create a new name for them. Life Skills. Because that’s what they are.

These skills are a key part of future-proofing your career and are beneficial for any role and any career.

I’d even say they’re key to living a better LIFE… so I’d say Life Skills is a good name for them.

7. Mental game

This is the Life Skill that isn’t talked about much. But I think it’s super important.

When I graduated from college in my 20s, I entered the real world to find myself “faking” importance.

What do I mean by that?

I mean that you enter the workforce, you think that you’re ready for anything.

But you quickly realize that you still have so much to learn on how to succeed at work. This is especially true when it comes to figuring out how to maintain a good healthy mental state.

You’re constantly juggling so many things.

  • Trying to impress your boss, your co-workers, your friends
  • Figuring out how to advance your career
  • Trying to learn new things without a school to tell you what to do each day and the steps to take
  • Trying to find meaning in your work
  • Balancing all your personal responsibilities

School doesn’t prepare us to deal with this mental overload.

So why am I telling you all this?

Because one of the life skills that has had the biggest impact on my life during my 20s was working on my mental strength through the practice of mediation.

Without meditation, I wouldn’t be where I am today.

Learning to meditate and practicing mediation is an amazing LIFE SKILL.

It’s not commonly discussed amongst developers, but it can have a profound impact on your success both at work and in your personal life.

For you developers out there, think of meditation like a soft reset of your mental processor. If your computer is acting up or running slow, you reset it.

GIF video

It's kind of the same thing when you meditate. You’re resetting your brain which is your own mental CPU.

Resetting your brain allows you to focus and perform better.

So, when I created Zero To Mastery, one of my long-term goals wasn’t just to teach the valuable technical skills that every other school teaches.

I wanted to make sure to also prepare people for the real-world by teaching them Life Skills.

Skills like meditation and efficient learning that I was never taught in school but have come to realize how important they really are.

Here at Zero To Mastery, we are building a community of lifelong learners who help each other grow and succeed, not just a factory that cranks out coding robots.

We want you to be a learning machine, but not a robot!

This is why we aren’t just another “online coding school” teaching you how to code (but we still do that quite well if I do say so myself 😉).

We also teach you these valuable non-technical Life Skills that will make you a better person.

And our new meditation course will do just that.

Learning to Meditate [Productivity & Focus] is taught by Oana Dragan.

Oana is one of my good friends and I cannot think of a better person with more experience in this field to teach you this life skill. We are super duper lucky to have her.

Meditation isn’t all woo-hoo either. Be open-minded and don't knock it until you try it.

As Oana will show you, it’s a tool that can help improve your productivity, your focus, and get you through stressful and overwhelming situations.

If you’re a normal human and not an AI-powered robot, you’ve definitely experienced feelings of stress, anxiety, frustration, etc.:

  • Annoyed with a colleague or manager who makes you feel dumb when speaking to you (or just steals your lunch snacks)
  • Stuck on the same problem for hours feeling like you’re making no progress
  • Feeling stressed because you’re working on a tough project with a tight deadline
  • Anxious about trying to land your next job and preparing for interviews

Meditation is such a powerful tool to help you get through these tough times. If you want a sample of how you can use this in your daily life, Oana wrote a guide on meditation for coders here.

How can I demonstrate soft skills to interviewers?

It’s hard to put soft skills onto a resume. PLEASE... Definitely do not write – “Great written & verbal communication” on your resume.

This is meaningless to a hiring manager. Anyone can write that.

You need to show it.

Soft skills are things you demonstrate throughout the entire interviewing process.

  • Through your experiences – started a blog (written communication), helped others or worked on open-source projects (teamwork), went above and beyond to stand out (creativity), taught yourself how to code while also raising a child and having a full-time job (time management)
  • Through your emails – written communication
  • Through your phone calls & interviews – verbal communication
  • Asking great, thoughtful questions to your interviewers = curiosity and a willingness to learn

That’s it. That’s the little secret. As with anything in life, those who continually show up and put in the work, will outpace those that don’t.

The choice is now up to you. So what are you going to do?

Chase those dreams.

By the way, if you want to learn both technical and non-technical skills that you need to have a successful career in the tech industry, then come join us as a member of Zero To Mastery.

More from Zero To Mastery

[Full Guide] Learn To Code For Free in 2024 & Get Hired in 5 Months (+ Have Fun Along The Way!) preview
Popular
[Full Guide] Learn To Code For Free in 2024 & Get Hired in 5 Months (+ Have Fun Along The Way!)

Updated for 2024 (including A.I. & ChatGPT). In 2014, I taught myself how to code & got hired in 5 months. This is the step-by-step guide I used. Now 1,000s of other people have also used it to learn to code for free & get hired as web developers.

The 6 Mistakes I Made When Learning To Code (And How To Get Past Them) preview
Popular
The 6 Mistakes I Made When Learning To Code (And How To Get Past Them)

This article will help you save time and avoid the mistakes that a lot of beginners make. If I could go back in time, this is how I would have saved myself from countless hours, days, and months working on the wrong things.

ZTM Career Paths: Your Roadmap to a Successful Career in Tech preview
Popular
ZTM Career Paths: Your Roadmap to a Successful Career in Tech

Whether you’re a beginner or an experienced professional, figuring out the right next step in your career or changing careers altogether can be overwhelming. We created ZTM Career Paths to give you a clear step-by-step roadmap to a successful career.