I can't bring myself to watch the video. "Kindness Engineering" just radiates Orwellian vibes. People aren't being "kind" enough, and so we're going to apply scientific processes to people to "engineer" "kindness".
What a sinister title.
Doing a quick jog through the video...
- "Be yourself, because who you are is brilliant..."
- Psychological safety
- No blame
What a load of toxic advice. Engineering is not an affirmation cult.
I have the feeling that we got to this place by putting the sum of our existence into our git commits. And if people criticize your git commits, they're criticizing your existence, and this is "harmful", so we need to engineer "psychological safety" into our engineering reviews.
The real psychologically unsafe practice is making your code the sum of your existence. Accept that you can fail as an engineer, and still have worth as a person. That's the solution, not "kindness engineering".
I read the deck not the videos, but their is a section on “nice” versus "kind" slice that is the complete opposite of your straw man. Direct feedback about your work that covers both the good and the bad is considered kind and encouraged.
In fact, psychological safety is what creates an environment where actions and decisions can be discussed and critiqued rationally rather than emotionally. The blameless part is shorthand for focusing on the system rather then the person. After all, if Alice took down production by modifying a config file she thought was on the dev environment it makes far less sense to focus on blaming Alice did versus discussing why someone was able to modify production without appropriate checks in place.
The "bring the whole person" and "be yourself" concepts need work though. There are fair number of people I know who I really would not want to just "be themselves" at work.
> I read the deck not the videos, but their is a section on “nice” versus "kind" slice that is the complete opposite of your straw man
Thanks for drawing attention to the existence of the slide deck, that was much more easier to read than the video.
I think I understand why OP is reacting to the word "kind", it is a bit of a misleading branding, and the content is also not exactly coherent about it. There is an extra emphasis on considering the other persons' reception of the communication, but then there is an inclusion of assertive communication as you've pointed out. A more realistic title would have been "how to work and communicate effectively".
> In fact, psychological safety is what creates an environment where actions and decisions can be discussed and critiqued rationally rather than emotionally.
Again I think the connotations of term is problematic, in comparison to your pretty good of an explanation of what it should be about. After all psychological safety depends on the other side's psychology, so for a narcissist that would mean actually not threatening their myth of personal superiority, and bringing rationality to discussion would not necessarily be comfortable for them.
I think a much better approach can be considered through virtue ethics. There is no being fair to the other people while not being fair to ourselves. So there is a golden mean between giving consideration to their point of view vs. requesting consideration for our own point of view and there is no algorithmic approach that can find that point for us. We can't get lost in emotional contagion with the other persons' feelings (think of a surgeon unable to operate a kid because they are empathizing too much), just like we can't get lost in our own feelings (every callous, bullying manager or lead we've encountered).
Also "engineering" kindness sounds very objectifying and manipulative. Please do not engineer me, I am a human. Tell me the good reasons to be kind, and let me decide for myself. If being kind is "good", people would naturally take it up.
Disclosure: I read the slides, but have not watched the video.
What the author is doing is disentangling accountability and support. The nice-kind distinction is reminiscent of the permissive-restorative distinction in the social discipline window[1]. This disentangling into a 2x2 sets the stage for analyzing feedback.
I've never considered a good code review to be "kind" -- and I don't think much will change that.
Helping an old lady cross the street. Buying a friend a coffee and listening to their troubles. That is kindness: an ethical consideration for others, and a pleasant disposition.
It's absolutely essential to have design reviews be rational, and to untangle complicated emotions. The reason flight travel is so safe today is because of these principles -- crash reviews are not about assigning blame, but finding the cause of the crash to prevent further loss of life. But "kindness" does not come into play here, and introducing it will create problems, not solve them.
I agree with you, that the "bring the whole person" and "be yourself" part is unrelated good engineering practices. But these are the grounding framework of "psychological safety", which puts the responsibility for my well being in your hands. That's a responsibility that no one can (or should) bear.
I think you're conflating kindness and niceness. People are nice to protect the feelings of others, whereas kindness has a more logical component, e.g. being honest when the truth can hurt. You can be kind without being nice. But I believe you're right that people need to take their emotions out of their work.
Most of what we do, including writing code, is not rational. We are emotional beings with heuristics. You make irrational decisions in your code all the time. Hell - the fact that your code doesn't come along with a formal proof is evidence of irrationality; do you think the code you hand-crafted doesn't have bugs?
Kindness is a tool we use to accomplish work with other emotional irrational beings. The NTSB crash investigations wouldn't work without kindness. You can't run around asking insensitive rude questions in an insanely important/sensitive situation and expect to get cooperation! We are all responsible for each other whether we like it or not, and our ability to work together we'll hinges upon good relationships, which among other things, depends on whether we're kind to each other.
> Most of what we do, including writing code, is not rational.
Wow. I knew I was pulling on an ugly root when I started writing against the inclusivity dogma, but this is a little more than I was expecting to unearth.
Humans do not need formal proofs for things they do to be considered rational. Full stop.
> You can't run around asking insensitive rude questions in an insanely important/sensitive situation and expect to get cooperation!
I mean... you did just say the majority of what I did is irrational :'D But. To say that kindness does not factor into NTSB investigations does not mean that the alternative is insensitivity and rudeness.
Dude, I don't care about your problems with minorities, you don't have to bring it up in every conversation. It's like you're fixated on it.
> To say that kindness does not factor into NTSB investigations does not mean that the alternative is insensitivity and rudeness.
That's exactly what it means. If you're not being kind, then you're being unkind. Lack of kindness is a property of unkindness, just like insensitivity and rudeness.
"unkind, adj. 1) Lacking kindness; inconsiderate or unsympathetic. 2) Harsh; severe. 3) Not natural; unnatural. 4) Not sympathetic; lacking in or not springing from or exhibiting kindness, benevolence, or affection; not kind; harsh; cruel. 5) Having no race or kindred; childless. 6) Not kind; contrary to nature, or the law of kind or kindred; unnatural. 7) Wanting in kindness, sympathy, benevolence, gratitude, or the like; cruel; harsh; unjust; ungrateful."
Without the properties of kindness, an NTSB investigation would not be able to gather as much evidence. Every hostage negotiator and interrogator knows that you can get a lot more practical information by being kind and trying to be someone's friend, even if they have reason to doubt your motives. Being kind is a great strategy.
But it's not just a strategy to fool someone. It's as practical as it is morally good. It fosters better collaboration and communication, it speeds up resolution of conflicts, it removes barriers. Kindness is an indespensible tool to facilitate work between humans. The fact that it's also the morally correct thing to do is a side benefit.
> It's absolutely essential to have design reviews be rational, and to untangle complicated emotions.
We should stop hiring humans then, but what is the alternative? I have seen too many engineers getting angry because people is not rational. Like, man, you are getting angry and hyper-emotional but you think that others are irrational.
You have built up a terrifying straw man based on a video you admit you didn't even watch.
You're right that we should put less emotional stake in our code--the video actually lays some healthy ways to do this.
More generally, it's important that we recognize that people have emotions, otherwise it makes it easy and convenient for us to treat them like shit. (hint hint)
I'm almost certain you have, at some point in your career, correctly implemented a feature, only for an operations or product counterpart to blame you for some piece of out of scope functionality not being there.
How did that make you feel? Did you alter your behavior to be less helpful in the future? Did you start recording meetings so that you had a source of truth on explicit scope?
If team members think or feel that they "need to cover their ass," that hurts the company's mission, and wastes resources. Worse, it can lead to managers pushing for excessive due diligence, which saps the motivation of ICs.
Blame is ultimately a waste of energy. Every team member is going to make mistakes if they are taking sufficient risks. You can fire people who have a negative contribution level or chronically underperform without leaning on blame.
What a sinister title.
Doing a quick jog through the video...
- "Be yourself, because who you are is brilliant..."
- Psychological safety
- No blame
What a load of toxic advice. Engineering is not an affirmation cult.
I have the feeling that we got to this place by putting the sum of our existence into our git commits. And if people criticize your git commits, they're criticizing your existence, and this is "harmful", so we need to engineer "psychological safety" into our engineering reviews.
The real psychologically unsafe practice is making your code the sum of your existence. Accept that you can fail as an engineer, and still have worth as a person. That's the solution, not "kindness engineering".