The situation I've encountered is a jerk who was actually fairly mediocre in his abilities but whose bully characteristics and brash confidence had led many of the non-technical people in the company to believe he was extremely skilled.
I think one reason people become bullies is because they know they can't back up their decisions with skill. Linus is brash, but is quite able to work well with people and has the results to prove it.
Most people who adopt bully tactics are simply doing it for tactical reasons to hide their own weaknesses.
The myth of "brilliant jerks" is harmful because it lets any jerk pretend he's doing it because he's brilliant, when chances are he's just afraid of being unmasked as mediocre.
As a corollary, engineering culture should be very open to every member of the team learning and being very open to lessons learned (read: mistakes made) in the process. Bullies often intimidate by criticizing others' decisions, which creates an atmosphere of fear that prevents rational thought and stifles group learning.
This is certainly a problem I’ve seen. One employee was hated by almost all the technical people because he was a jackass and couldn’t work with others. He wanted everything done his way and wasn’t interested in the opinions of others (except as they may bolster how great his ideas were).
The truth is he wasn’t very good, at least not to the degree he tried to present.
Some of management loved him because he worked so hard. He was always there, always the one holding things together.
The truth was he was doing that because his methods were shoddy enough that things were always falling apart. He didn’t want others working on stuff because that would either lose his control/power or people would see how bad things really were.
In the end it became too much. As the company grew and things were done without him it became clear just how little he actually accomplished. New employee worked as well and were easy to get along with, not hostile to help.
But we had to suffer with him sabotaging things and dealing with his outbursts for YEARS.
There are Jerks and Non-Jerks. Also Brilliant Folks and Averae Joes(?). I dont know why we tend to club two different qualities and consider them as a single entity. The question should be, "This employee is a jerk, what to do about it" rather than, "This employee is a brilliant jerk, should we tolerate it". There are enough brilliant people who are excellent human beings with no failings and plenty of mediocre bullies. The employee should conform to common sense behaviour which is compliant to their corporate culture like most tech workers do.
The problem is non-brilliant jerks are usually a lot easier to get rid of. They can be replaced.
When the jerk is brilliant and necessary (or at least perceived so) management can be much more hesitant. ‘Yes he’s horrible but we can’t operate without him’ or ‘we don’t have the slack to pick up that work’ or ‘it will take too long to train someone new right now’.
They get extra excuses that a medium or low performer wouldn’t.
I have been lucky enough to have encountered very few jerks.
We are in a field where cooperation is encouraged and leads to benefits for everybody as long as the team culture allows it.
I did have to work with one jerk in a team of 19 people. He was meh as an engineer. Not awful but not nearly as great as he thought he was, he only had experience for him.
He was the only person extremely protective of his turf (for exemple, he was the only admin on the jenkins server).
It mostly seem to come from poor character and insecurity.
In the end many people (including me) did just not really work with him most of the time and in such a large team it was not really an issue.
The bar for being a jerk brilliant enough for people to bear your insanity is extremely high IMO. There are many great engineers who are also great people, so little reason to settle for a jerk.
Oh the manager was definitely a huge part. The manager thought he was a great worker and maybe just needed closer watching (he could do good work if watched like a hawk, was a mess left on his own) but that never lasted long.
Lots of excuses, ‘one more time’s, ‘not right now’, ‘on his final chance’, ‘we are looking for a replacement’, etc.
Eventually I threaten to quit because of him. The guy who was hired as his replacement had apparently made a similar threat after it was clear he wasn’t going to get the job he signed on for. And an incident meant others in management got a small view into just how little he actually accomplished.
It helped the company wasn’t doing great and cutting his salary was probably useful.
Years too late though. We’d lost good people because of him. I was only there because I could minimize my interactions with him (through role and power) so I didn’t have to deal with him much.
OH. The other thing was he got shuffled to a different manager who very quickly learned what he was dealing with and didn’t want to waste his time with it.
Interesting. Do you know where he works now, or is he at the same role.
Its interesting how these days things got tad better. When I worked for a few big tech corps, you always got these people who were there because there always been there, and they never cared to moved on with technology/people/you name it, but because of who they knew/what they knew/how long they been there, noone wanted to touch it. Nowadays it seems so fast paced that there is not enough room for those type of guys even at the top corps.
It was a small company, sort of a family feel, so things all ran differently. He wasn’t actually related to anyone though.
No I don’t know what happened to him, and neither do the other people who worked there that I’m still in touch with. We are all curious to know if he’s doing a similar job somewhere else or is doing something else entirely.
There a lot of things that lead to this, including...
1) The whole 10x thing. The implication being that if you're brilliant, you're worth an entire team or more; if you're average, you're... worthless. Thus, you have to be better than everyone else to be worth anything
2) Classic bro culture - somebody who gets rewarded for being obnoxious, bullying, and "alpha" is a very "bro" thing.
3) Tech people tend to be people who put a lot of their self esteem in their intellectual - and work - abilities. This means they get more defensive when that ability is threatened.
It's a culture that rewards being brash and confident. Can you imagine someone saying that they are an average programmer but work well with a team to get done a lot?
There are definitely people who quietly get a lot of work done, and there are people who are "force multipliers" who make the rest of the team more productive (something I regularly try to do, incidentally). Depending on the culture these things can get ignored pretty easily - the 10x developer is an individual with limitless skill in the classic view.
There's not really a space for an "average" developer - everybody has to be a "Rock star" or "10x" developer. We only hire the top 1%, etc. So if you aren't, what else can you do but fake it?
I'd say another thing that leads to this is lack of work-life balance / overinvestment of waking hours in one's job.
If your job is basically your life, then the stakes are a lot higher in terms of what you do about your brilliant jerk of a co-worker. Let's say for example there's a jerk in the office who is abusive to lots of people, not just you, but you're tired of it and plan to do something about it -- confront them directly, talk to the manager, whatever. If you have shitty work-life balance, this is a much scarier thing to do. The downside isn't just losing a job that you at least to some extent dislike because of a bad colleague -- it's the end of your social life as you know it. And to make matters worse, for a lot of young people in tech, the job is not just a paycheck and source of friends, it's a source of existential prestige; something your mom brags about.
IMO the best way to spot a jerk is how they react to their own screwups.
Everyone has been there at some point in their career, whether it's rm -rf / on a production server, or forgetting a WHERE clause in a DELETE query - you WILL fuck something up, and it'll be something important.
Now, a normal person will own up to their mistake, use it as a learning experience, laugh about it, and maybe ask someone for help. Take the mickey a bit, but don't give them too hard a time. They know what they did and they respect you, which is why they asked you.
This leads to the second way to spot them: do they take other people's advice or suggestions on board? Even if they don't think it's the right solution, do they engage politely in a constructive discussion? Nobody is an expert on everything.
If they don't do either of those, you've got a narcissist on your hands.
Another thing to bear in mind is that occasionally a particularly egregious asshole needs taking down a few pegs. That's how you handle bullies - you take their perceived power away.
Yeah it doesn't help that a lot of programmers are traditionally "nerds" who have grown up being bullied by others (I did).
It is possible to understand how to handle this kind of behaviors though. I would wager that most software engineers could certainly learn a bit more about behavioral psychology. In particular, although it is still a little taboo, I would recommend talking to a therapist even if one doesn't seem to exhibit any explicit pathologies. Its rather shocking just how much our formative experiences influence the subconscious throughout our lives; and in my opinion it is helpful to at least understand that better, if not to change them.
> In particular, although it is still a little taboo, I would recommend talking to a therapist even if one doesn't seem to exhibit any explicit pathologies.
it is? wow that's sad. there's all kinds of therapists and lots are pretty crappy but I don't see the benefit to society by creating a "taboo" around the entire concept of talking about your personal problems to a paid advisor.
Admitting that you have a weakness has always been taboo, if for not other reason than than it gives people a way to attack you.
If people were all nice, then it wouldn't be a problem. But there are far too many opportunistic jerks out there to not worry about exposing your vulnerabilities.
Linus Torvalds have gotten an undeserved reputation because it is oh so easy for the online tech media to take emails out of context.
Whenever he brings out the harsh words, it is because someone has been stalling and deflecting about breaking some core rule for kernel development.
Torvalds never pounce on someone out on tail end of the patch chain. He comes down hard on those that have been in charge of maintaining major sections of the kernel for years, and should know what is expected of them.
Torvalds never pounce on someone out on tail end of the patch chain. He comes down hard on those that have been in charge of maintaining major sections of the kernel for years, and should know what is expected of them.
I don't think that's necessarily good enough. Even if he is personally restrained in whom he acts like a jerk towards, his behaviour establishes norms within the project and contributes to how other people behave.
> I don't think that's necessarily good enough. Even if he is personally restrained in whom he acts like a jerk towards, his behaviour establishes norms within the project and contributes to how other people behave.
I'd really like to see some examples of these "norms". His outbursts really are few and far between - hence why they always make the "news" when they happen. He posts several emails a day to the LKML and virtually all of them are perfectly nice and helpful.
I might not defend how exactly he goes about telling people they're doing something wrong, but it's not like he sits there chewing people out everyday, and it's not at all clear to me how you make the claim that his outbursts contribute to how other people behave on the LKML when people behave perfectly fine on the LKML.
This is such a passive attitude. I don't think the passive, judging members of tech organizations will ever take responsibility for how they are dragging their orgs down. Because, by definition, they are passive and take responsibility for nothing.
But the truth is that organizations fail more often because of their passive, "why won't anyone lead me properly" attitudes. And this smacks of it.
It has nothing to do with puritanism. If project leaders don't set good examples, people "lower down" in the hierarchy will also act like jerks, and the project will lose potential contributors as a result.
Anyone who depends on, or is invested in, the security/stability of the Linux kernel, or cares about such a reputation. Which should include core devs.
Here's the email. Jest may be hard to discern via text, but I if I had made that contribution (directly or indirectly) and was met by this response by the maintainer, I think it would be my last.
"Of course, I'd also suggest that whoever was the genius who thought it
was a good idea to read things ONE FCKING BYTE AT A TIME with system
calls for each byte should be retroactively aborted. Who the fck does
idiotic things like that? How did they noty die as babies, considering
that they were likely too stupid to find a tit to suck on?"
Saying stuff like is just poor leadership and being as ass. This is like saying racist comments and brushing it off as a joke.
He’s essentially saying “this userland code is beyond stupid, but we don’t break userland so here’s how we can keep it working.”
The comment is neither aimed at the contributor (who works on kernel code) nor the reporter (who did not write the code). In fact if you read the rest of the thread you can see them concur and joke about it.
What ramchip said. If Linus had said that to a specific person it's unreasonable. Kernel people can be pretty salty, this is a little more salty that normal but not that much.
He's legitimately saying "yeah, we have to support this but you'd have to be bat shit crazy to think this is a good idea". And he's correct, going into the kernel for one byte at a time I/O is stupid.
I can't help but think that a lot of those people see the way Linus acts, and get this idea in their heads that they too can act that way. He's just as much a part of this problem as anyone else.
I think one reason people become bullies is because they know they can't back up their decisions with skill. Linus is brash, but is quite able to work well with people and has the results to prove it.
Most people who adopt bully tactics are simply doing it for tactical reasons to hide their own weaknesses.
The myth of "brilliant jerks" is harmful because it lets any jerk pretend he's doing it because he's brilliant, when chances are he's just afraid of being unmasked as mediocre.
As a corollary, engineering culture should be very open to every member of the team learning and being very open to lessons learned (read: mistakes made) in the process. Bullies often intimidate by criticizing others' decisions, which creates an atmosphere of fear that prevents rational thought and stifles group learning.