10 Soft Skills Every Developer Needsby@cronofy
90,970 reads
90,970 reads

10 Soft Skills Every Developer Needs

by CronofyJanuary 2nd, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

<a href="" target="_blank">Oxford Dictionary</a> describes soft skills as:
featured image - 10 Soft Skills Every Developer Needs
Cronofy HackerNoon profile picture

Oxford Dictionary describes soft skills as:

Personal attributes that enable someone to interact effectively and harmoniously with other people.

Things like empathy, open-mindedness and a willingness to learn are all soft skills that we can utilize whatever industry we’re in.

We’ve spoken to the developers at Cronofy to see what soft skills they feel benefit them most, and how you can improve yours.

1. Empathy

Being able to empathize with your team allows you to fully understand the problems that they face and find a way to make your project work for everyone.

Suggesting new ideas is much easier when there is an understanding between members of a team that there won’t be any negative feedback or mockery, no matter how someone feels about an idea.

Empathy allows us to predict how others are likely to react to what we say, meaning that we can tailor how we speak to our audience.

If you don’t like someone’s idea, ask yourself why. Then, when you give feedback, start off by saying something positive about their suggestion, then what you don’t like, and finish off on another positive. This ‘sandwich’ approach means that the person you’re giving feedback to won’t dwell on the negatives but will understand the pros and cons of their idea.

Empathizing with your user, meanwhile, allows you to see things from their point of view. They’re the ones that will be using your product, so you must always, always try to see things from their point of view before your own. Just because you like how something looks/works, that doesn’t mean your users will.

Decision-making should be about more than personal preference.

2. Communication

Effective communication is key both at work and at home.

Our developers are key parts of our team and are always willing to speak up in meetings, whether they’re with staff or customers.

Some things to keep in mind to communicate effectively:

  • Speak clearly and with conviction, even if you’re unsure of yourself — people will pay more attention to what you say if you say it with confidence.
  • Listen. The best communicators spend as much time listening as they do talking.
  • Don’t interrupt the person speaking. Let them say what they want to say, then chime in with your thoughts.

3. Teamwork

No matter what you do, there will be time when you have to work as part of a team.

Whether it’s a team of developers, designers, or a project team, developers need to work well with others to be successful.

Working well with others makes what you’re working on more fun, and makes people more likely to help you in the future.

You may not always agree with the people in your team, but having different points of view helps to build more successful companies.

4. Approachability and Helpfulness

At some point, someone’s going to want to ask you something. It could be about your tasks for the day, about an issue or a bug, or just about your plans for the weekend. Being approachable is key.

If people don’t feel they can approach you and ask you something, when something goes wrong, they’re less likely to ask you for help. That could mean that a little problem soon evolves into a big one.

Not being approachable or helpful also means that others are less likely to help you should you need it.

If you can establish a rapport with people, they’re more likely to work with you and not against you.

Make it clear to people when you don’t have time to communicate by putting headphones in when you’re busy and setting yourself offline on the company chat. If someone still approaches you, set a time when you can meet to discuss things.

5. Patience

Sometimes you’ll be a part of a team or meeting that doesn’t just consist of developers. That means you’re going to have to explain the reasons behind your decisions and do so in a non-technical way. Some people will get everything straight away, while others will need more time. Being patient with people at moments like this is crucial for teams to work well together.

Not everyone understands how difficult programming is, or how long code takes to write. They may ask you to do something without realizing the scope of what they’re asking. This can lead to frustration. Take your time to explain why it’s not as simple as they think, and to answer any questions that they have. Once you’ve taken the time to do this, future sessions will become much easier!

6. Open-mindedness

When your mind is open, you’re more willing to accept new ideas, whether they’re yours or someone else’s. Even the worst ideas can inspire something great if you’re willing to consider them before dismissing them.

The more ideas you have, the more projects you have the potential to work on.

While not every idea you have will turn into something, you don’t know what will until you’ve thought about it in-depth.

Keep your mind open to new ideas not just from your team, but from the rest of the company and even clients. Clients are the ones who use your product, so they’re the best people to tell you what works and what they need.

7. Problem solving

At some point in your career, you’re going to face a problem. It could happen on a regular basis, or it could be rare, but it’s inevitable.

How you handle problems will have a big impact on both your career and the company you work for.

Problem solving is a key skill that employers look for in prospective employees, so the more examples you have of problem solving, the better.

When approaching a new problem, always view it objectively, even if it’s one you created accidentally.

Once you know what exactly the problem is, find out what caused it. Finding a solution is easy once you know the cause. Almost.

It’s also important to remember that whether you caused the problem or not, you don’t have to fix it alone. Working with people in and outside of your team helps you to solve a problem faster than doing it alone.

8. Accountability

Accountability is all about taking ownership of your mistakes. It can be difficult to admit that a decision you made created an undesirable result, but in the long-term, both you and your employer will be better off.

When you hide from your mistakes, there’s every chance that you or one of your colleagues will make the same mistake in the future.

Instead of running from what happened, put your hand up and admit responsibility. Use the opportunity to analyze what went wrong, then use this data to fix the problem and teach you and your colleagues how to avoid similar mistakes.

9. Creativity

The best ideas and solutions often come to us when we approach things from a different, less obvious angle. This is what separates the most creative people — from programmers to entrepreneurs to authors — from everyone else.

Despite popular opinion, creativity can be learned, but it comes with practice.

Reading fiction, writing, art, crafts, even cooking are ways of exploring creativity. The more ways of creativity you explore, the easier it is to find different ways to approach the same problem.

10. Time management

When you have a lot to do, knowing how to manage your time is crucial.

How much time do you spend planning?

Actually coding?

Working with your team to come up with new ideas?

Managing your time efficiently allows you to focus on what’s most important and get tasks done more efficiently.

Techniques like the Pomodoro technique, where you work for a set period of time on one task, take a break, then go back to it, or Kanban, where you visualize your tasks, are great ways to build a routine or learn how to focus your attention if you’re prone to multitasking.

While sometimes the need arises for multitasking, and you may feel like you get loads done when you do it, studies have shown that it’s bad for productivity.

Not giving something your full attention means that tasks take longer to complete and you’re more likely to make errors.

If you often multitask, prioritize your to-do list then use one of the techniques mentioned above to help you focus. You’ll be surprised how much faster you get things done when they have your full attention!

Over to You

What soft skills help you the most as a developer?

Let us know if you think we’ve missed any over on Twitter @cronofy!

This was originally published as a two-part series on the Cronofy blog.