1. 54
    1. 24

      Dunno…given the description of actual behavior rather than pejorative value judgements, I would much rather have Alice on my team than people who criticise her, and would find it more likely that they are the jerks (or bullies, to be more precise).

      In my experience, workplaces that frown on Alices are nice, but not kind, and actually have way more underhandedness and backstabbing.

      1. 26

        I think the problem here is isolating people and their behaviour. I enjoy blunt and direct people around me. I even encourage them, it gives me clarity. I even prefer them, I don’t need to decode them. Sometimes, people see me with a person that I enjoy working with and are like “they treat you hard” and I have to tell them that this is how I want it. Fast. Clear. Cut me off if you got my point and agree or disagree. I’m okay with people being grumpy on a day or - given that I run projects of global scope - people just being tired and through that sometimes not take the mental load of choosing every word carefully. I would still expect those people to treat other people differently and not approach me this way right away.

        The blog post does not talk about sources of Alices behaviour. For example, Alice may take this approach because her feedback is never addressed, which is quite different category of a jerk than someone who just makes that their persona and feels good in it.

        My problem with niceness is: it’s highly cultural. It’s a category that is immediately exclusive e.g. to foreigners. A lot of people find different cultures behaving “nice” actually odd and weird and are insecure around them. For someone who’s third-language English, it may be a struggle to fulfill those requirements. I’ve definitely seen writing of e.g. people writing in English as a foreign language being framed as jerky just because it was direct and to the point and omitted some amount of fluff. When I approached those people, the reason was simple: they already spent more time than others on formulating their point right, the “niceness” would even incur more cost to them.

        There are jerks out there. But we need to be careful that perceived jerks also exist.

        I also agree with your underhandedness and backstabbing reading. “nice” cultures tend to be conflict-avoidant and conflict always finds its way.

        It’s okay to formulate sharp boundaries around the edges (e.g. using peoples identity to attack their points), but inside of those boundaries, communication is a group exercise and curiosity and willingness to understand other people needs to apply, especially in a more and more interconnected world.

        1. 7

          I think the crux is that there’s an entire “taxonomy of jerks” one could make; Alice doesn’t sound too bad, and Bob sounds like a right cunt. But in between those two there’s a whole lot of other jerks.

          Take the “this is one true only correct way to do it, anyone who disagrees is an idiot, and I will keep forcing my views through ad nauseam even when the entire team has already decided against them”-kind of jerk. These are “selfless jerks” in a way, but can be super toxic and demotivating if not dealt with properly by management. These people don’t even need to be abrasive as such (although they can be) and can be very polite, they just keep starting the same tired old discussions all the time.

          They’re not like Bob’s “selfish jerk”, and genuinely think they’re doing it in the good for the company.

          I once called out such an jerk as an “asshole” in a GitHub comment when he reverted my commit without discussion; that commit fixed some parts of our documentation toolchain. The change was a trivial one: it changed a lower-case letter to a capital one one in a Go import path, which is what we used everywhere else. Perhaps unfortunate that the capital was used, but fixing that would be a lot of work and inconvenience on people’s local dev machines (not all of whom are dedicated Go devs) so after discussing this at length we decided to just stick with the capital.

          Yet he sneaked it in anyway, in spite of the previous consensus of just a few weeks prior, while simply calling the toolchain “broken” and reverted my fix (a toolchain I spent quite some time on outside of my regular work duties I might add, and it’s wasn’t broken; Go import paths are just case-sensitive and it didn’t account for two import paths differing only in case, dealing with that is actually an entire can of worms I did already look in to and discussed with him when we talked about changing this company-wide).

          From the outset I looked like the “perceived jerk”, as you put it, as I swore at him in frustration while he was perfectly polite, but that ignores all the context that we had already discussed this before, came to an agreement, that he decided to just ignore this, and kept forcing his opinion through, and that this was the umpteenth subject on which this happened. HR didn’t see it that way though, “because it’s inappropriate to call people assholes”. True I suppose, but … yeah. And trust me, “asshole” was the filtered polite response and was subtle compared to what I had typed (bit didn’t send) originally.

          It’s almost devious and underhanded in a way, especially the taking offence at the “asshole” part and harping on about that while refusing to discus your own toxic “polite” behaviour. Having to deal with this kind of bullshit for years was a major reason I got burned out at that job, and I’m from the Netherlands which is probably one of the most direct no-nonsense cultures there is.

          My point is: politeness is not unimportant, but often overrated, especially in a context where you all know each other and know perfectly well that they’re just the abrasive sort but are basically just decent folk (it’s different on a public forum like Lobsters and such).


          Adding to that, I’ve definitely been a “perceived jerk”. Communicating over text is hard; my culture is very direct and also kind of sweary, and even as a skilled non-native speaker at times it can be difficult to fully grasp the subtleties of how something is perceived by native speakers. In all the COVID craze of “remote work is the dog’s bollocks and the future” I think people are forgetting about how hard all of this is, and why I’m skeptical that remote work really is the future (but that’s a different discussion…) It’s probably also a major reason for a lot of Open Source drama.

          I’ve had quite a few people tell me “I thought you were a jerk until I met you in person”, a major reason I always went out of my way to meet new people face-to-face for a pint at the pub (not always easy, since we had people world-wide). I tried very hard to change this, and I think I’ve mostly succeeded at it, but it was a lot of active effort that took years.

          1. 2

            I also fully agree with you there. I have worked as a moderator for years and before I engage e.g. in the whole thing I wrote above I do an assessment whether it’s worth figuring out. Someone jumping on a board, registering an account and blowing off steam with the first comment? => kick But someone going on a long and unfair rant after 12 months of participation? Let’s check out what happened, rather than taking all he said at face value.

            While I’d love to give every person the benefit of doubt and a long conversation, the day has 24 hours and this assessment must be done. But usually, if that assessment must be done, we’re talking about 1-2h chatting, which is manageable.

            Adding to that, I’ve definitely been a “perceived jerk”. Communicating over text is hard; my culture is very direct and also kind of sweary, and even as a skilled non-native speaker at times it can be difficult to fully grasp the subtleties of how something is perceived by native speakers. In all the COVID craze of “remote work is the dog’s bollocks and the future” I think people are forgetting about how hard all of this is, and why I’m skeptical that remote work really is the future (but that’s a different discussion…) It’s probably also a major reason for a lot of Open Source drama.

            I have a bit of a handle on that, interestingly because I got trained in international relationships and marketing. The trick is as easy as it is hard to consistently implement: Always voice your feelings clearly. “I am frustrated that…”. “I am happy that”. Cut tons of slack and assume good faith.

            “Lack of training” is also a hard problem in open source.

            I’ve had quite a few people tell me “I thought you were a jerk until I met you in person”, a major reason I always went out of my way to meet new people face-to-face for a pint at the pub (not always easy, since we had people world-wide). I tried very hard to change this, and I think I’ve mostly succeeded at it, but it was a lot of active effort that took years.

            Same :).

            1. 2

              I have a bit of a handle on that, interestingly because I got trained in international relationships and marketing. The trick is as easy as it is hard to consistently implement: Always voice your feelings clearly. “I am frustrated that…”. “I am happy that”. Cut tons of slack and assume good faith.

              I’ve independently discovered the same trick as well. I also wish people would do this more in political/social justice discussions and the like, e.g. “I feel [X] by [Y] because [Z]” rather than “[X] is [Y]!”, but okay, let’s not side-track this too much 🙃

              I wish people would give more feedback on his type of stuff in general. I once heard through a co-worker “hey, Bob has a real problem with you, I don’t know why”, “oh wow, I had no idea”. I followed up on this later by just asking him and it turned it was some really simple stuff like PR review comments “just do [X]?” being taken as passive-aggressive. I can (now) see how it was taken like that, but that wasn’t my intention at all. So I explained that, apologized, slightly adjusted the phrasing of my comments, and we actually became quite good friends after this (still are). But if I hadn’t been told this while drunk at 3am in some pub by another coworker then … yeah.

              Granted, not everyone responds well to this kind of feedback; but if you don’t try you’ll never know, and the potential benefits can be huge, especially in the workplace where you’re “stuck” with the same people for hours every day. I can close a website if I don’t like it; bit harder to do that with your job.

              I found that communicating with native English speakers in general (much) harder than communicating with other non-native proficient speakers. Maybe we should just go back to Latin so everyone’s a non-native speaker.

      2. 8

        In my experience, workplaces that frown on Alices are nice, but not kind, and actually have way more underhandedness and backstabbing.

        Extreme examples of this from the real-world,

        The leadership style in Elm is extremely aggressive and authoritarian.

        By that I do not mean impolite or rude. It is almost always very civil. But still ultimately aggressive and controlling. — Luke Plant

        … once enough people are piling on to complain or tell you what’s wrong with what you did, you’re going to feel attacked - even if every single comment is worded politely and respectfully. — StackExchange

      3. 3

        Yeah, if someone (or the news) tells me what to think about someone, without telling (or far better SHOWING) me exactly what they did, I tend to just reserve judgement. Even then, it’s easy to make someone look like the jerk by omission of important information.

    2. 16

      Great post. I think it’s really important to separate out the additive effect (how much does a person accomplish on their own) and the multiplicative effect (how much do they change the contributions from others). In general, junior developers should have a reasonable additive effect (they get work done) but may have a slightly negative multiplicative effect (everyone they work with needs to mentor them a bit and so they reduce everyone else’s productivity by a few percent). Over time they additive effect goes up and the multiplicative effect at least reaches 1 (they are doing code reviews and other things that make everyone else more productive and offset any time spent by others doing the same for them).

      A more senior developer may have a large additive effect (they’re really productive at writing code) but their real value is from their large multiplicative effect. Someone who makes everyone else on the team 10-20% more productive is incredibly vastly more valuable than someone who gets twice as much work done on their own as the average. A really good dev lead can achieve far more than a 20% multiplicative improvement by teaching, preventing people from wasting time implementing things that won’t work or won’t be maintainable, by having the ten-minute bug-hunting conversations that make people look in the right place, and so on.

      If you’re really lucky, you’ll find junior devs with a high multiplicative effect who will do a load of glue activities (writing docs, talking to everyone and making sure everyone has the same mental model of the design, asking useful clarifying questions in meetings, cleaning up the build system, improving test coverage, keeping CI happy). If you find one of these folks, do whatever you can to keep them. They’re going to end up being the real rockstars: the dev leads who make everyone on their team twice as productive as they would otherwise be.

      The folks that make everyone else less productive? They’d need a really big additive effect to make up for the impact of their multiplicative effect. It may be that someone is making everyone on the team 50% less effective but still being a net positive contribution but it’s spectacularly unlikely. On a team with ten other people, their additive effect needs to be five times the average just to reach break-even point. This is only really likely if the rest of your team is completely useless. In this case it’s unlikely that there’s a good forward path that involves keeping your existing team.

      1. 2

        Interesting analysis, but I think it’s missing a couple of points and gets some of the numbers sufficiently wrong as to invalidate the results.

        You wrote:

        five times the average just to reach break-even point. This is only really likely if the rest of your team is completely useless

        Let’s see what the research says:

        Study after study shows that the very best designers produce structures that are faster, smaller, simpler, cleaner, and produced with less effort. [12] The differences between the great and the average approach an order of magnitude.

        No Silver Bullet – Fred Brooks

        Let that sink in: the difference between the best designers and the average approach an order of magnitude. Not the difference between the best and the worst (“completely useless”). That means the outcome you described as spectacularly unlikely is actually spectacularly likely, in fact it is the norm (if we are actually dealing with someone who is brilliant).

        In fact, it means a single very good designer can completely replace that team of 10 you mentioned, and that’s when doing the simplistic thing of just summing individual output, which we know isn’t true, team productivity significantly lags the sum of individual productivities (see The Mythical Man Month). Making the brilliant designer just 10% more effective would be worth a complete engineering salary, which is why Brooks advocated for “Chief Programmer Teams”, a concept that is entirely ordinary in other fields such as law or medicine.

        I probably still wouldn’t want to have “Bob” around, because I don’t think the Bob described fits the 10x designer described by Brooks.

    3. 11

      I see a lot more often the “apathetic nice guy”. I would like to know if anyone else has had similar experiences. I have also only worked in small established companies with small teams so maybe that factors in.

      The “apathetic nice guy” never comes up with their own ideas, don’t ask the right questions (sometimes no questions), they mostly just wait to be told what to do, and when what they were told wasn’t clear enough, it isn’t their fault, but they will do the additional work now that you’ve done all the thinking for them. They are happy to jump in and help when things need fixing, but they are safe from blame because they only ever do what someone else asked or fixing something someone else built or designed.

      I always try to be encouraging and motivating since I’m just an individual contributor myself, not a manager. They are hard workers, don’t shirk their duties. But, they seem to really need an authority figure to give them assurances about what they are capable of and responsible for, and it gets hard not to get cynical and annoyed over time.

      1. 6

        I felt like I was becoming one of those at my previous job. In my case, I believe that it was a management issue and a lack of autonomy leading me to feel demotivated.

        When I first joined, it was a small team of sharp engineers with world-class expertise in our domain (i.e., >50% PhDs). Our director also did some engineering with the team, there were team sync-ups a couple of times a month, and mostly we were entrusted to do our thing with ad-hoc 1:1s to see how our tasks were coming along. It was very grad-school like in some ways.

        Over time the team grew, new management was brought in from outside, they brought in more managers in turn, etc. I spent most of time engineering time just maintaining and adding features to the subsystems that I’d originally written. Cool forward-looking or green-field projects went to newer engineers who weren’t already occupied maintaining the money-making product. Sometimes, I’d be asked to contribute to those but I never got a chance to lead anything since I was already busy with maintenance. There were times that I’d had ideas for features that could be useful; I was often told that they were good ideas but there was no time on the schedule. I had an idea for a larger project that I’d hoped I could lead and I wrote up a plan in detail and made the business case for it by noting how it could give us a key way to differentiate ourselves from our competitors (in a market that had become homogenized) with a better user experience. That went nowhere.

        After enough times being told “maybe later,” or an equivalent run-around, I realized that I was never really going to be allowed to move the needle. I was too useful where I was and so there was no opportunity for personal growth anymore. I found myself feeling somewhat withdrawn as a result, continuing to do all the tasks that I was assigned, jumping in whenever asked, and helping out my teammates where I could. But I kind of stopped taking the initiative, because “what’s the point?” if anything I ever suggest is likely to just get deflected. One of the last straws for me was a day last summer where I found myself booked in three different stand-ups in one day for the sub-teams I was contributing to.

        I didn’t mean to unload here, but having felt like I was on the other side of this once (and not so long ago), I think that it’s important to see if there’s maybe something that has caused the nice guy to become apathetic. Apathy doesn’t usually happen instantly or spontaneously.

      2. 5

        The apathetic nice guy you describe sounds like the majority of people. Many cultures are authoritarian and standing out is a good way to get beaten down.

        We like to think the “western world” is exceptional in regards to individual achievement. This is not the case for many people.

      3. 3

        Those folks are the raw fodder for the long-term occupation of a codebase. They’re cheaper, they have fewer problems related to “rockstar devs”, and used properly they are a massive boost to a team. One of my favorite coworkers punched a clock exactly as you described, and I loved him for the work that fit that mindset.

        They can also cause enough inertia to smother any spark of genius that might accidentally fall on the kindling of a team.

        1. [Comment removed by author]

    4. 9

      Assholes are ruining your project (slides) is also pretty good; I like how it tries to get some hard data as well, instead of relying just on anecdotes. The uptick after Drepper’s departure (which was recent when that talk was given) seems to have persisted and is quite marked.

    5. 8

      If I can say so myself, I was a brilliant jerk. I don’t want to go out to say that I am brilliant in general (I’m definitely not), but in the very little niche, where I was working, I was the best there was. But, I was that a jerk. For years. For me, what made me a jerk, was that I expected that everyone around me understood exactly the same things that I did. I got frustrated when people did not understand, or even held a different opinion than I did. I was so full of myself. In some ways, sometimes, I must admit, it must have bordered on bullying. Im not proud of that.

      I am happy that the organisation around me, and the people around me, gave me the chance to improve. I did improve as I matured and I work in that same organisation with those same people today but there is a completely different atmosphere. The key was for me to get my head out of my arse, or out of the clouds. And realise that everyone has different skills, at different levels and that believing that I knew everything was a sure sign that I knew too little (or in this case was lacking in understanding and experience). Talking to people also improved the situation. The people I had the hardest time cooperating with (because, honestly, at the time, I believed them to be completely worthless at their jobs) made the situation improve quickly. Just sitting down and having a coffee with them once a week. It enabled me to widen my perspective and opinion about them, and made me realise that we just had different skills.

    6. 6

      To be honest, I’ve never had issues with brilliant jerks. I have the tendency to just listen to them, since there is something I could learn from them. But I totally understand how one could be intimidated by them. Also in my opinion the lack of soft-skills in someone is not great. And, being a jerk is lacking soft-skills.

      However, the people with which I have the biggest issue in STEM are “ignorant assholes.” There is a big minority of people who are grossly incompetent, and running/designing things, and whose mind cannot be changed.

      1. 2

        I’ve had significant issues with a brilliant jerk at a previous job. He built large, complex automation no one else understood. He got frustrated when anyone would ask an “obvious” question.

        I had a brilliant jerk at another job. He would never work on web developer. He only worked on specific background services that were extremely easy to test and then berate people who were working on the far more complicated UI for not having 100% test coverage.

        Sure things were going fairly well, but that was because several other people were manually cleaning up all of the systems that were constantly breaking down.

        He wouldn’t train anyone because he thought the code was obvious. It was, if people had his five years of experience. No one had the experience with the tools to understand what was going on.

    7. 2

      I think I’ve been a brilliant jerk. And easily more jerk than brilliant. Life happened and I got corrected but kudos to those next to me that endured me while I was changing because it took its time.

    8. 1

      The “selfish jerk” subtype described here is a textbook example of Narcissistic Personality Disorder, by the way.

      People with narcissistic personality disorder (NPD) are characterized by the personality traits of persistent grandiosity, an excessive need for admiration, and a personal disdain and lack of empathy for other people.[7][8] As such, the person with NPD usually displays arrogance and a distorted sense of personal superiority, and seeks to establish abusive power and control over others.[9] Self-confidence (a strong sense of self) is a personality trait different from the traits of NPD; thus, people with NPD typically value themselves over others, to the extent of openly disregarding the wishes and feelings of anyone else, and expect to be treated as superior, regardless of their actual status or achievements.

      Not every SBJ has NPD, these disorders aren’t simple pigeonholes, and it’s not a good idea to go around diagnosing people … but this is a not-uncommon disorder that often goes undiagnosed because the people who have it don’t think anything’s wrong with them.

Stories with similar links:

  1. Brilliant Jerks in Engineering via nickpsecurity 5 years ago | 25 points | 3 comments