4 ms·
I think this article confuses an absence of "heated arguments" with a lack of constructive, critical discussions. I've found that in mature teams with high trus
by InsideOutSanta 2y ago
I think this article confuses an absence of "heated arguments" with a lack of constructive, critical discussions. I've found that in mature teams with high trust, people don't have heated arguments precisely because they are not afraid that their voices will be ignored. There is no need to become heated because you trust that the other people on the team will hear you out and consider your viewpoint.
>code that nobody questions usually crashes in production
I don't understand what that means.
- ArinaS 2y ago> I don't understand what that means. Probably "code that nobody critiques will fail in production". That's not always true I guess.
- hinkley 2y agoOn the first team where we did code reviews, I found in RCAs for the bad bugs that snuck in that there was a dearth of comments on the CR that introduced it. But usually the severity was more correlated with a lack of comments on the tests. Giant holes in test cases meant giant bugs. So don’t call a PR ready to land until you’ve gotten a few substantive critiques. Because the absence of evidence is not evidence of absence. For the bugs I introduced (I am highly bug-averse) it was either zero comments on tests, or bugs introduced by the CR process - changes I was coerced into making that I felt were wrong. And I can’t say which sort of subconscious resistance was at work there. Self sabotage for making changes I don’t want to, or my sixth sense for robust code telling me the suggestion is an antipattern. Probably both. What I learned from that last, which I confirmed in subsequent years, was that as a team you should only tolerate major pushback on a CR/PR at the beginning of the review process. Anyone who jumps in late with Needs Work demands, especially after a round of feedback changes has already landed, has lost their right to participate in the review. Because as a PR drags on, everyone gets tired of looking at it and has a less critical eye for spotting bugs that have been introduced by committee. It quickly becomes better odds that the original bugs the early reviewers did not catch are less dangerous than the ones that will be introduced by work-hardening the PR. It’s the same mechanic that makes pushing code or a deployment after 4pm a bad idea. Confirmation bias is greatly amplified by a desire to be somewhere else.
- ArinaS 2y ago> this article confuses an absence of "heated arguments" with a lack of constructive, critical discussions. Doesn't the article refute exactly this point of view? In "The hidden cost of “nice” teams" section: "Those teams weren’t actually harmonious—they were conflict-avoidant. The disagreements still existed; they just went underground."
- generic92034 2y agoIn my eyes a critical discussion does not mean that the disagreements went underground. If the team is doing its best to resolve the issue, what else are you going to do? I certainly do not believe that yelling at each other is helpful. A toxic consensus culture usually does not even allow for a serious, critical discussion, but dissenters are just ignored or verbally patted on the head.
- deleted 2y ago[deleted]
- InsideOutSanta 2y ago>Those teams weren’t actually harmonious—they were conflict-avoidant. In my experience, this is not true because, in high-trust teams, there is "harmonious conflict." People offer criticism without getting heated. Getting heated often results from a strong opinion combined with a lack of faith that other people are genuinely considering your opinion. People who get heated feel they have to be forceful to convince others to listen. Knowing your opinion will be hard and carefully considered, you don't need to get heated.
- tekla 2y agoI find the heated discussions happen in teams where things actually matter. If arguments never get heated, its because everyone knows it doesn't matter in the first place and you can just get by with silently nodding.
- InsideOutSanta 2y ago
- voidspark 2y ago> I don't understand what that means. Shit code or architecture that other devs didn't call out.
- blueboo 2y ago> …in mature teams with high trust, people don’t have heated arguments… This dynamic flourishes when the stakes and/or uncertainty are low enough. High stakes and high uncertainty means everyone’s pushing their intuition and their reasoning as far as they can. They’re at their limit of what can be communicated efficiently. This results in an uneven distribution of communication bandwidth across the edges in the team network. Accountability induces leadership and competing views are ascendant and in decline. I think it’s reasonable to wonder that, if the temperature never rises about room temperature, the team might not be fully challenging itself.
- InsideOutSanta 2y ago>I think it’s reasonable to wonder that, if the temperature never rises about room temperature, the team might not be fully challenging itself. I suspect this only seems reasonable if you've never experienced a healthy work environment. I probably would have agreed with you when I was in my twenties, working at a startup with another bunch of twenty-year-old guys and a CEO who was in over his head. It wasn't unusual for the whole company to yell at each other in a meeting room. The stakes seemed high then, but they seem ridiculous in hindsight, as does my own behavior. Thirty years later, the stakes are much higher, and the temperate is much lower. This is precisely because we can't afford this behavior, and we can't afford to deal with people who can't control themselves and behave professionally in high-pressure situations.
- blueboo 2y agoMy experience agrees with you — which is why I tried to hedge in my statement — but meanwhile tech culture treasures its stories (perhaps just-so stories) of demanding leaders getting better performance from outrageous targets.