In development, there's naturally a big focus on technical skills - like what programming languages and frameworks you know or how familiar you are with database management.
That's all well and good, because obviously we need some baseline level of coding skills to work as professional developers.
But I also think that technical skills sometime end up taking too much focus compared to other, more interpersonal skills (also known as "soft skills").
Let me illustrate. Imagine you have 2 different developers at your disposal:
- One is an amazing programmer. He's been coding since he was 12 and knows all the ins-and-outs of every major programming language and framework. Unfortunately he's also an asshole that takes too much pride in delivering "perfect code", never communicates, and has no regard for budgets or the work of his teammates.
- The second one is an average programmer. He can get the job done, but will always take longer than the first one. But he is exceptional at communicating his progress, making his teammates shine and delivering the most value possible within the business constraints.
I'm sure you can see where I'm going with this. If I had to choose, I would work with the second developer every day of the week. That's the power of soft skills.
Luckily for all of us, learning soft skills is actually a lot easier than learning hardcore technical skills - as long as we focus on the right things and put in some effort. Mainly three topics are crucial if you really want to level up as a developer and progress your career:
- Teamwork. Regardless of where you work, you will always have other people to collaborate with. This can be designers, project managers, stakeholders etc. And if you don't respect and listen to your teammates, they won't respect and listen to you.
- Communication. Since you'll always be working with other people, clear communication (both spoken and written) are essential for good developers. This is how you make sure a project stays on track, that you receive what you need from others, and that you all work on the right things.
- Understanding the business. This one is about understanding your role as part of a "greater good" in a business. Being able to spot what creates the most value for an organization is a key element in prioritizing the right tasks and choosing the right battles.
There's obviously a lot more soft skills worth learning, but I find these to be the 3 major ones.
If you can nail those, on top of having solid technical skills and generally being fun to work with, you'll have an amazing career 🔥