DEV Community

Cover image for About criticism

About criticism

Alex Lohr on July 20, 2022

Everybody is a critic. Every developer has both been on the receiving and the giving end of criticism. It is a vital part of our job, be it as code...
Collapse
 
polterguy profile image
Thomas Hansen

It’s a very nice write up. Now if you could only reject Marxism in favor of Anarchy, I think we’d find a common ground somewhere … 😉

Collapse
 
lexlohr profile image
Alex Lohr

I'm not even a proponent of Marxism, I just find his works terribly misunderstood by people who never even read it. But yes, anarchy in it's original sense (a society based on everyone's contribution for the common goal of everyone's well-being) I would wish for. Maybe a more modern version as depicted in Cory Doctorow's "Walkaway" (if you haven't already, do yourself a favor and read it, it's really that good!).

Collapse
 
polterguy profile image
Thomas Hansen

Anarchy isn't about contributing or sharing, it's about freedom from tyranny by avoiding power concentrations. But yes, human nature seems to be hardwired towards sharing, implying once free, we tend to figure out things on our own in these regards. Most sane people don't need the "tyranny of the state or representative politics" to help us give and share our meals with our next of kind ...

Thread Thread
 
lexlohr profile image
Alex Lohr

Please read up on the original anarchists. It might surprise you, but they were quite anti-capitalist and despised hierarchy of any kind.

The shallowness of modern minds rendered this quite interesting philosophy into "freedom from the tyranny of the ruling class".

Thread Thread
 
polterguy profile image
Thomas Hansen

Define "original anarchists". There are a lot of people who contribute the original idea to Jesus ... ;)

The word might not have existed 2,000 years ago in Judea, however if you read his words, there is ZERO doubt about his "political affiliations" ...

Thread Thread
 
lexlohr profile image
Alex Lohr • Edited

Jesus of Nazareth could also be considered anti-capitalist (remember the cleansing of the temple), but you misunderstand again: "Anarchists" were philosophers who brought forward the concept of anarchy as an answer to the question: "How (much better) would society work without the rule of authority?". The first person to call himself "anarchist" was actually the French philosopher Pierre-Joseph Proudhon.

I think Cory Doctorow gave that whole concept a great update as open-source version-controlled mini-society without the rule of authority. Seriously, read "Walkaway".

Collapse
 
miguelmj profile image
MiguelMJ

Nice summary, Alex. Some unsolicited piece of advice to add:

Make the less assumptions possible about the person giving you the criticism.

I have found this very useful, because when I least expected it, the person in question was smarter than I initially thought. I have that kind of bias that makes me think that, if you criticize my point, you must have misunderstood it. However, sometimes the one who misunderstands is you (not always, though).

So before going into a discussion on falacies and logic, first make sure that both of you are using the same terms to refer the same things and give the other person the chance to elaborate on their point until it's clear and you feel you can agree/refute it with a proper understanding of what they are trying to say.

👎 "If you use X framework is just because you haven't tried Y yet."

👍 "Have you considered Y instead of X? I feel like that would fit better here."

👎 "That architecture doesn't make it more flexible."

👍 "Could you give me an example of what would be more flexible with that architecture? I can't think of any."

Collapse
 
lexlohr profile image
Alex Lohr

If you manage to leave your ego (and thus your opinions) out of the argument and only provide the reasons behind it, it should make no difference. There might be other reasons that you have overlooked, but then you can pull the "Thanks for providing this perspective to improve my position." move.

👎 "Have you considered Y instead of X? I feel like that would fit better here."

Ego again. An objective argument should be about our reasons, not about us. They might be incomplete, but they should be sound.

👍 "Have you considered Y instead of X? It comes with an API that solves the issue Z for you."

Otherwise, great point here: asking questions to provide indirect criticism is a good way not to look too assertive.

Collapse
 
miguelmj profile image
MiguelMJ

I see why you would want to remove ego, but there's nothing wrong in admitting subjectivity. Unfortunately, it's difficult to be completely objective in every topic one discusses, specially because of biases we are even unaware of, and because not every argument is objective. Sometimes we have opinions that we interpret as facts and sometimes the subject is an inseparable part of the discussed topic.

Thread Thread
 
lexlohr profile image
Alex Lohr

You may make subjective remarks of opinions (especially positive ones, those are good in a code review and may improve team spirit), but don't confuse them with actual criticism.

Thread Thread
 
miguelmj profile image
MiguelMJ

Yeah, I guess I was thinking of general feedback, more than specifically criticism.

Collapse
 
efpage profile image
Eckehard

Hy Alex,

thank you much for your post!

One thing I realized on many discussions on dev.to (and others) is, that people do not even ask: What do you want do build? They just assume, everybody does what they do (without mentioning, what precisely they are doing). But you cannot tell, that "VDom is faster, because it eliminates unnecessary scree updates", if you do not know, what kind of app you are building. For a large scale app and a big team, this might be true, but for a small desk calculator it is certainly not.

So we find a lot of criticism based on simple misunderstandings - or should I say - a lack of willingness to listen to each other?

The world of web development is very confusing, but this diversity also results from the variety of applications and the rapid technical development. We should always keep that in mind and ask more questions before we criticize things

Collapse
 
flgublerergon profile image
flgubler-ergon

Thanks for the interesting article :-)

I kind of disagree with your example for "Free of ego":

I would agree with the title in the sense that you should not write/say something like: "I am such a great developer and know better so please do XYZ..."

However, by saying that it is my opinion that recursion would work better here, I also give the other person the chance to disagree. If I say: "Recursion would be better", I claim it as a universal fact (which the other person is an idiot for not realising). In my opinion, the second option is much more likely in the other person being offended and reacting defensively.

Collapse
 
lexlohr profile image
Alex Lohr

The point about freedom from ego is that 1. your assertion is supposed to be as objective as possible and thus you would be doing yourself a disservice by framing it as mere opinion and 2. the answer, even if in disagreement, is then more likely about the assertion instead of being about you.

Also, in an actual code review, I would have included an example code to prove my assertion, like I did here: dev.to/lexlohr/comment/207o0

If someone is offended, please apologize and send them a link to this post and maybe the issue will resolve itself.

Collapse
 
flgublerergon profile image
flgubler-ergon

Of course, it should be as objective as possible, but in the end we are (usually) not talking about the laws of physics, so in the end, it is still an opinion. It should be strongly based on facts, which you can and should explain, but in the end it is not an absolute truth (unless it is made into absolute truth by the authority of your role but that is another topic, I guess).

However, this might actually be a very cultural thing. Like in one culture, too much assertiveness is seen as arrogant while in another, you won't be taken seriously otherwise.

Thread Thread
 
lexlohr profile image
Alex Lohr

Thank you for that insight. Might I inquire which culture you are from and why it sees assertiveness as arrogant?

Thread Thread
 
flgublerergon profile image
flgubler-ergon

Sure: Switzerland
Hmm now why it is seen as arrogant, is a hard question :D.
It does cause a lot of misunderstandings with our neighbours in Germany, though :D.

I would guess in the end, assertiveness implies that I know XY better than you or that I know some "absolute" truth which you don't which would then again imply that I am worth more than you which would lead us to arrogance. But ofc that would also strongly depend on the relationship between the two people: Like if one is clearly more experienced than the other, they could be much more assertive than if it is not that clear.

Thread Thread
 
lexlohr profile image
Alex Lohr

"Better" is always subjective judgement and therefore wrong in criticism. Omit that and only bring on the reasons why you would believe something is arguably better than other choices.

But yes, if you want to strenghen your criticism, you should not disregard other choices, but again explain the reasons why you would choose otherwise, i.e.

"Angular's inclusion of rx can make it easy to add more complexity than is actually needed, thus providing a dangerous foot-gun that could harm the maintainability of the project if not wielded carefully; since your project is not that complex, its use may be considered unwarranted. Vue could be an alternative, but you'll find more developers already familiar with react, which is also why Svelte or Solid.js, while otherwise viable, might be less interesting than react."

So you do not assert a judgement, you assert your reasons for reaching that judgement - and either the recipient will take it to reach the same conclusion or will provide different reasons to reach another conclusions and the discussion continues.

Collapse
 
dailydevtips1 profile image
Chris Bongers

Thanks a lot for writing this down Alex.

It's an important topic and necessary for once growth.
However so often misunderstood and/or misjudged.

I do find especially the logical soundness a difficult one to adhere to.
Given the example, you could argue vue and angular also have large ecosystems.
(I know it's not really the example's point)

How much "detail" is needed to provide such feedback?

Collapse
 
lexlohr profile image
Alex Lohr

Since our knowledge is limited, so is the objectivity of our criticism. That does not mean our arguments are inherently unsound (except if they are), only that they are based on our point of view that we could expand and sharpen by taking more criticism into consideration. It's very much like the scientific process: you never achieve 100% of all possible knowledge and some of the things we currently accept could be proven wrong, but at least it's the closest to the 100% that we can get to at this point.

That being said, about the detail: brevity helps, but don't hesitate to link to resources for further learning.

Collapse
 
polterguy profile image
Thomas Hansen

Abstractions are also great as the means of giving criticism ...

Collapse
 
shlomif profile image
Shlomi Fish

this reminds me of my shlomifishswiki.branchable.com/Enc... page

Collapse
 
figspville profile image
Salli Figler

Good article Alex. It's not easy to write anything since all is critiqued. Keep that sense of humor.

Collapse
 
lexlohr profile image
Alex Lohr

Thank you. I hope you'll find it easier to write not in spite of criticism, but in embracing it.

Collapse
 
quantuminformation profile image
Nikos

good one

Collapse
 
adrvnc profile image
Adrian Carter • Edited

slurs reflect more on those giving them than those targeted.

Extremely underrated quote 👍