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.
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.
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.
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.
Lots of excuses, ‘one more time’s, ‘not right now’, ‘on his final chance’, ‘we are looking for a replacement’, etc.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
Project leaders need to set good examples.
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.
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.
Why? Are we Puritans now?
It's not clear to me he is a jerk. If LT only shouts when things are important, people without important tasks have no reason to shout.
Linus has a sly sense of humor, I bet it was either directed at some code or it was in jest.
Actually, after reading it a few more times, I can't find any jest in it tbh
Saying stuff like is just poor leadership and being as ass. This is like saying racist comments and brushing it off as a joke.
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.
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.