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.
I definitely hurt some people and, as a young guy, felt that making the company better trumped all of that. And I was a little clueless, I had ADD and no treatment and had no idea that communication happened non-verbally, just wasn't a thin g for me.
What made it better was when I added compassion and empathy to my thought process. Instead of barging into someone's office and yelling at them that their code was broken, I'd start with the people stuff. Ask if I could talk to them, ask how they were doing, ask if they knew about this problem in their code. More ask, less yelling. And in my head, i would ask myself is there anything going on in this dude's life that is negative? Sick kid? Divorce? Parent dieing?
I was still willing to come to the conclusion that the person sucked at whatever chunk of code it was that was in the spotlight but it took me a lot longer to get there because I was trying to see if there was something else going on that caused the crappy code.
Dunno if that helps, I'm sure people told me to think like that but it took me a while to get there. Maybe this shortens the path for someone else.
why am I wrong ? should I care less like everybody else?
PS: where I currently work is wasting public money and I feel obligated to do something as a Libertarian!
Edit Source: I make this mistake all the god damn time, and never realize it until the person breaks and finally snaps at me. The whole time I thought we were just having a reasoned argument. I think that I am constructively invalidating the other persons arguments, meanwhile they are feeling belittled and defensive.
Edit edit: This is even worse if, like me, you think arguments are pretty much the greatest most entertaining game it is possible to play.
This is going to sound ridiculous, but I thought I'd open up for example. In university I adamently refuted the moon landing conspiracy of a group partner. I didn't realize this would offend, but it did. She did a lot of extremely vindictive things after that, and even tried to (with some success, I might add) incite anger towards me from other group members.
Some people become extremely defensive and then aggressive, perhaps it is especially so if you are the nerdy-humble-well-intentioned-Alice-low-gravitas type...
Knowing when to correct someone and when to keep quiet is something I have become a lot better at with age. It took a lot of learning the hard way though.
I would hope others are understanding that not everyone who is perceived as a jerk, actually intends it.
In an idealized "intellectual-only" world, humans would be Spock-like and be pure rational actors.
But we aren't, not even close. (And I would argue that that's a good thing, but that discussion is waaaaay out of scope).
As soon as you accept that humans, including yourself, primarily make _emotional_ decisions and not rational ones, it becomes easier to steer decisions in a healthy manner.
I used to think more along these lines. I heard someone recently talk about Spock and Captain Kirk and their approaches to different situations, and he said that most people think Spock must always be right due to his logical side. He then said that many times Kirk’s more human emotional approach actually worked out better in the end. Obviously you need a balance. Things should be logically thought out but sometimes you need to act out of empathy and sympathy towards others even when it might not make that much sense.
Also being rational =/= being cold and unemotional.
The best way I've found to do this is to them you don't understand something and have them explain the solution to you.
Plus it's humility practice -- you might even turn out to be wrong!
But, you know, sometimes it turns out that I was actually the one not seeing some things clearly and by not coming out of the gate as a jerk about things we can both walk away having come to a collaborative solution and everyone feels good.
I can see why you'd think that, I made the same mistake earlier, but see there's this problem here...
No, that's obviously wrong, why would you even think that? Let me show you the right way...
Instead of saying "bubble sort is too slow for us to use" (oppositional, "you are wrong for thinking otherwise"), try "wouldn't bubble sort be too slow for us to use?" (collaborative, "maybe you have something to add").
It's ok to be cynical and defeatist, but those two qualities don't make for useful answers to questions
Speaking the truth straight out can feel good, but it is rarely a good rhetorical strategy. Instead, back up, and start with this: what do the people across the table want? What do they believe is good, and what do they believe is important?
Now, how do you recast your arguments to appeal to those goals? How do you frame your position in such a way that they will want to agree with you?
This is the foundation of convincing people: empathize, understand them, learn their communication patterns. Once you see how they communicate and think, you work down those routes but send the message you believe is important.
See, this is why the public sector is usually so ineffective and why it's so frustrating. The people across the table tend to jump from posting to posting, and make safe moves that are far from being the correct ones to fulfill the organization's larger goals, while cultivating political capital. Ultimately, they are motivated by the prospect of future postings and promotions, which are determined not by their performance in achieving the organization's goals but by how much political capital they have succeeded in accumulating.
There is no way to sell reform to these people, because reform involves upsetting the status quo, and upsetting the status quo costs large amounts of political capital.
Successfully leading change from the bottom in the public sector is for that rare cadre of people who are not just visionaries and cheerleaders for change, but are patient enough to spend years and decades building upon small changes that build up while not losing their patience and escaping to the private sector.
Source: been there, done that, screw that, couldn't pay me enough to go back and do that again
The answer boils down to this: if you have a good idea but people are rejecting it, find a new way to talk about it.
When you proclaim a good idea, you aren't offering an execution plan to go with it, so people (rightfully) ignore it.
People in management also tend to buy impossible lies especially considering deadlines.
This is what I want to tell them:
Our core customer facing application is shit. The contractors who wrote it cut tons of corners and the marketing people who designed did a horrible job, the UI emphasizes features customers don't care about, and makes it extremely difficult for customers to actually reach and use the revenue generating sections of the app. Not only is the marketing leadership is disfunctional, and worse, you (the Sr VP) have created a disfunctional development organization, that makes me wonder if you understand how to develop commercial applications.
This is what I will say:
The weaknesses in our core application are costing the company millions of dollars a month. We are struggling with making quick, effective decisions and shipping new versions to address the major problems because we have "too many cooks in the kitchen" in our team meetings and planning. I will give specific examples and relate them to specific examples from my long history shipping quality commercial apps on time. I will finish by saying the team is demotivated and underperforming, which makes you, the Sr VP, look bad, and plead that we need to solve this, for them and the company both.
But if I'm wrong, and this Sr VP is one of the thin skinned exceptions (doubtful since they are taking the meeting from a Sr. Dev in the first place), then I can get a better job somewhere where it's less dysfunctional.
Does it work? Is your approach effective?
In your engagement with the senior folk, do you just complain? Or do you suggest changes that you know are affordable and achievable? Are you arguing so you feel better about trying or are you genuinely attempting to affect change?
Also, has it occurred to you that the higher ups might not be the fools and cowards they appear? Is it possible that they are operating with constraints that they just haven't chosen, or are prevented from, sharing with you?
Obviously I don't know your organisation and it is, of course, possible that its staffed with incompetents. And that by sheer good fortune just you and a small group of your immediate colleagues are the only rational actors. Or it may be something else.
not all the times, but I had some success here and there! but not as much as I hoped for.
"has it occurred to you that the higher ups might not be the fools and cowards they appear?"
I am not that arragont to think I am the smartest person in a big organization or I am right all the times and others are always wrong!
but those constrains are coming from somewhere and I believe most of it comes from people are lazy and don't like to argue with others because they want to be liked!
There are lots of people that wants to please everybody and never push back on stupid ideas!
the culture is top down and I have 7 level of management above me! I only can blame the top one or two :D
But, for what it’s worth, you’re almost definitely wrong in your analysis. Senior people at large organisations do routinely make poor decisions but it’s usually for either external factors, empire building or blame shifting. It’s hardly ever for genuine stupidity or laziness.
The way to do that is all in phrasing, tone of voice, and general respectful treatment. If, like me, this is not something that comes naturally to you, it might be worth searching google for a few little tricks that will help you to resolve disagreements. The Socratic method - using questions instead of statements - can be effective. It has also helped in my experience to describe similar situations in which the course of action you support has proven itself.
When speaking with managers who make a bad suggestion, it is helpful to explain that the course of action they are proposing was considered, and why it was rejected. That will reassure them that you are on top of the situation, and (in the case of a good manager) show that you are able to do your work without your assistance.
Of course if your manager's ego is tied to his/her suggestions, which is common, you're probably SOL. The most effective way I have seen a team deal with that is to implement the bad suggestions as quickly and flexibly as possible in order to minimise the damage to the schedule, the project, and so on.
It's so depressing.
Are you interested in the best outcomes, or addicted to behaving in the way you find easiest? If you are actually interested in outcomes, if you actually care you will learn that meeting people on their terms will produce better outcomes than communicating however you find easiest.
Technology is easy, people are hard.
this is so true, one of the reasons I chose technology was I thought I can just spend my time in a cube isolated and not have to deal with people, but more and more my job is becoming dealing with people rather than technology!
I feel that a lot of places have a culture of agreeability. They are focused on fixing disagreement rather than fixing the underlying problem. A truth-telling person isn't suited to those environments.
I also feel that a "no brilliant jerks" policy is an anti-neuro-diversity policy. It weeds out high-functioning autistic and psychopathic people. I think any homogenous environment created from such a policy would be a dangerous thing.
this is gold, this is exactly what my organisation is doing!
Thanks it helps a lot.
It seems the gut reaction in tech is that conflict is bad, but conflict is inevitable. It is better to respectfully resolve conflicts than try to avoid them at all costs IMO
At some point you have to learn to appreciate other viewpoints and approaches to problem solving. You might want to argue things on strictly technical merits when someone 3 or 4 levels above you has completely different criteria to judge a solution. Maybe he sees less risk or less cost, maybe he just doesn't want to change the status quo. Maybe he simply sees a challenge to his authority.
There's a wide spectrum between being a politician and pleasing everyone and being a politician and working through a discussion and couching your position in a way the other person appreciates and accepts. But it's on you to figure out how to make that work, not them.
Always always give people a way to save face, this applies doubly in meetings. If people feel like the choices are being right or being responsible for an error they will fight to be right. If you give them a third option (past inexperience, blame someone that left, poor testing, changed requirements) that doesn't hurt their reputation, they no longer have to fight to be right.
Try to teach people the principal behind why something is wrong/broken/bad. This applies to things like code health that there are more subjective. Instead of saying "That method should not be 300 lines." Teach that you want small understandable functions that do only one thing. This gives them a metric to use in the future and makes your comment seem more well thought out.
Be helpful when you can be. If you are always causing problem people will remember that. People also will remember when you go out of your way to help them. A little bit of oil could help the other interactions run smoothly.
I hope these little bits help some.
Nearly most decisions that seem wrong were taken due to time constraints. Something had to get out the door. Software can be patched later.
So instead of saying “Bob’s team isn’t producing a good product” look into why. Maybe “Bobs team was in crunch time due to 3 people leaving the group and decided to use their own queuing service instead of working with IT to use the company one and that’s causing some problems that I think we can address by spending time on X”
do non-libertarians feel that there's nothing wrong with companies wasting taxpayer money?
Cosgrove asked them to elaborate on the idea: "exile the knaves, but fight for the divas."
Rosenberg said maintaining Google's collaborative culture requires weeding out and getting rid of the knaves: Employees who lack integrity, who are jealous of their peers, take credit for others' work, and think only of themselves. "Nice humble engineers have a way of becoming insufferable when they think they are the sole inventors of the world's next big thing," they write in their book. "This is quite dangerous, as ego creates blind spots... Nip crazy in the bud."
Divas, on the other hand, display "high exceptionalism," Rosenberg said. If the divas are brilliant and doing a good job, they should be valued and allowed to do their jobs. "As long as ... the divas' achievements outweigh the collateral damage caused by their diva ways, you should fight for them."
"They will pay off your investment by doing interesting things," they write. "...Remember that Steve Jobs was one of the greatest business divas the world has ever known!"
Companies tend to be modeled around the strengths and weaknesses of their founders.
I do however want to point out that some of these may be less about being an insufferably relentless jerk than other pieces.
> He is late to meetings, ... then looks at his phone or laptop while ignoring everyone around him
This is also a pretty common indicator for ADHD. Not to say that excuses being a "jerk", but there are people out there that have a fundamentally difficult time tracking and arriving at meetings properly, and it's not always easy to account for. It also goes hand in hand with a few other related issues here. It's also somewhat common in the world of software.
I have some semblance of issue arriving at meetings properly, and it takes sincere effort to correct for it. When I started my career (admittedly, not so long ago) I definitely displayed more pieces of what is described as brilliant jerk than I would like to have (though certainly nothing like gaslighting and exploitation of others around me - more those things in line with adhd).
On the other hand, I spent 3 years working especially hard on self improvement here, and I certainly appreciate the patience of those around me in helping me realize my failures. It took me a year of effort to really avoid interrupting others while talking - not as a matter of being a jerk, but simply because my mind gets lost in conversation and feels the need to begin talking with less cognizance than I wish I had that others were speaking. These days, I am quick to apologize upon realizing I've interrupted, and ask the speaker to continue. That's strictly worse than never interrupting, but it both publicly acknowledges that I know this is a problem for me in conversation, and helps move forward.
The best thing for some people who have some of these issues is to give them honest, direct, and proactive feedback regarding it. They may well have no idea the ways in which they're impacting those around them, and they may well be surprisingly proactive in self-improvement upon being spoken to.
It's non-proactivity in self-improvement that you should be far less accepting of, ADHD or not.
The difficulty though is that at some point if you believe something is important you may ultimately have to go through some kind of dialectic to make your case.
How to Win Friends and Influence People says never have an argument. If you follow this advice you will reap the benefits of the book. However what you're building in your team will trend toward a Least Common Denominator. Or else I don't know how to not let that happen in a world where you can't debate. (Any response that tries to say debate/argument/dialectic aren't all the same thing in this context I think is cheating. Or someone enlighten me.)
It sounds like a silly distinction, but what if you and I disagree about something. I have two choices. I could:
A.) Get incredibly defensive when you disagree, interrupt you constantly, lose my temper and flat out refuse to listen to your ideas.
B.) Thank you for disagreeing because we're all on the same team and want to avoid mistakes. Then I'd listen to everything you have to say and work hard to find areas where we agree. And, after I understand your argument, I point out all the areas where you are correct (and especially areas where I am wrong).
I'd argue that it's more about learning to disagree respectfully and tamper all the impulses to get defensive and turn it into a series of personal attacks.
Learning how to separate those situations is important, but not usually a major issue when approached in that context. If all else fails just have a coin flip and say winner takes all. If someone still can't let it go, they are toxic and it's time to remove them from the team.
PS: I call it the bike shedding rule. You need a system to pick a color for a bike shed with reasonable costs. The actual color is less important than the time wasted on the choice.
I think in many cases an optimal product can only be produced when there is a holistic vision that is kept in view. And in this paradigm, is is much more difficult to say A is vastly better than B.
Here's just one example--> many software systems that I come to have trended into maintenance nightmares. When you trace back all of the steps from inception to the present moment, you realize that it is due to a series of these kind of A/B decisions that boiled the frog. In each case A wasn't vastly better than B. But the sum of all the A decisions... And this is where it gets harder to make a case... where you may have to take a long walk to make the case...
IMHO there's also a limit to how much you can spare everybody's feelings and still be effective at that ^^. I think the OP believed that there isn't a limit. I think he's wrong.
In a corporate environment, there's almost no value in actually being one though. Linus Torvalds would almost never be promoted and would frequently be unceremoniously terminated - as advocated for by Brendan Gregg.
That is, do you like "seeing people actually called on their BS"? Or, do you like people stop doing BS things as a result?
IMO, the latter is much more interesting than the former. Being a 100% Alice guarantees the former, but does not guarantee the latter.
And, quite frankly, if someone in my organization said that someone should be 'retroactively aborted' for a tech choice they made, I'd argue for their termination too.
I don't think you can, actually. You can do it without being gratuitously mean, but one way or the other somebody's feelings are going to get hurt.
>And, quite frankly, if someone in my organization said that someone should be 'retroactively aborted' for a tech choice they made, I'd argue for their termination too.
Is what you make as technically impressive as linux?
*By lasting changes I mean, do you feel like you've changed and valued being more sociable?
I will ask questions about the outcomes of an approach rather than making statements about it so that I make sure we both are working with the same information.
basically it's made my life a lot less stressful, and my discussions with colleagues much more productive
I think we're conflating is and ought here. It's probably a fact of reality that most people aren't happy to be told they're wrong. But arguably people ought to accept the consequences of being wrong, e.g. feeling bad when they're told.
I've talked to lots of startups in San Francisco. Most are failing, just due to the nature of startups, but can survive if they reach a finite set of straightforward goals. They've found product/market fit, they know what they have to do, they just have to do it, and the correct 10,000 characters of code input into a computer would solve all their business problems. There's often a lot of handwringing about why they're failing: the process is wrong; communication is wrong; something or other. But the largest reason they're failing is that they're insufficiently good at technology. You know who'd be really good at fixing that? A team of Alices.
I think Alices get too much flak. Bob is genuinely a toxic character. But if your only fault is telling the truth, which offends people, and you're otherwise excellent at your job--- there's a huge opportunity for twenty Alices to get together, bypass the inefficiencies of being offended, and win big. Tech has an obvious historical example.
Edit: I reread the description of Alice. All right, maybe don't browbeat your point into others.
As you mention, pointing out when things are wrong isn't being a jerk, it's doing your damn job. "Having little empathy for others" isn't describing behavior, so it's meaningless here. OK, "browbeating" might be bad, but what does that mean anyway? Is she repeating the issue a month later after the problem got ignored, or is she micromanaging it, or what? There's no indication here. Whatever it means, Equifax could have used some browbeating on security issues.
There's no indication about why people try to avoid working with her. Does that refer to other developers, or does HR try to avoid her they go around asking for donations for girl scouts or something? I don't see a real problem with the latter. If somebody had reputation for pointing out problems in code, I wouldn't be avoiding her, I'd be seeking her out.
Or they can get a huge team of pleasant and great-looking people that will leave a very good impression and raise tons of capital to keep burning through cash for years without fixing any of those problems. As long as the investors are OK with this, people will keep on using it.
I'm not excusing his behavior, but if you're able to handle that style and develop a functional relationship "brilliant but difficult" folks can be an amazing resource. He's the Sr Infrastructure Architect for that organization now, and they've never been doing better. His ability to be difficult but brilliant keeps the overbearing management folks in check, and has allowed the technology platform to move forward dramatically.
The one downside (other than the constant testing of my self esteem and resolve) was that I let him teach me D&D and he was a pedantic dick of a GM.
Most of those people are much less briliant when you are not a junior. It is mostly that they are rewarded for being jerk.
An actually intelligent person is happy to prove his thinking via truthful argumentation (and unit tests, documentation, and so on), and also happy to get his points refuted by similarly reasonable peers.
Anything other than that approach is noise.
That has nothing to do with intelligence. It's a particular culture that is taught and learned.
How else could we exchange ideas? And in case of disagreement who would win?
Agree with everything except: 'Anything other than that approach is noise.' It is signal that the individual is not capable, and dangerous to work with.
Engineers freely choose to learn Java and apply to Java job postings, and if that's not the case I doubt they'd be vocal against the "value" of Java.
Still that's quite an extreme case. Devs regularly questioning a programming language is not a code-review problem, or a should-I-be-a-jerk problem.
It's more like the problem that you escalate to the CTO (with argumentation!). Or you can pick your battles and move to a saner company.
If you're paid to do another job, yet you are working as a mentor or teacher and expected to do it still...
After the third time I get asked the same exact question
Most of the time though, the jerks just aren't even close to being brilliant. I feel this jerk attitude is quite often something that is used to mask ineptitude.
This is after 20 years, 7+ companies and quite close work with hundreds of individuals (often in a managing position, so maybe they think I was the jerk ;P).
(In fact I feel like most of the "brilliant" people I have worked with have actually been nicer than the average person.)
One surprising thing is that it is possible for people to change, at least in how they treat people. Once I was told I would have to interact with the "brilliant jerk" and I complained and my manager said, "no, really, he has CHANGED" and, miracle of miracles, he had.
I wish I knew exactly how and why he changed, my best guess is treatment for clinical depression, which often surfaces as extreme irritability.
I know a few Bobs. They are hard to deal with. They get promoted. And eventually you might want to trade them out for a different Bob - which can mean just flat out leaving an organization. They aren't likely to go, so that means it's you.
There have been a couple of others in another role, in banking, and they know exactly what I think of them! B^>
These people do exist, and can be successful, and the description given in TFA pretty closely matches many aspects of psychopathy, such as the charming-when-necessary and no empathy.
Psychopaths are 5x more common in the C-suite than the general population. I don't know about the engineering ratio.
I don't think my experience applies to that universe.
Totally makes sense.
> 1. Was it my intent to make his staff unproductive?
> 2. Do you think you could have told my engineer what you needed to, in a way that left them feeling positive and motivated to fix it?
> Always do that in the future, please.
Maybe there is a "non-asshole" way to do that, but there needs to be a place for this in society as well. Some people respond to gentleness and nudges, some don't.
The person I think back early in my career when I was an associate and my first tech lead -- yes! he was the biggest asshole I met at that time -- but it would be remiss of me to not admit that I learned and stretched more on his team than I did the rest of my time at that company by a mile.
- A successful startup does not depend on miracles, geniuses and such.
Even then, having a jerk superstar in a software dev shop might still be a net negative. If that person causes a lot of turnover, missed deadlines, or drags down everyone else's productivity, their brilliance may not make up for it.
And who's to say that the brilliant but somewhat difficult developer can't be reformed into someone who treats people better? Why should any company have to accept someone behaving like that in return for their skills? Maybe someone like Linus would totally be more diplomatic if he had to fit in at a company with a 'no brilliant jerks' policy.
"Hmmm... that would be easier if we had a custom OS... I'm going to start on that first. Also, custom version control software would really boost our productivity..."
"Hm, I can do it in 2 weeks."
> Too long. Work on the feature X.
I've worked with someone who ticks almost all of the Bob traits. He would actively try to get people fired who he didn't like, spending time gaslighting everyone around them until enough people disliked his victim where it was possible to fire them. He turned entire teams against each other, causing organizational issues that lasted years after he was eventually fired.
The problem is that he was legitimately brilliant, and he was incredibly productive. This made his gaslighting all the more effective. When we spoke about things and people, people listened. He was charismatic, funny, and had a long-standing reputation.
After firing this person, we found out he has a history of being abusive and getting fired. It's hard to know this because he's in leadership positions in a few important open source communities.
Thankfully this org is numerous years in my past and I've eventually moved past the stress associated with it, but it's an experience that stuck with me for a long time.
1. Bob interrupts others, and ignores their opinions (When people asked questions, he downplayed them and in some cases declined to answer them)
2. Bob bullies, humiliates, and oppresses individuals. With non-technical people, he wins arguments by bamboozling them with irrelevant technical detail, making them feel dumb (When asked about Coroutines he started explaining irrelevant stuff like locks and guards and compiler level instructions without actually answering the questions)
3. Bob engages in displays of dominance in front of groups (He was quite assertive that his language is better than Java, no one could convince him otherwise)
4. Bob is negative. He trash-talks other technologies, companies, and people behind their backs (He trash talked Java)
5. Bob manipulates and misleads. Sometimes he misleads subtly, by presenting facts that are literally true in a way that is intentionally misleading. (He mislead people into thinking that null checks were just wrong and should be avoided altogether by writing code in Kotlin, he also indicated that writing data objects was not possible in Java)
6. Bob uses physical intimidation. Bob glares at those he doesn't like, and may invade people's personal space. (He said that if his team member was unwilling to learn Kotlin he was probably not worth his salt)
7. Bob gives great talks – about himself.
8. Bob refuses to change. (This was quite evident about him)
To sum up, he was arrogant and loved humiliating the audience, I and a few others left the talk after 30 mins.
I'm curious, in reference to the post, how you would have no problem working with a "Bob"? Is there really no behaviour there that would bother you in a coworker?
I might not be personally all that bothered, since people tend not to get the better of me, but it probably wouldn't be productive to have such a person in a team, and there's a good chance they don't care enough to be productive, and most people wouldn't work with them (as this thread shows).
There's probably only one way you could employ Bob, and that's as an external solo contractor.
In theory. In practice, it's much more difficult.
In my experience, people are productive when they're on a team that encourages everyone to be productive and keeps them all aligned in the right direction. That's hard to do with jerks on the team, brilliant or otherwise.
(To be clear, I think it's totally fine for different teams to have different priorities; I don't think there's a one-size-fits-all. I just have strong preferences for what teams I myself am on.)
I've had really good results hiring "jerks" and actually taking the time to understand them as people, and then put them into positions to succeed.
Calling out others as jerks is very often a power play to gain social leverage over people who aren't good at that game.
If you have a chip on your shoulder, always have something to prove or want 'revenge' on an unnamed whole because you were bullied in school you are unlikely to work well with others and are going to be a liability in every single context.
Either you are brilliant or you are a jerk. Being able to respect and work well with others is a basic life skill.
Linus for instance respects and works well with thousands of people. Let's have the same transparency that someone like Linus works under for other CEOs before feeding into tabloid level sensationalist journalism that singles out one in tens of thousands of interactions.
Just being able to write a software program or doing what you were trained to do does not make anyone a genius and the vast majority of software is mundane.
YMMV but there is a problem in that leaders and brilliant-but-non-expendable (for w/e reason) engineers can often be jerks themselves. So much so that they use their power to write the narrative that the less-powerful was the jerk.
I know it is politically incorrect to say this kind of thing, but it certainly does happen. This happened at NASA when engineeres voiced concerns of the dangers of a foam strike. Management bullied them and the groupthink culture there made people side with authority. Then this caused the Challenger disaster.
And let's be honest: get out of STEM and into something like politics, and it's very sadly a significant part of the game.
I ran across it in https://www.amazon.com/Psychology-Computer-Programming-Silve... in the form, "If you see a programmer trying to become indispensable, fire him." Followed by a note written 25 years later saying, "I have received more thanks for this piece of advice than anything else that I have said." (Both quotes paraphrased from memory.)
1. Part of it is personality differences. I often default to taking a fairly aggressive approach to discussions, and appreciate a spirited debate on the merits of a particular issue. Depending on who I'm talking with, this can be a good experience, as long as neither side is taking it personally—and I have plenty of colleagues that seem to enjoy working with me. However, this rubs some people the wrong way, and I can come off as domineering if I'm not careful, especially to people that prefer to avoid confrontation. Of course, how I am perceived by others is my own responsibility—but my default personality seems to be more compatible with some people than others.
2. When paired with a strong personality, I tend to take an approach to balance them out. All of the times I've been called out for being too negative, it's been when I've been working closely with a person that is overwhelmingly positive. I feel that I tend to be more critical when I feel that others are not properly vetting new ideas. On the flip-side, I've also noticed that when I'm talking to someone more negative, I tend to take a more positive approach, especially if I feel that they're ignoring the positives in an idea or situation.
3. I tend to be more harsh on people that I perceive as at or above my level—I feel that honesty is something that everyone deserves from me, but I'm direct to a fault. However, with people that I perceive as junior, I find I'm naturally more diplomatic and constructive—I don't want to demoralize them, and I am thankful to be able to play some small part in building someone else's career. I need to remind myself that all people—even those that I perceive as senior to me—benefit from affirmation and constructive feedback; it's easy for me to underestimate the power of my words.
The hard part for me is to identify which parts of my personality are jerk-like, and which parts—when channeled appropriately—are useful (a team lacking critical voices is also going to be ineffective).
I fervently believe that the greatest challenge in our field is not technical—it's interpersonal. Rarely do projects fail because of technical reasons; instead, they fail because of communication breakdown, interpersonal conflict, and other "soft" attributes. I hope that I can be part of the solution, rather than the problem.
I think this might be the wrong way to think about this stuff.
Different communication strategies appeal to different listeners. Rather than analyzing yourself, saying "some parts of me are effective, others fail," I think it's more useful to analyze your interactions. You've almost certainly had really productive, energizing debates with people in which everyone walked away feeling glad that all the cards were laid on the table.
You've probably also had really unproductive, demotivating debates in which people felt attacked, unable to express themselves, and frustrated.
Here's the skill to work on: before you start that debate, try to understand the person you're talking with. How do they want to talk about this topic? Do they do better with collaborative, friendly, "That's a good idea"-type discussion, or with hard-edged debate? Now, mold your communication to their style.
You said this yourself in your #2, but I want to triple-underline it. That's the whole job when you are communicating. It's all about finding ways to get your point across as effectively as possible, which means it's your job to communicate the way they will listen to.
This is hard! But it's worth it. You definitely don't want to just have one way of communicating - that just makes you frustrated when people aren't receptive to that style.
I work with engineer whose is brilliant.
We originally thought he was jerk, but the bosses loved him because he was a 5x engineer with the ability to handle huge cognitive loads, catch errors or conflicts in our large systems in the planning phase.
It turns out he was neuro atypical, and was actually nice guy, it turned out he was the one paying for friday pizzas not the boss.
He was just too ahead of us, and honestly we let our inferiority complexes and frustration color our opinions of him.
He/She excels in one specific topic and perhaps never thought about excel in all necessary skills. He/She is caught in her/his world and might not be able to learn proper social skills. It is quite hard to change long lasting behaviour.
I'm quite surprised how many adults stop evolving.
But at least while making those mediocre salaries they can all hate those "brilliant jerks" that they fired.
Personally I think this is the worst part. It's much harder to deal with a group of jerks and their like-minds. A group typically self-justifies their behaviors and more likely to defy company policies. That's why bullies typically come in packs.
"Let the man talk, will ya?"
The room just went silent for a few moments after.
You don't know what a brilliant jerk is.
Brilliant jerks never interrupt anyone and listen to everyone. But they always find a way to do (and make other people do) what's best for themselves.
Alice, if you're listening, quit your job and go start your own company!
The article is talking about people who are systematically bad for organizations, not people who have a bad day sometimes.
Things can also be terrible because some people don't know how to do the job properly.
It is a lot easier to find a yes-man/woman than a brilliant anyone. Companies are ruined by mediocrity far more than they're ruined by 'brilliant jerks' bullying the company into non-existence.
Who'd you rather have as your surgeon - a brilliant jerk the nurses have to put up with, or a nice guy/lady who screws up sometimes but will feel really bad about it afterwards and will write you a hand-written apology.
I'll take the jerk every time.
The brilliant jerk will have set a precedent in the operating room that leads to people not questioning their decisions, even when they are wrong, leading to uncaught mistakes.
The most brilliant jerk will sometimes slip up. 
See also Crew Resource Management: https://en.wikipedia.org/wiki/Crew_resource_management
I didn't see that in the article. All I saw was a witch hunt.
A witch hunt (aka don't hire them witches) because the witches are disturbing the health of the village.
It's stone-age thinking - I've heard of a story about a brilliant jerk, his name was Jesus Christ.
The irony of a Christian nation calling for excommunication of those most resembling their savior is really something.
what’s wrong with confronting them directly without the careful parsing demanded by our self-limiting ideas of being well behaved.
That's my experience.
But then again, it depends entirely on the author's definition of "selfish" and "bad team player".
Having worked at a small startup with 10 people, who would... not berate, but explain bluntly, you if you did something wrong, and a big corporation where you have to always read between the lines to get to the point of any conversation, I see vast differences in productivity.
But my sample size is so small, so I shall sit and ponder some more, and only talk about it on online forums...
Letting brilliant jerks ruin it for others is a management problem, not a brilliant jerk problem.
However, professionalism is a two way street. Bobs and Alices that make professional salaries can be expected to improve, though the professionals that work with them should make some concessions.
One major problem with corporations / labor / the modern world is that the demands on employees are extremely high. It makes sense - people want to work in good jobs and corporations are paying for the labor and the corporations have to make money so they have incentives to hire the best people for the jobs.
Professional standards are very high - I'd say that most professionals in America are in the top 20%-30% of multiple skill sets - communication, leadership, self-directedness, tolerance for b.s, along with any domain specific skills.
We don't have an environment that most people can succeed in. And solving it would be good for people who struggle with some things or people who don't want to focus their life around professional accountability/development.
The right question to ask isn't "is bob valuable" but more like "how can build a company in that gets a single parent to manage Bob"?
Great comment of an instance.
"Letting <anything> ruin it for others is a management problem, not an <anything> problem."
I have rarely run into the "brilliant jerk" problem.
I have almost always run into the "incompetent manager" problem.
"Incompetent Managers in Engineering". Now there's an article I'd really like to read.
Management has part of blame, but jerk is responsible for his own behavior. Jerk is responsible for what strategies he choose to look brilliant. (And people with autism don't count as jerks unless they are. Most of them are willing to stop behavior when explained what the issue is directly.)
But most people are pretty set in their ways. Everyone who yells at cashiers when they're 40 has done so before, they've probably faced some consequences for their actions and the behavior persists so either you need to be more persuasive than the totality of their lived experience or you can adjust your sails.
If we can accept people who miss work for sick kids, we can accept jerks. But we don't have to accept either. Everything is subservient to money. You can simply pay for excellent people, but some corporations need to compete elsewhere.
I wouldn't pay a jerk as much as a team player (all other things equal), but for the right price I'd put up with the headaches. That's the right call for me, it's not the right call for others. What's important is that corporations and managers get creative about making things work for people.
1.) Many jerks are considered brilliant because they act like jerks, not despite or in addition to. Acting like jerk makes people less likely to question you, it makes your collegues look less capable if managent believes your crap. It makes them more angry and less confident.
Association between jerk and brilliant does not help, I have seen (literally) people finish complaint about bad behavior with "but he is great coder" over dude they knew nothing about profesionally. Zero information. He acted arrogant, therefore they assumed higher competence.
2.) Parent comment put all the blame on management and none on jerk. That is not fair and amounts to blaming other tribe.
Management hires jerks and puts people into situations with the jerks they hired.
Further, why should I tolerate someone who is making my work life that much unpleasant? I can easily get a job somewhere else.
And the situations aren't perfectly analogous with respect to the intention behind leaving work for a sick kid, or being a jerk. But the effect is the same and they can use the same solution: accommodations.
Now, you shouldn't tolerate someone making your life worse and if you change jobs to improve your life, more power to you. But I humbly argue that management could solve your problem so you changing jobs is an issue of bad management, not a bad coworker.
Jerks affect productivity of those around, people who were bacstabbed, people who were not told information, people who were lied about, people who were smeared (including professional reputation aka calling good ideas stupid to get dominance), etc.
So yeah, if local jerk has lower salary and is refused promotion, then it is kinda fair.
Still, he himself is to be blamed for his behavior.
I strongly disagree. The benefits of having a brilliant jerk mostly accrues to the team he is on. The costs are felt throughout the company. Therefore the hiring manager is motivated to hire and try to manage the jerk, and has an incentive to avoid truly accepting how damaging this productive employee is.
That said, there are times that it actually is worth hiring a brilliant jerk. But the decision should be made at least one level of management above the problem employee, and both the employee and the manager should be managed. Even so don't be shocked if, as happened in one case that I know of, the brilliant jerk stole source code and ran a copycat site out of the Ukraine.
The person managing the jerk should have 'skin in the game' with everyone the jerk interacts with or else the manager can (and will) game the system.
I once managed someone with a terrible reputation (because I got a great rate on him) and made sure I was his only conduit to anyone else. After a few weeks of the arrangement, it became easier for me to work with him - he appreciated the arrangement and was very productive.
At the end of the day, he wasn't a bad/evil person. He just didn't get along with people, he didn't have much patience, and he was profoundly disagreeable and situations that work for most people didn't work for him.
Ultimately, I was able to find an accommodation for him and get him to contribute to the company. It's a shame that we think of 'accommodations' as outside the scope of regular businesses or as something for defective people but the reality in most functioning workplaces is that we're all accommodated and we should all accommodate others.
The single mom on my team isn't defective, but we need to change the arrangement a bit away from convention to make sure she can put in her best work.
Consider this criterion:
> 1. After encountering the person, do people feel oppressed, humiliated or otherwise worse about themselves?
Bob and Mary are staunch members of <opposing political parties>. While they never discuss it at work, Mary deeply resents the views Bob posts on social media. During a code review, Bob is bluntly critical of Mary's code. Mary perceives this to be related to their political differences, and feels oppressed. Mary files a complaint with HR.
Bob claims he is being objective, and targeted for his political views. Others are hesitant to criticize Mary's code, lest they be lumped into a "tolerance witch hunt".
If you want to talk about performance, it should be objective, not subjective. Anything else opens the door to drama. Yes, "jerks" create issues. But making a rule that says "no jerks" will not solve those problems. It might even make things worse.
I'm assuming Bob and Mary are members of opposing political parties?
Even if that is not the case, is it really mandatory to friend/follow co-workers' stream of consciousness on social media?
Wouldn't it be more productive (from Mary's perspective) to segment professional from personal views by not actively following someone who's personal views she has disagreed with in the past, to keep all future interactions focused on work-related topics?
I suppose my point is: criticism and being a jerk are orthogonal in theory, but in practice it's much more difficult.
Making a rule that says, you can get someone fired if they hurt your feelings gives disproportionate power to anyone with thin skin.
If you find yourself in an environment where your Alice-jerkiness is forced to grow significantly to deal with Bobs, you should leave if you can.
My fondest engineering experiences are working with Alices. I’ve worked with kids fresh out of school that have made me a better engineer; debate is healthy, and no one knows everything. When you encounter a situation with people who refuse to accept that there are things they don’t innately know, and are offended at the prospect of debate, you have Bob.
Another strategy of some Bobs, which wasn’t mentioned specifically, is for Bobs to try and make Alices (really anyone who won’t submit to their egos, or who work off of objective evidence) out to be Bobs to avoid arguments and to make unilateral decisions that are not empiricallly driven. Not all Bobs are like this, though, which is part of why the Brilliant Jerk archetype tends to overfit, IMO.
Edit: these Bobs were “too experienced” for code review, pull requests, design planning, and testing of any sort.
Another culture I’ve previously worked in appreciated people that could “level” their brilliant jerks because management didn’t want to replace them (growth stage -> acquisition). I’ve found sometimes people turn into brilliant jerks, and it’s allowed/tolerated, in part due to compensation inequality. These people were hired at a lower salary for whatever reasons, and in exchange received freedom to be a brilliant jerk because they became hard to replace at a certain price. The jerks in question were working their butts off to move up, which never happened in any significant way. So there can definitely be multiple sides as to why someone is behaving like a jerk.