11 ms·
I used to think the same way as you, and then I started a company and had to pay out of pocket for employees, and the sad truth that I almost hate myself for ad
by Kranar 4y ago
I used to think the same way as you, and then I started a company and had to pay out of pocket for employees, and the sad truth that I almost hate myself for admitting is that if you have to pick between incompetent but nice, and competent but a jerk, you take the jerk. And yes, multiple people will even quit because you picked the jerk over the nice guy, and I still found it's worth it to take the jerk because of how competency scales. A good/competent software engineer can genuinely do the work of many, many mediocre developers and you're almost always better off with a small number of really solid developers over a large number of nice but mediocre ones.
Now of course we can always exaggerate things to an extreme and compare a racist, sexist, jerk who swears nonstop, to someone who is mildly incompetent, and there are certain principles and boundaries that are worth upholding with respect to how people treat each other regardless of their productivity, but in actuality that's not really the difficult choice you end up facing.
The really difficult choice you end up facing is someone who is nice and gets along with people but is ultimately too dependent on others to do their job versus someone who works independently and does an excellent job but is very blunt and can be an asshole in regards to the expectations they hold others to. Good software developers often expect their peers to also be at a high standard and will speak in very plain, rude, and blunt language if they feel others are not pulling their weight.
And finally, I have observed that in the long run, competent people tend to prefer to work with others whose skill they respect and they feel they can learn from because they're really good at their job, compared to working with someone who is pleasant but is always dependent on others. Being nice is a good short term skill to have, but people get used to those who are nice but they never get used to someone who is incompetent.
- lisasays 4y agoGood software developers often expect their peers to also be at a high standard and will speak in very plain, rude, and blunt language if they feel others are not pulling their weight. Speaking bluntly isn't what is meant by being an asshole/jerk. What we're talking about here is the completely gratuitous, "I'm so valuable here that I can get away with it" abusive behavior that has no correlation with performative ability.
- Kranar 4y agoYes you have a point, but it's like either we're discussing something obvious and trivial, like a caricature of a person who is just complete asshole abusive toxic diva, or we're discussing the real grey area that is genuinely difficult to deal with. Luckily I've never hired a completely abusive and gratuitous but competent asshole but yes, I would fire that person as a matter of principle regardless of how competent they are. But come on, are we really discussing that scenario or are we discussing the much more common scenario like someone who is about as much of an asshole as 2010s Linus Torvalds? Someone who is really competent but gets very impatient with others, has no problem stating rudely that your work is bad, that you keep making the same tiring mistakes over and over again, that you should know how to do certain things by now, that you're expected blah blah blah. I think that's the more interesting and worthwhile discussion to have and it's the case where for my company, I decided I'll take the asshole over the nice guy.
- lisasays 4y agoIf they really are a 2010 Linus Torvalds, you just might have a case of keeping them on the team. Unfortunately, 99.99 percent of the people who seem to be trying to be this archetype -- just aren't. Or we're discussing the real grey area that is genuinely difficult to deal with. What's so difficult to deal with? You make it plain and clear to them that their competence absolutely does not give them a pass for bad behavior. And that under no circumstances will it be allowed to continue. I've never hired a completely abusive and gratuitous but competent asshole but ... I decided I'll take the asshole over the nice guy. What? Mealy-mouthed / "strategically nice, but selectively an asshole" is the most common type actually - and still an asshole.
- Kranar 4y ago>What's so difficult to deal with? Respectfully, if you think dealing with people is as simple as delivering ultimatums about their behavior then you likely have not dealt with leading teams of highly skilled professionals.
- 4y ago
- paulddraper 4y ago> competent people tend to prefer to work with others whose skill they respect and they feel they can learn from because they're really good at their job Amen. The #1 "perk" any company can offer is working with a skilled, competent team. Birds of a feather will flock together.
- michaelrpeskin 4y agoBack when I was a developer, I tended towards the competent jerk. I was pretty good, but not 10x and I was a bit short with people not a raging asshole, though looking back I am ashamed of my behavior. The good thing is that it makes it really easy for me to recognize now. On my teams, I don’t accept incompetence, so even the nice folks get managed out quickly. I do have a strategy for handling the 10x assholes, though. We have a difficult problem domain (lots of math and physics) so I need those smart folks. I’m also lucky to have 2 hyper-competent nice devs too. I use them like jiu jitsu gyms use their enforcers. When an extra aggressive 20 something shows up to a gym and starts making it unsafe to train, the gym will pair them up with a black belt who will humiliate them but be super nice about it and put them in their place. I do the same. If I see asshole behavior surfacing, I’ll pair them up with my one of my super competent devs and have a them do a in depth code review or something like that. Most of the time it works and the bad behavior goes away. If that doesn’t work (very rarely), we’ll manage them out. Sometimes the 10x jerk is a jerk because he’s used to dealing with incompetence. But if you can show them competent-nice behavior, they’ll often pattern match to that.
- vorpalhex 4y agoBoth competence and social skills are trainable. A specific shop may not be able to train both, but there are shops that can train at least one of the above. My last job I could take the most incompetent beginner and make them productive. In my current one, I really can only train that social skill side. Obviously tail behavior on either end may make training not worth it.
- carlmr 4y ago>My last job I could take the most incompetent beginner and make them productive. In my current one, I really can only train that social skill side. The problem is not the incompetent beginner. The incompetent beginner has potential for future competence. Incompetent seniors are a bigger issue, since their future potential is usually limited, and they might still have sway due to their seniority. This is especially bad in big bureaucratic companies.
- 4y ago
- aredox 4y agoYou just bet your company on that one employee... And your product has now a bus factor of 1. There's always compromises to make; just wanted to add a few more problems a competent jerk can add, long-term.
- charlie0 4y agoYes, but he HAS a product, which is better than no product.
- roflyear 4y agoIncompetent people are a negative multiplier to productivity.
- lightbendover 4y agoIf your productivity is way negative, just hire one more very, very incompetent person then.
- the_sleaze9 4y agoFunny, but people sum not multiply
- chaboud 4y agoWe can’t truly test the edge of this function without finding the most least competent person ever. They’re like a perfect anti-classifier! I’ve actually worked with people who were so persistently wrong that we could generally take their assertion or approach (and they’d almost always be the first to raise a finger to start dropping knowledge on us) as definitely not the right answer, thinning the search space by one option. It was actually kind of amazing. The one (seriously, one) time one was right about something, the room was stunned. That said, they did not increase productivity, so we need to search for someone more perfect…
- franciscop 4y agoSystems (set up by people) can definitely multiply. Say a well-oiled review, CI+CD, deployment system can def multiply everyone's productivity by some margin (e.g. 1.2x). So if someone improves this system, it can definitely multiply everyone's in the team's productivity.
- comfypotato 4y agoWhat hasn’t been mentioned at this point in the conversation is that 0.1x incompetence is much more common than problematic jerks. It’s not apples to oranges. Both should be removed, and if you have to take one or the other (and only one of each) the jerk is the bigger issue. If you normalize the jerk level down so that the jerks are as common as the 0.1x developers, I’d take those mild jerks any day.
- Nimitz14 4y agoThis 1000%. It's incredible how just being mediocre leads to so much pain down the road from wasted effort and bad design.
- foobiekr 4y agowith a lot of hesitation and even regret I agree with this assessment. obviously, it's a matter of degree, but competence means paying customers because their output is externally visible and incompetence - nice or not - doesn't.
- antipaul 4y agoVery useful perspective
- petsfed 4y agoThe only competent jerk I ever worked near (different part of a very multi-disciplinary org) probably wasn't that competent. That is, they had a habit of belittling other people's opinions and performances, but they were eventually fired for running a system outside of safe bounds, ultimately destroying some equipment and product. They were not as brilliant as they thought themselves to be, and eventually that disconnect caught up with them. It's only hubris if you're wrong. I have known a lot of insufferable people who were the only person at the company who could do what they did, but they weren't brilliant, per se. They just focused on building a moat rather than building a community. And because of that, they never really progressed past the little niche they had made for themselves (and the organization didn't need them to, so it was fine). The brilliant asshole recognizes the utility of at least having other brilliant assholes around, and so invests at least some effort in baseline social grace. I'd wager that there's something akin to the Dunning-Kruger "mount stupid" at work here. That is, your probability of being a jerk peaks at some slightly above-average level of competence, but tapers off as competence increases, because the confidence becomes justified. Confidence can be abrasive, but hubris is always caustic.
- m0llusk 4y agoIn my experience teams taking on significant challenges benefit from having a range of contributors. Thoroughbred racers have their place, but there are times when having a big and heavy load puller or even a small donkey or pony is just the right fit. The really fast moving types don't like finishing every detail of the test suite or documentation and get bored with customer feedback and meetings. They are super mega A grade ten plus ex contributors and they know what that entails, so they are always on the forefront picking up the best tools, honing them as needed, and then moving on. They know how to take credit for their lead also. Meanwhile more modest contributors handle details and it is less easy to quantify the value of actually running through the product with customers and finding critical bugs, catching embarrassing errors in documentation, or filling in important missing test cases and so on. Some products do okay without all the i dotting and t crossing, but too much reliance on the cutting edge of tech leadership tends to show up over time in tech debt and accumulated bug overhead. As is said, you may be capable of great things, but life consists of small things.
- fzeroracer 4y agoOne of the hidden downsides of this approach that I never see discussed: The competent jerk that chases off employees is going to shape your codebase and company in their image. This isn't something that may be immediately apparent, but when you start running into design walls where said competent jerk does not want to budge, then the costs of having such a person become a major problem. Especially if they decide to leave and take their knowledge of the system with them.
- chromatin 4y ago> The really difficult choice you end up facing is someone who is nice and gets along with people but is ultimately too dependent on others to do their job Importantly, getting rid of someone like this can actually _improve_ productivity