Live data from Hacker News

Being Slow to Criticise

solipsys.co.uk

11–20 of 103 posts

Re: Being Slow to Criticise

#11

I see Colin is atoning and reforming from even 1 day ago https://news.ycombinator.com/item?id=23125032 This is good

Colin is talking about criticising implementation decisions in software, in particular unconstructive criticism bereft of context.

Colin is criticising your idea, but is also trying to understand how you formed that idea in the first place, in an effort to hedge against the possibility it has good reasons he can't see. He's not just saying, "your idea is garbage".

Re: Being Slow to Criticise

#12

There's another factor at play in these discussions: Cynicism tends to look smart to outside observers. Cynicism is often mistaken for competence to outside observers. If a piece of software has a specific problem, the person chanting "This software is garbage" is going to look smarter than the people saying "Hold on, maybe this software is this way for a reason". There are various (somewhat weak) studies on the topi…

Cynism also has the advantage that no solution needs to be provided, so you are never wrong.

> In toxic and mismanaged environments, being a cynic from the sidelines can be a better political strategy than being the positive person in the trenches trying to find solutions and compromises.

Yes. In the best awesome places I have worked, there are great constructive discussions on how to solve problems.

If anyone is an environment that cynism is rewarded, run from there. There are better places to be.

Re: Being Slow to Criticise

#13
post #8

Being slow to criticise, particularly with colleagues you have to work day in and day out with, is critically important. That said, much of the FOSS currently available is either itself crap, or built on libraries and/or toolkits that are crap. I cite specifically anything of the GTK flavour, many popular things built in C/C++, and to a lesser degree QT. Why is this? Writing capstone technology (compilers and languag…

That said, much of the FOSS currently available is either itself crap... I understood the article was about criticizing persons and their reasons for doing something. What you say is an opinion on results, an opinion that could be correct. But you can't make a convincing criticism of behaviour based on results, except with better results.

I think the Linux kernel is crap, for what it's worth. That's not to say there isn't very smart people solving very complicated problems with it. But it is a monolith with a egomaniac in charge. This view is not solely my own.

Re: Being Slow to Criticise

#14

There's another factor at play in these discussions: Cynicism tends to look smart to outside observers. Cynicism is often mistaken for competence to outside observers. If a piece of software has a specific problem, the person chanting "This software is garbage" is going to look smarter than the people saying "Hold on, maybe this software is this way for a reason". There are various (somewhat weak) studies on the topi…

Intersting. In my anecdotal experience cynics tend to speak in a very confident matter-of-fact tone that suggests others are fools for not embracing the cynical perspective. I imagine this gives cynicism an edge because people don't like to be perceived as too gullible or naive.

Re: Being Slow to Criticise

#16

There's another factor at play in these discussions: Cynicism tends to look smart to outside observers. Cynicism is often mistaken for competence to outside observers. If a piece of software has a specific problem, the person chanting "This software is garbage" is going to look smarter than the people saying "Hold on, maybe this software is this way for a reason". There are various (somewhat weak) studies on the topi…

Intersting. In my anecdotal experience cynics tend to speak in a very confident matter-of-fact tone that suggests others are fools for not embracing the cynical perspective. I imagine this gives cynicism an edge because people don't like to be perceived as too gullible or naive.

I have found that this can be a dangerous gamble on the part of the cynic. Often the cynic's argument can't even withstand a single clarifying question. The first person to ask "can you explain in detail why this won't work?" can often elevate themselves above the level of the cynic, sometimes humiliating the cynic in the process. I have experienced this from both perspectives and as a bystander. Today I try as much as I can to be the problem-solver instead of the cynic. I try to do it in a way that gives the cynic a way to save face, though - it's almost never a good strategy to humiliate a team member.

Re: Being Slow to Criticise

#18
On reflection, I have kind of an interesting relationship with this thesis. Whether you should be quick to criticize kind of depends on the purpose of the discussion. Maybe in the context of the person writing the code that kills webservers, it was a reasonable idea. It could well be true at the same time that the software creating that context is, in fact, garbage.

I tend to think from the perspective of how to build systems tomorrow that are not garbage, so I lean towards labeling as garbage things that cause annoying code to have to be written; it's an optimistic perspective in a certain sense, that things can be better. But if you're going to bother judging past projects, which is already something to be careful with, it seems pretty clear as OP states that you'll learn more about by looking for reasons that the way they did things made sense at the time. With all the pesky humans involved, it may well be a sociological lesson rather than a technical one.

Re: Being Slow to Criticise

#19
Social stuff has gotten complicated by living in a world with a global internet. We each individually bring our personal experiences and prejudices to the table and often have no idea what the context is.

I got my first experience as a moderator on an email list with about 300 members and they were all "gifted." It was a parenting list for people with gifted kids, basically, and every single person there was used to being the smartest person in the room. So if you disagreed, obviously, you must be an idiot who had no idea what you were talking about.

It took a long time to lay some groundwork and convince people they were, for the first time in their lives, hanging out with 299 other people just as smart as they were who had read just as much as they had on the topic and so forth and, in some cases, drawn other conclusions.

That felt like a long, hard haul to me and then I quit after about six months because I was relatively new to the forum and my boss basically told me I was stabbing her in the back for doing my job and I was all "I ain't being paid enough for this." because it was a volunteer position.

I quit and let her know what she was doing wrong as a going away present, because I'm generous like that. I'm sure my analysis wasn't appreciated. It was most likely interpreted as sour grapes and as me pissing all over her as I left.

HN is better than most places about this kind of thing, but it's just hard communicating on the internet and not knowing the same things about the people we are speaking with that we tend to know about people physically in the same room. We haven't gotten all that sorted out yet and we may never sort it out.

If we don't sort it out, the result may be massive die back of the human race to a level we know how to cope with. The internet is our opportunity to sort a bunch of things that aren't working well, but I don't know if we are successfully tackling those questions.

Perhaps this post by Colin is one small crumb that can move that forward. And perhaps not. Perhaps it will get lost in the crowd and make no real difference.

Re: Being Slow to Criticise

#20
Empathy and patience are underrated qualities in developers. The empathy to not immediately blame the developers and the patience to find the actual reason behind the problem.

Blaming developers reminds me of the Design of Everyday Things where Norman discusses human error. He makes the point that human error should be an extraordinarily rare cause of an incident. Instead one can always go further and find the root of the human error. Why was the code quality poor? Were the developers being rushed? Were proper standards not put into place? Did we hire the wrong people? Did we misunderstand the problem? Was there a miscommunication between management and developers?

Post reply on HN