upvote
Very accurate description. I think this gets missed sometimes. Sometimes you’re criticizing because you know a subject well and want to see it improved.
reply
See also: code review
reply
Two things I try to do in every code review:

If I’m doing the review, I try to find at least one or two items to call out as great ideas/moves. Even if it’s as simple as refactoring a minor pain point.

If I’m being reviewed I always make sure to thank/compliment comments that either suggest something I genuinely didn’t consider or catch a dumb move that isn’t wrong but would be a minor pain point in the future.

As you note, code reviews can be largely “negative feedback” systems, and I find encouraging even a small amount of positivity in the process keeps it from becoming soul sucking

reply
In some companies, (ahem… Amazon), engineers are judged by their code review/comment ratio. Especially L4 engineers trying to make it to L5.

So actually putting positive comments in the code review isn’t really much appreciated.

I gained this habit and now for me, a comment is a suggestion of improvement, I deliver praise out-of-band.

reply
> engineers are judged by their code review/comment ratio

It's a horrible practice with adverse incentives, and one of the reasons I'm glad I no longer work there

(and easily gameable, anyways - people would just DM each other patches they were unsure of, before submitting an actual CR)

reply
The more I learn about how the bigger companies do business, the happier I am my dreams of working for them never materialized. I encounter enough stupid things caused by businesses trying to measure difficult things. I would hate to work in a place where the proper mode of conduct – praise in public, criticize in private – is flipped on its head for the purposes of someone's spreadsheet.
reply
Good observation: The biggest critics are indeed often the biggest fans — but funnily enough often just in a consumerist way.

If you listen to interviees with great writers, musicians, painters or actors you will often find it surprising when they tell you which other arrists they like. That is because the people making the stuff often have a much more open mind about what constitutes interesting and/or good writing, music, paintings or acting.

To me as an practitioner it feels at time that these "enthusiastic consumer critics" are incredibly bitter about not being able to live from the art they love like the ones they critique, so they carve out their niche and give themselves self-worth by playing a strong role in the field they love.

With good critics this love is the predominant message, with bad critics it is the bitterness.

reply
It is a real skill to critique a thing and not come off as complaining about it.
reply
Instead of statements, I favor questions. Instead of "I, me, you, etc,", I favor communal "we, the code, the team." Be specific when possible. I try to focus on what should be done vs what shouldn't be done.

"Why did you not handle $situation" -> "how does this code handle $situation?"

"You shouldn't do $thing" -> "$thing has sharp edges, see $link-to-more-info. The general approach used in the code base is to $alternative."

reply