Is anyone really rallied to the cause by Linus himself? I think the product is the only real draw. With the exception of a select few that simply want to work with someone as high profile and legendary as Linus.
Personally, and maybe I’m in the minority when thinking this, but I can’t stand working with polite people.
They not only slow down the progress of a project by often causing unneeded busywork, from simply not halting bad ideas, they often slow my learning progress down by not telling me I’m wrong.
If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
There’s obviously a happy medium somewhere in there, and Linus isn’t it, but I would much prefer working with a Linus than someone polite. From the history I’ve read, he’s not holding grudges, or necessarily attacking people, he’s attacking dumb approaches and ideas, which happen to be authored by people. At least that’s how I’ve always interpreted his rants.
So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence. Competent people would halt bad ides, but it can be done in different ways:
- Abrasive: This idea is the dumbest ever and you are an idiot that deserves to die.
- Constructive: This idea have problems X, Y and Z.
- Polite: Thank you for the effort, but I see problems X, Y and Z with the idea in its current form.
A lot of the discussion here is confusing the question of competence with the question of tone. You can be competent and have a nice tone and you can certainly be incompetent and have an abrasive tone. I can understand not having the patience for politeness, but personal insults are obviously counterproductive.
Your "polite" has moved way too far into manipulative / passive-aggressive with weasel words like "I see" and "in its current form". If you are in a position of power like Linus, where your perception is the project's reality, couching such realities as if your perception is the only problem will lead to fights and a lot more resentment. Just saying, "Thanks, but I won't accept this until X, Y, and Z are corrected," is still polite, but also gives a clear course of action for the recipient. And yes, some people read directness as rudeness. You can't help them.
Why would you start fighting and/or feel resentment if you received a reply like the "polite" example? Genuine question, I don't see the issue but I'm ready to learn.
Not the parent - but I think it's because it can be seen as too subjective and too open for debate. Like: Oh, so one person opines that x, y, and z are not for them, let's debate it (or outright dismiss it).
And the resultant debate might well be polarising or destructive by itself.
Without knowing what the parent experienced to cause their take on this type of politeness I'm just guessing, though.
It is interesting because I think I see a cultural thing here too: in some cultures "I feel" and "I see" and "currently" are as firm as "unacceptable until it changes" - just worded in a way that conveys respect for the author. But in other cultures it is read as vacillating. Dunno. Guesswork, as I said.
As I said, some people will interpret directness as rudeness. Those are the ones that expect for the language to be couched. But, in my opinion, it's better to be seen as occasionally rude than allow for those other negative behaviors to occur.
It's not a direct decision to fight. It's more that the weak language opens the possibility of action where none really exists.
What they see is a chance to convince you ("I see...") or refactor ("... in its current form"). What you see is someone who is being stubborn and just not making the changes. So, it leads to a lot of friction and talking past each other.
I guess this depends on the context, but I don't really see the problem. If I reject a patch due to some specific problems with the code, then surely I should reconsider if the submitter could refactor to avoid the reasons for rejection? And if I was actually wrong about X, Y or Z, then I would like to have that pointed out. Everybody can make mistakes.
Nothing about saying, "Thanks, but this won't be accepted until X, Y, and Z are fixed," precludes having a conversation. By all means, if you think X is not a problem, I would expect a response along the lines of, "I don't think X is a problem because insert mitigating factor here." Or, perhaps, "I don't understand the issue with X; could you explain?" In other words, allow directness to beget directness. Enumerating all the possible ways you might be wrong, just in case one of them is actually true, seems silly to me.
I don't understand this... I used that exact phrase in my original response, calling it an example of being polite, but without passive-aggressive or manipulative weasel words.
I wanted to get back to my main point which was not the particular turn of phase in my example, but just that politeness have nothing to do with incompetence. This was in response to the comment that stated that politeness would mean accepting bad code, which I strongly disagree with. You show that a patch can be rejected with a polite and still technically relevant on-the-point message, so we agree about the important point. I don't think politeness implies passive aggressiveness either, so my example sentence might have been badly chosen.
Anecdotal, but I'd enjoy feedback in that "polite" form.
Of course, it might also depend on that person's reputation and my previous interactions with them. If I have had 50 negative interactions in a row with them, getting such feedback might make me want to throw my laptop into the toilet.
But in most cases I think it would be a good way to phrase feedback.
my understanding is your politeness would be interpreted in essence as saying that the issues are subjective rather then objective. when later in the process this is revealed to not be the case, this will lead to friction: hence fighting and resentment
I think it depends a lot on the context. Some examples:
- Someone injects an obviously inferior idea for political reasons (e.g. the recent TLS 1.3 debate). Then, a rude response might be your best option to deter the opponent. I think, some of Linus's attacks from the past fall in this category.
- Someone is just inexperienced and proposes a bad idea with good intentions. Then go for factual "This is flawed, here is why".
- Someone proposes an idea with flaws, but you see potential beyond the current proposal. Then, one should politely point out the current weaknesses, and at the same time encourage the proposer to improve on it.
As successful leader, you need a repertoire of responses.
For someone acting in bad faith (e.g. trolling, deceptive agenda) insults are probably justified. On the other hand, this is probably the actors who are not really deterred by insults, so I wonder how constructive it is.
>So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence.
In some cultures, direct comment on an idea is the norm, but in others it might be very rude. Even engaging in what you might find to be polite critique can be a challenge; even the most well intentioned comments might not transit cultural boundaries unscathed.
Worse, there might be some context you're missing that causes you to trigger someone without any intent to cause offense.
Example:
A new, senior developer transfers to my team. He puts up a CR and asks me for review. As I comb through it, I find a couple small bugs and take the time to explain why they are bugs, thinking perhaps he did not understand a subtlety in a library we are using. This same library has tripped up a number of developers on occasion, as there is a state that is being manipulated, but under certain circumstances it can be put in a state that is not intended. It's part of a language standard library and not something we can wrap in a safer way, sadly.
He apparently knew about it but just didn't account for it, and he took my explanation to be very patronizing and condescending, given that he already knew the problem. He then read into the rest of the review a hidden malice.
This is partly my fault; perhaps I didn't need to fully explain how the function works, though with the misuse I thought it could be a chance to teach. I probably should have taken more care in some of my verbiage; I tend to be somewhat direct, which comes across stronger than I intend it to. Not "You're a moron, delete this bad code" but more "This function call will not do X, Y, and Z. It will do W instead. Why not use ABC instead?"
Well if there actually was a bug, as you state, you are clearly in the right to point it out. Both parties in a communication have a responsibility. The party criticizing the code has a responsibility be factual, concrete and constructive, and to only criticize the code, not the personality of the author. The recipient of criticism on the other hand have the responsibility to listen and not become defensive or take criticism of the code personally.
Personally though, it also really irks me when someone carefully explains me something I already know, so I understand the mindset.
If you criticize the code by pointing out factual issues, then the the author can lean and improve by understanding these issues and improving the code. Calling the author an idiot does not help to improve anybody.
> If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
...but that can be done politely, or not(†). In my experience, being polite doesn't add a high cost to calling someone out, makes the person being called out less upset on average, and generally improves the quality of ensuing answers/discourse (because those involved aren't burning emotional energy on pushing their anger to the background). Both of those latter two things are good.
Sure, there are some people who can take a flaming load of unfiltered criticism to the face and remain unfazed, but assuming that that's the _norm_ doesn't seem especially realistic.
(† = Or in between - "polite" is not a boolean. It's not even a numeric measurement; one can be polite/rude in different sorts of ways.)
The cost of excessive politeness can be that the person doesn't get the message. I've seen people waste hours on the wrong problem because the person giving feedback was overly polite, and also things just reach an impasse with no progress made because everyone's being too polite to point out the elephant in the room.
I think a better word is "respectful." You can be direct and blunt, as long as you're respectful.
You're in the minority but you're not the only one. You can see the sentiment expressed about Rust community a lot. Super nice - don't ever say anything that may upset someone - kind of atmosphere is off-putting to many. I for one wouldn't want to work in such environment but I would love to work with Linus.
The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others. They will keep quiet or look to move somewhere else but will rarely complain. Meanwhile easily upset and less stable people complain more readily and usually louder to force others to adopt their preferred style of communication (which often comes down to "don't criticize me and use the kind of language I prefer")
You can be super nice and not upset anybody without compromising on technical rigour.
> The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others.
I would argue this is entirely false. If they can't adjust to others finding their behaviour offensive by not being offensive, they're not "better at adjusting to others". Yes, this is a two-way street, but that doesn't automatically mean everyone has to be comfortable with the guy who swears at you and calls you an idiot for writing a patch they didn't like.
We can have technical discussions without personal attacks, without rude language, without racial or sexist slurs. We manage it at my work all the time, although I for one think I could still do this better.
It's difficult when we grow up in a culture which glorifies violence and "macho" behaviour, where most of us in the field are male and have been told all our lives that we're expected to be strong and independent and assertive.
And honestly, if you can't find a way to explain why an idea is bad on a technical level without offending someone, maybe you don't have a good enough reason to criticise it, or you need to think about it some more to figure out why you don't like it apart from your initial reaction.
You can be super nice and not upset anybody without compromising on technical rigour.
That's the ideal. In practice there are always people, a minority, who can't or won't separate criticism of their work from criticism of themselves regardless of how nicely it's put. And then you have a problem.
Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
>Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
I think this sort of special snowflake attitude is part of the problem. There are plenty of other fields where people's work gets directly criticized. Tech is not uniquely (or even unusually) rational or meritocratic.
That's extremely rare, in my experience. Nowhere near what developers go through.
It's rare even for basic things like spelling errors or typos to be pointed out, let alone more serious problems like a presentation containing statements that are wrong or vague, meaningless, etc. If people get their work criticised so easily why are there so many spreadsheet errors around, why are there so many vacuous PowerPoints and business processes that go round in circles leaving behind furious customers?
I've witnessed all this first hand. I've also seen what happens when programmers and non-programmers in a tech firm get accidentally mixed together: the programmers start pointing out mistakes in the non-programmers work and cause an "incident" because the others aren't used to being peer reviewed like that.
> Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
No, no, no. Why do you think that?
Example: a central part of artistic practice in art/design schools and professional work is what is known as "the crit". It's where they gather and show their work to each other and then proceed to shred the fuck out of it (with widely varying degrees of politeness).
Similar kinds of things happen with writers, marketing and film-making.
The only place where this stuff doesn't happen is perhaps some business/finance domains where outcomes are strictly evaluated by some ROI measure and maybe compliance.
Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc. I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
To receive the sort of criticism I'm talking about, you need to produce things that are objectively good or objectively bad, and you need to be forced to accept when you produced something objectively bad on a regular basis. Criticism that can be easily written off doesn't count.
Go look at most people in a business, and the most or all of what they produce is ultimately evaluated by other people. It's not something the laws of physics have any say in. Whenever work is being subjectively evaluated by other people the standards and levels of criticism involved are way, way lower than anything engineers get subjected to. I've only very rarely seen business documents get put through the wringer in the way complex code reviews are every day.
> Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc.
I chose Art as an example simply because it was the farthest thing from a technical field and thus refutes the assertion that "direct criticism" in non-technical realms is rare.
All I am stating is that criticism of work is a central component of art (and other non-tech domains). It is not "rare".
You are saying that art criticism is "subjective" and that therefore it "doesn't count"-- that's your personal opinion that I don't care to argue about. Subjectivity is as much a part of the human experience as anything else.
> I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
Is there really such a big difference to criticizing a software design? Or a UX decision? Most creative work takes places in areas where taste/style/culture and craft/precision/technique meet.
In practice there are always people, a minority,
who can't or won't separate criticism of their
work from criticism of themselves regardless
Sure, absolutely.
But consider the topic at hand. We're talking about Linus referring to people and/or their work as "brain dead" and things like that. It really doesn't take one of your snowflakes to take something like that personally.
There are a lot of times (in sports as well as software development) when I've received harsh feedback and been 100% fine with it. But it's not always appropriate.
Your explanation of it relating to emotional maturity doesn't really resonate with me.
I prefer direct, but polite, communication. I've not taken any sort of test to measure my "emotional maturity" but if my career has been any sort of measure I'm reasonably emotionally mature (more years spent in leadership than not, plenty of folks following me from one organization to the next).
My take: I think a lot of this is a cultural thing, particularly relating to showing respect. You either grow up in that sort of culture, or you don't. Or otherwise, you lack the emotional EQ to pick-up up the commonly accepted cultural mores. How do I know this? Share some of your exciting exchanges with friends and family and see how they react.
When I share what I consider to be some of the more abrasive experiences with folks that I grew up (or are otherwise friends outside of the industry) they're always curious how it doesn't come to fisticuffs. We just never talked to one another that way. Where I grew up, it's fucking rude to talk to one another the way Linus and others like him do. Give respect, get respect.
But personal insults are not direct non-bs communication. Saying to someone they should have been an abortion is not a sign of emotional maturity. Accepting denigriating insults without complaint is not a sign of strength or emotional maturity.
Politeness should be low-cost. People going out of their way to make everything super nice are treating everyone as though they have fragile egos.
What people really want is to just know technically and precisely what is right and what is wrong so they can improve — leaving out all of the personal crap, positive and negative, except in the ways that people working together have normal human social relationships. So, like we can chat about our lives in downtime, water-cooler talk, and we can get to know one another. Extra politeness doesn't do that, it's just superficial.
In the email Linus indicated that this is result of a confrontation with his community. They basically performed an intervention and he has accepted it.
The guy himself admits that something is seriously wrong, and for years he clearly has attacked people, personally, and folks have quit, and many have called him out for it.
This is a positive change. No need to convert it into an slam on politeness. It's not like the world is being overrun by well-meaning polite people being ineffectual. Assholes who don't know when to stop, on the other hand, that's a serious problem!
I don't know that I agree with your idea of polite
To me, at least, polite in a code review is, "This commit is bad because of [X]"
Brilliant assholes are the the second best to work with because they give the information polite coworkers do concatenated with ", and that's because you are a completely incompetent engineer and should rethink your career" or something similar.
The kind of polite you are referring to would be one of two people.
Option A:The sociopaths trying to control their image in an organization so they can gain more money/power
Option B:Actually incompetent people trying to protect their job because the brilliant asshole who is the leader would rather fire anyone who annoyed them instead of mentoring them
I think people get confused. They see people they think are hard-assed, no nonsense types, but don't exactly get what's happening. They conflate how they felt with what was said.
For instance, Bob is just starting out as a junior dev. He gets pulled in by Carl. Carl is project lead and everyone admires him. Carl is smart, quick, and insightful. He's seen as a bit of a hard-ass, but he's never wrong. He cuts through bullshit. So he pulls Bob in. And he tells Bob, "I've reviewed your last commit, and here are problems X, Y, and Z with it. X causes this. Y is deprecated and B is how we should be handling the issue now. Z gives the wrong result for this set of cases."
And Bob leaves and Bob feels bad. He feels just reamed. Seemed like nothing he did was right. So he gets this impression in his head that Carl really laid into him. Fast forward 10 years and Bob is now a project lead and he wants to emulate Carl. Because despite how hard Carl was, Bob learned a lot. He's a lot better than he was back then. Now, he doesn't think he'll ever be Carl, but he's still good.
And Bob is reviewing Dave's code, and Dave's code is just as bad as Bob's was 10 years ago. So Bob calls in Dave. And he lays into Dave, "Just what the fuck do they teach in school now? Look at what you did here. You fucked it up. Don't you know about A? Or B? You have to do better."
And Bob feels good, he gave a "Carl"-style rant and now Dave will get better.
But reread how each approached their junior. Carl didn't attack Bob at all. He focused on the code itself. Bob internalized the criticisms of the code and took it personally. So when it was Bob's turn to criticize, he made it personal. Of all the lessons he was given that day, he missed the most important one.
So, you see "This commit is bad because of [X]" as polite, because you aren't the type to internalize criticism of work as criticism of you. People who do internalize it, see it as one and the same and feel that comment as "brilliant asshole".
The kind of brilliant asshole you describe, aka Bob, hangs on a bit longer because he's not bad at his core job, it's just that he has a tendency to handle people poorly.
A big part of the problem with many projects, or even companies, is that leadership is too soft and so you end up surrounded by incompetent individuals who either through delusion, or Dunning Kruger, have difficulty assessing their own ability. This results in incredibly inefficient and 'noisy' (as in signal:noise ratio) working environments. 'Hard' leadership gets rid of the slack and is willing to tell people when they're screwing up. This means you're going to be surrounded by the best, and anybody that's not carrying 100% of their weight is going to get removed. Of course you can have a problem there if the leadership is brutal and incompetent, but brutal and competent is a phenomenally desirable mix -- and that really sums up Linus, perhaps to extreme on both sides of the equation.
And in my opinion that really sums up many of the most successful leaders, both past and present. Though of course one huge difference between a Steve Jobs and a Torvalds is that Linus' work and behavior is, like Linux, completely open. Steve Jobs' was able to keep his persona restrained to within corporate avenues, with the rest of the world shown an extremely sculpted and fake image, the depths of contrast between the two only coming out after his death.
There are plenty of examples of great leaders who were direct, driven, and hard, yet still treated people with respect. It's not an easy trick to pull of, which is why people like Steve Jobs just said fuck it.
Elon Musk isn't abusive. He extremely driven and demanding but that's not the same as abusive.
I could expand the list quite a bit if you want but do you really believe it'd be a challenge for me to list important leaders who aren't assholes? BTW, I don't know these people so I might get it wrong regarding some of the people I'd list.
Googlers/Xooglers describe Larry Page as "rude" "egomaniacal" "jerk". [1] And fitting the typical pattern, the same individuals also describe him as "brilliant", an "intellectually honest person" and with a "vision stronger than arguably anyone in the industry." The reason you listed Brin and Page is because you know nothing about them outside of their carefully crafted public personas, which again tend to contrast quite starkly to these individuals' private behavior. But with Linus he acts as he is rather than crafting some fake public persona.
---
As an aside, this is all very reminiscent of politics. We collectively claim we absolutely hate politicians who give nonanswers or focus tested and completely 'fake' responses to practically everything. Yet oddly enough, these people make up very near 100% of all politicians elected. Why might this be? It's because when we find a politician that does actually give his honest view on things we freak out and look for somebody 'better'. And who's better? The liar that tells you what you want to hear, instead of what he really thinks. And we get people that are smiles and honey on the surface, and two-faced corrupt liars on the inside. And then we act confused about why what they do and what they say don't match up.
Just eccentric and annoying to you. This entire discussion is largely about the fact that different people interpret the same style of feedback either as offensive or as refreshingly direct.
For instance, Page one told someone that what they did was boring. Eccentric or abusive and jerkish? Probably the latter. What about the time he suspended work across the entire company and told everyone to work on latency because their products were fat and slow, and there was no higher priority than latency? Probably not offensive because it was targeted at the whole company? But if the same feedback had been given to an engineer one on one, maybe offensive.
I'd expect that anecdote was not the reason for the declarations. The vast majority of Googlers will never have any 'real' interaction with Page/Brin, thus giving intimate examples of their behavior in private would be unwise. I think this is part of the reason that the flood gates for Jobs only opened once he died a premature death.
So you think that the founders of Google are abusive assholes based on no real evidence then. It's easy to make claims about anyone applying your loose rules of evidence. It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
The real issue isn't about any one or two individuals, though, it's the principle. The question is are there good leaders who are direct yet exercise self control? The implied question is do you have to be an asshole to succeed? I can list more examples if you think the ones I chose were inadequate, or you could acknowledge that I have a point. This isn't a contest. We are all here to learn.
No, I think that people that have had personal experiences with Larry Page have described him varying as egomaniacal, rude, and a jerk, which is relevant to this conversation. My personal opinion is, however, based on something different. I tend to judge individuals by actions, not words. Words are too often fake. This can be both 'good fake' as in people who build up artificially positive personas, and bad fake. I have no doubt that the individuals who had these experiences with Page genuinely believe him to be as they said, but one person's jerk is another's honesty, one person's egomaniac is another confidence, and so on.
So what can we judge Page/Brin on? Due to stock structuring they still have disproportionate control over Google and so Google's actions are going to be heavily attributable to their personal views and values. If you think the direction of Google is 'good' then that ought reflect accordingly upon your view of their values. And similarly if you think the direction of Google is something less than 'good'. There are numerous issues there as well of course but lacking superior alternatives, it's better than nothing.
You're fixated on these guys. They aren't really the point, though i don't think anything described rises to the level of abusive behavior. Calling someone's work boring doesn't do it, though even if I'm completely wrong about those guys it's not crucial to my point. I even acknowledged I might get it wrong about some of my examples, but unless you think such a list isn't possible, then the matter of Google's founders amounts to a red herring, a distraction.
The assertion is that there are a lot of examples of strong leaders who did not abuse those who worked for or with them. The subtext states that abusive behavior is not a prerequisite or driver of sucess. It's the dark side of ambition. We could talk about Steve Job's rocky career where he was his own worst enemy setting his own vision back years.
I can give examples of abusive leaders chasing away key players, setting back projects with rippling consequences felt for years, recovering slowly, never quite getting there. These leaders accomplished a lot but ultimately left with a sense of a partially realized vision. Unfinished business.
These same leaders also often hurt those closest to them who actually did need them, neglecting or even abandoning children, a reprehensable act for any reason but even more so to gratify ego. This is just not how a man acts.
At the same time, you likely don't see the succesful leaders who became fully realized adults. I coud list 50 and you'd pick out some to fixate on because of their flaws. This tells me that your opinion is received truth. You defend it with the sophistry a partisan uses to defend an ideology.
The point was not about 'these guys' but about your example, even in so few given, being a perfect example of the problem. It's difficult to know whether your perception of a person is genuine or based on a facade. The fact that you listed Larry Page was just a particularly good example of the issue. You listed him not because you knew he was a person who fits your criteria, but because you assume by default that the lack of evidence indicates somebody must therefore be notably upstanding. And this assumption is fundamentally where we disagree.
Yes, it's always hard to dicern facade from reality but we can't make assumptions that the facade hides abusive behavior. In some cases it does, but just because someone maintains a public facade doesn't mean they're doing something bad behind the scenes.
And, critically, no matter how hard you try to maintain a perfect public facade, the truth comes out eventually if you're abusing people.
Anyway, I think we can agree to disagree on this whole topic. I enjoyed discussing this with you and I don't expect to convince anyone I'm right on anything.
>It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
And yet you're dismissing the opinions of those with apparent first hand experience working with said leaders, while having no first hand experience yourself.