Comment by luckylion
5 hours ago
It depends on what you want to achieve as a developer, I think. Having some soft skills makes a lot of things easier, but if you don't have the hard skills to back it up, you'll plateau unless you switch to management before you reach your limit.
At the same time, if you're very good at what you do, soft skills are a lot less important. Most of my peers would rather work with brilliant jerk than a friendly average person.
But most people are not brilliant, and then you can't afford to not have soft skills.
>Most of my peers would rather work with brilliant jerk than a friendly average person.
If that’s true, you work somewhere very strange. Almost everyone hates dealing with assholes.
People want results. Brilliant assholes produce those, so you tolerate the annoying parts. Would be great if they were also kind, but I'll take a house built by an asshole over a tent erected by a friendly person.
It's not a dichotomy, obviously. There are plenty of very smart people who are also pleasant to be around. But if they're either strong in soft skills _or_ in hard skills, I prefer them being asshole over them not contributing but being nice.
Very often in my experience, people with too many soft skills and too little hard skills are at best dead weights, at worst con men, which are a special kind of asshole you REALLY don't want to deal with.
Of course the best is to have both hard/soft skills, which is not as rare as people assume.
> Most of my peers would rather work with brilliant jerk than a friendly average person
I worked with one of these. Every interaction was miserable and stomach-turning. He slowed the project down in a number of ways. A friendly average person would have been a net gain.
>A friendly average person would have been a net gain.
I'm perfectly happy to have a friendly, average person as my boss, as long as he has good people skills and is pretty good at managing a team. He doesn't need to be technically brilliant at all.
By contrast, working with a boss who's a technically brilliant jerk is an absolutely miserable experience. Companies that make a habit of promoting brilliant jerks into management positions should be avoided.
What was his role? How did he slow the project down? I ask because quite often, the value of "soft skills" is exaggerated. In almost 20 years of software engineering I have met some of the worst personalities imaginable. Yet, I cannot think of a single time somebody's personality got in the way to such an extent it slowed the project down. Some problems can't be solved by average people. In such cases, bad social skills with above average intellect will go farther than average intellect with good soft skills.
Not OP, but I did work for a boss once that was technically very strong, but not as strong in terms of planning and scheduling work. It was a very difficult process, because I couldn't deliver what they wanted, as what they wanted changed both during and after delivery. Most things I delivered, which were what we agreed upon before delivery, were rewritten as they did not envision or plan work in advance. Technical skills are not a panacea; professionalism is a multidimensional skill matrix.
1 reply →
I know an example. A tech lead who would demand every single task to be done in certain ways and go through a certain processes. Invading other team's PRs and slack channels in order to pick fights because they weren't using his microservice or his libraries. Claiming "if you're not working like us, then you're wrong". Asking people to make PRs but then not approving. Before being demoted, his team had ZERO new features delivered for about a quarter. To me that's an example of slowing down teams.
But if you mean you want someone "brilliant, but an asshole", then I agree with you. I find that the common examples are more about incompetent managers who can't make the best of an IC who can work well in isolation.
1 reply →
Every PR has to match their way exactly.
The logic, the method names, the test names, code in the log messages.
Does not matter what the output or complexity is, does not matter how the previous state of the code in the area looks like, it. Must. Look. And. Read. Their. Way.
A 3 file PR review can take weeks. There was once a PR for a new feature that took 1.5 years and 2 developers (the og op left the company 3 months into having opened this PR) to eventually merge.
> if you're very good at what you do, soft skills are a lot less important
Empathy is more than butter. It also lets you uncover why the requirements should be what they are.
There are roles where buried brilliance works. But it’s usually in academia or the military. Not commercial work.
I have no experience with the military and very little with working in academia, but a lot with commercial work, and I've seen it work many times. Clearly those people wouldn't be the ones talking to customers or leading teams, but it's worth a lot to have someone that can tackle hard problems.
I'm not at all saying that you can only have one or the other, or that soft skills don't matter at all. It's just my experience that output matters a lot more than people say in these types of conversations.
To me looks a lot more like the cliche Diva in music - are you really going to not work with someone extremely talented just because they're difficult to work with and you wouldn't want to hang out with them?
If you can isolate the brilliant jerk to do something that needs very little coordination with others, that can work.
But at least where I've worked, there wasn't much standalone work like that.