You are preparing to become a Software Developer. And you are coding, practicing, completing exercises, following tutorials online, learning JavaScript, algorithms, React, loops, Java, variables... and that is great, but you may be missing something along your path.
Soft skills
Coding is fundamental for a developer, but there's more to it than just that: soft skills are essential too! Actually, social and communication skills are almost as critical and not as easy to master.
Anyone can get to a Junior Developer level in a matter of weeks or months and, with some time and experience, master their coding skills... but coding is not everything.
Empathy, creativity, open-mindedness, good communication, critical thinking, teamwork mentality... they complement the technical knowledge and will take you to the next level.
The good news is you may have those soft skills already! And trust me, we need them in our industry. We really do.
Some people have these skills naturally. Some others need to practice them a little (...or a lot). But we must work on them to grow as developers (and as people in general).
Here's a little secret: you are not being evaluated just for your technical knowledge in a technical interview. By the time you make it to the technical interview, you should have passed a technical screening, and we have a general idea of your coding abilities.
We also want to make sure that you'd be a good fit for the team and organization, and look for other types of skills: communication, creativity, critical thinking... do they ring a bell?
Listening
While the soft skills are very different among them, there is a common factor that can help improve many of them at once: Listening.
Notice that I use listening in a wider sense, which includes listening, reading, observing, and even writing (which is really useful for solidifying knowledge and improving communication skills.)
Seriously. Do you...
- ...want better communication skills? Listen to people. It will help following the conversation better, will make you more secure and able to answer. Even if they are not talking to you: listen and pay attention to how senior coworkers present the topics and learn from how they do it.
- ...want to boost empathy? Listen to people. Understand how they feel, what they are going through, what they think. It will help you understand their needs better, and it will improve the team mentality.
- ...want to be more creative? Listen to (creative) people. Get ideas, inspiration, challenges... Every artist has been influenced by previous artists. To improve your creativity, search for and listen to other creative people.
- ...want to improve teamwork skills? Listen to your teammates! Not only to what they have to say but also to how they present things: read their tickets carefully, make sure that you have all requirements... more listening later translates into fewer bugs and missing features and faster review cycles.
- ...want to...?
Do you see the pattern?
Of course, there are many other ways to improve soft skills, but I find that a good one is following Vanilla Ice's advice: "Alright: stop, collaborate, and listen." :P
Conclusion
Technologies come and go. Programming languages rise and fall. The same language/library changes from one version to the next... but being assertive, having empathy, knowing how to present ideas... those are things that will be with you always. And they will open many doors.
While you prepare for your Software Developer career, don't just focus on coding and also set some time to invest in your soft skills. It will go a long way.
Top comments (12)
Good article, I would add
..want to avoid conflict ? Listen to people. We live in a world where answer should be instantaneous, we don't like to wait but interuption when someone is talking may lead to a conflict. We have to listen, analyze, listen to a bit of silence before sharing an answer. This is the good way to team working.
What is it that people say? There's a reason why we have two ears and one mouth? I do agree, in some way. But I will also say that I come from a place of great conversationalist. Since moving, I do miss said conversations. I feel like everyone is so afraid now a days, or harming other individual's emotions in some capacity. There is nothing more satisfying in my book, that worming out a solution as a group. Yet maybe I am in the minority with this mindset?
It's not that things will be instantaneous in this manner, but cohesive. It's a cheesy concept, but when communication is kinetic or synergistic, I think humans are at their most beautiful. Because we are trying, as a unit, to move towards one goal in earnest.
I don't quite buy the idea that anyone can just master coding, regardless of time or experience. I don't even think that anybody can become really good at it. It's just like any other skill: It's just not for everyone.
That's a good point. Programming is not for everyone... but neither is driving, playing sports, or any other thing. I see coding as something from the movie Ratatouille: not everyone will become the best chef/coder in the world, but everyone can learn how to cook/code and do a decent job. Maybe not master-master, but at least good enough.
I think having an open-ear on things needed is very important, and this is the very essential ingredient we developers need to grow as a person also. I've been working solo in a start-up project, which I struggle most of the time, and I rarely get the chance to talk with other developers that are relevant to the technologies that I use. :)
Same thing happened to me when I was alone in a start-up. At that time, I attended many meetups and programming gatherings that helped me meet new people and see new technologies and ideas... I really miss that.
Apparently somethings that seems so simple, is actually the hardest things to do. Nice writing, this reminded me that listening is one of the key skill that we must have to grow up as a professional & personal
Thanks!
Great post on some of the other skills we need as developers. I worked with a lot of junior developers who either wanted to become senior developers or start freelancing/consulting that only focused on their programming skills.
They assumed because they wrote great code they should be able to move up or easily get clients, forgetting all the other responsibilities and tasks that go with being a senior developer or consultant.
Don't just code... documentation is a useful task because it helps developers understand the core concepts clearly. As many have said, it's only when you can explain something in simple language, you begin to understand it yourself. It's with this focus that we started Devopedia.
well said!
Thanks!