Last Thursday I got into a small “argument” on Twitter about soft skills. Someone wrote that in order to become a senior developer you need to invest in both tech skills and soft skills. I disagreed and eventually we agreed to disagree.
Twitter is not a platform where you can explain your thoughts, so I thought I will do that here.
What are Soft Skills?
Soft skills are skills related to personal behavior, communication, and social interaction. I have been writing about it quite a lot in my “becoming a consultant” series, especially in the “personal skills” part but not only.
Soft skills are important when you need to work with other people in general, and moreover when you manage other people. Communicating effectively with different people (whether colleagues, managers or subordinates) will increase your success in completing your tasks (and theirs), leading the company to a better result.
How About Developers?
I am not a developer, I’m a DBA and a consultant (and have been for more than 20 years), but I have worked a lot with developers and other people in many organizations.
First and foremost, developers are part of the company just like any other employee. They usually work in teams and team intercommunication is very important. It’s also very important for developers to communicate with the QA team as well as product management and other parts of the company.
I’ve seen many different developers, and communication was usually a key value in order to fix problems, build new features, improve performance, and transfer knowledge.
Promotion to a Senior Level Developer
When you become a senior level (developer, IT person, consultant, whatever), soft skills are even more important. Why? Because it is expected that you train the junior level people and take over more difficult tasks (which usually require more communication).
So Why Don’t I Agree?
I’ve written quite a lot already in this post, and all I have said is that developers, especially senior ones, need good soft skills. However, in my response to the tweet I disagreed with this statement. Why?
Because as we (in the DB world) like to say: it depends…
Yes, soft skills are very important, for everyone, and for senior level people even more. But it’s not an obligate part of the job description as a senior technical person. In most cases, senior developers might be required to train other developers, but it’s not always true. In some cases they are expected to be more communicative with other teams, but this is not always true either.
I’ve met senior developers that can write code that very few people can. It works flawlessly, is written beautifully, and they wrote it completely by themselves. They found it hard to explain it to other people, and some of them find it hard to explain most things to other people. Do they have good soft skills? Not so much. Are they senior developers? You bet!! They are highly experienced and write amazing pieces of software. They (like everyone else) have good qualities, and not so good qualities. Some of them are super shy, some just think in a completely different way, it doesn’t mean they are not excellent senior developers.
This is all I wanted to say. You CAN be a senior developer even if your soft skills are not great. However, soft skills are important to ANY position at ANY level. If you think there are skills you should work on, do it – you will definitely benefit from it.
Do you think the same? Differently? Feel free to comment with your opinions.
Good points. I worked with one developer many years ago that was a rockstar. His first day working on a project that I was in charge of, he got more done than the prior 2 people did in 6 weeks.
But he could not give a status report to save his life. When I talked to him he was able to tell me what he had done and ask questions about next steps, so he did have some soft skills, but it was a challenge to get him to explain his work.
I often wonder about him. As a developer, he should be able to have any job he wanted and should be at the high end of the pay scale in any market. But I suspect that he probably missed out on many opportunities just due to his lack of communication skills.
It is a game of probabilities:
good developer with good soft skills – will get more opportunities for a good job
good developer with bad soft skills – will get less opportunities
How much less – it depends (as always). I suspect much, much less, since most of people don’t like to work hard to pass the communication barrier with anyone, even with a genius.
We all know examples of “crazy genius” people that made a work of 10 people in a day. They are exceptions that make the rule even stronger.