5 ms·
Calling Someone's Baby Ugly
- wilfra 14y agoYou can be too kind. Grinfucking people is doing them a disservice.
- jtheory 14y ago"Doing them a disservice" is by definition not kind, I think. Note that the phrase isn't "you can never be too flattering." This interpretation does make it a very vague instruction ("okay, so what's the 'kind' thing to say when someone shows me a project I think is poorly done?"), but it's pretty damned obvious to anyone but the most stubbornly obnoxious that the kindest thing is never "rip it to shreds with cutting sarcasm and mockery".
- jtheory 14y agoBy extension: seeking the kindest way you can respond means thinking hard about what response will be most helpful and supportive of them. That might mean being supporting but giving them strong nudges towards working directly with potential customers... but regardless, it's about having a conversation that you can exit on friendly terms. It's certainly possible to do even when you have important negative feedback to offer.
- chaostheory 14y agoYes but there's a difference between giving useful constructive criticism and just being a jerk.
- MartinCron 14y agoI am starting to believe that there are some people who will never be able to tell the difference.
- mcgwiz 14y agoGood point. Best to be one-sided and myopic than risk being too kind!
- wilfra 14y agoBest to be honest and direct with your feedback than worry about whether or not you are going to bruise the delicate ego of whomever you are giving the feedback to. No that doesn't excuse being a dick but if I have the choice of getting honest but harsh criticism of something I've built versus somebody grinfucking me, I'll take the harsh criticism every single time.
- mcgwiz 14y agoHonesty comes first, definitely agree. I don't think that was ever questioned. What was questioned was delivery. Delivery is important because it overcomes the innate skepticism of many people (which can also have emotional and professional ramifications). Honesty and delivery are orthogonal concerns. Also, the article is about giving feedback, not taking it. The fact that you prefer to take harsh/honest criticism rather than overly-friendly/dishonest feedback is irrelevant (and is also a false dichotomy). You appear to state this to refute any a need to be concerned with delivery at all; your personal preference doesn't change the reality for the rest of society. So, regarding giving feedback, if your objective is to improve the recipient's chances of success, it behooves you to communicate your (honest) feedback in a way that reduces as much distrust as possible. Techniques for this are given in the article. But again, I agree, honesty underpins all of this.
- hrktb 14y ago>No one is going to hear you, until they know they have been heard This is the key part I think. Everything else is just a matter of strategy or personality, and being blunt or socially awkward is less an issue than not to see the things from the perspective of the people who built it. Edit: removed random bits
- merlincorey 14y ago> It turns out that it is just not an effective way to convince anyone of anything or to change behavior. It is demonstrated in animals as well as in humans. Citation needed? I mean, I just want to read the paper where criticizing animals was shown to: > It can have a horribly diminishing effect of destroying someone’s self worth and stopping a person from believing in themselves.
- mcgwiz 14y agoYeah, the author used some strong language. He obviously should have started off each sentence with "In my humble opinion". "Effective" is a value word, so no study can prove it without first defining it (which would probably require 4 or 5 studies itself). However, I believe he's merely referring to cognitive dissonance, which can be briefly stated as the reason we tend to resolve mental stress by ignoring logic. Also he said it "can" have a horribly diminishing effect. He might only have been claiming 1 in 10922. That's a pretty weak proposition, ergo there are dozens of studies that proved it. In my humble opinion.
- hso9791 14y agoWe should embrace criticism. If it is valid, one learns. If not, one may clarify. Saying somebody's baby is ugly is not criticism - it is simply useless. Attempting to compare proper criticism to it is even more useless. This post to me is an antithesis to rationality. Obviously, twitter is a medium more suitable for quick dismissals or approvals than a well-founded critique of a language. In such, I somewhat agree with the original poster. Nevertheless, to take an early 20th century sales coach's bastardization of good manners as our guideline for how to give criticism in the crafts seems a poor course to stake out for society.
- mcgwiz 14y agoThis is patently absurd. The author fleshes out a rich and detailed argument for comparing/contrasting rather than one-sided criticism as a way to provide feedback, but your best refutation of it is to point at the one sentence in which he cited someone you feel is of dubious credibility and proclaim "Therefore he's dumb!" Oh, but you said "proper" criticism. I get it now.
- benatkin 14y agoIt isn't rich and detailed. It's a wall of text from someone who is bad at arguing.
- mcgwiz 14y agoEither way, there is more to it than Dale Carnegie.
- hso9791 14y agoWell, when reading the text, the reference to Dale Carnegie's work - as well as the author's reflections on that - constitute the pivotal point of the chapter "Why criticism is bad". Without that, what is left except feelings and such? He even repeats a claim that 99% of people one criticizes "will not see themselves to blame anyway." That is not how we reached our modern science and academia. Furthermore, he advises: "It is amazing how often it is you end up in a chair across from someone at a table interviewing you for a job you really need who happens to have worked on an open source project you publically condemned. Whoops." If one's criticism is well-argued, this may in fact be the tipping point that secures the job. If the criticism was a one-liner on twitter, it may spark a dialogue that generates mutual respect. My issue with the post is that it throws the baby - ugly or not - out with the bath water.
- geetee 14y agoYou can't work harder or smarter to make an ugly baby cute.
- mistercow 14y agoI find it frustrating how this article vacillates between "criticism" and "mean and/or unconstructive criticism". The article's thesis is that all public criticism is bad, but in supporting this, the author uses attacks that apply exclusively to unconstructive harsh criticism. For example, while people may refer to a project as "their baby", the "calling someone's baby ugly" analogy stretches the metaphor to the breaking point. A baby's appearance is set and there was nothing the parents could do to affect it in the first place. Constructive criticism of a project, on the other hand, can serve to improve the project, as well as being instructive for anyone working on similar projects in the future. Of course, the author then does say that "disagreeing" is OK as long as you do it tactfully. OK, fine. But that there's a word for that: "criticism". Finally, we have this notion: >Along this same idea, it is good to not talk about problems without offering up solutions. Doing this is called complaining. Proposing solutions before discussing the problem is a cognitive antipattern (see http://lesswrong.com/lw/ka/hold_off_on_proposing_solutions/ http://lesswrong.com/lw/ka/hold_off_on_proposing_solutions/). If you try to solve a problem without carefully thinking about it and discussing it first, you will arrive at inferior solutions. We should try to respect other people's feelings, but we cannot do so at the expense of progress.
- striglia 14y agoAt the same time, I think it's worth noting that a disturbing amount of the criticism made within the programming sphere is not aimed at solving a problem, but rather exposing the obvious wrongness of the original product and its author(s). I fully support the idea of discussing a problem, but the key term here is discussion. Sitting around talking about how terrible component Foo is because it's obvious to even the most casual observer that it has not a single redeeming characteristic is strictly demonizing. For me, it's all about the community. Recognize that every program we criticize almost certainly had someone pour a ton of effort and thought into it, and use that knowledge to temper your criticism. Make it a learning experience for the original author, and strengthen your team/organization while you're at it instead of tearing down people in the name of improving the project.
- mistercow 14y ago
- delinka 14y agoI tend to avoid complimenting or insulting ugly offspring. Instead, I note whether you can deduce their parentage from their physical characteristics and/or their demeanor. Parents tend to accept these comments as compliments. To apply this analogy to software ... I just don't. I don't know the "parents" in most cases. I simply evaluate the software, look at whether it meets my needs, evaluate whether its shortcomings prevent me from using it. And if I don't like it I just move on. If you're looking for criticism and suggestions from me on your software, A) you're at least an acquaintance (or I've prepaid for your app) and B) you should be able to accept that criticism. I'm not in the habit of grabbing a random app and calling it ugly.
- fallous 14y agoSorry, but my son was actually an ugly baby... at least for the first few weeks after birth. People who think their babies are always beautiful are the same empty people that demand that everyone be a winner, because they can't stand the objective evaluation that they may, in fact, be losers. When I code, I always assume I'm wrong and missed something. Find a coder that thinks his new "baby" isn't ugly, and I'll show you an amateur that can't be trusted for production work.
- mcgwiz 14y agoUh, the only people you trust to work on production code are those that think their work is "ugly" (which, in the context of the article, was a euphemism for harsh, one-sided, a-hole ripping condemnation)? Oh, but you cited evidence. Assuming you trust yourself to work on production code, it's a universal truth that all trustworthy people must think they're spawn is ugly because you yourself were able to do that with your son. Congratulations?
- wiradikusuma 14y agosomewhat related with OP topic: did you tell your wife the first time you notice your son was ugly? you're not the only one doing the creation.
- troels 14y agoIn my experience, most babies are pretty ugly the first couple of weeks. Once they get some fat on them they usually get plenty cute.
- kalms 14y agoMy son was gorgeous. My brain might not have worked properly at that moment (temporary insanity), but he was the most beautiful thing I have ever seen. No matter how I look at it, even in retrospect. I thought all Dad's felt similar.
- deleted 14y ago[deleted]
- lnanek2 14y agoI don't know, I really hate all the vapid congratulations and "oh, that's great" and whatnot I get from friends, usually the older more polite ones. That seems to be the world this person wants. These things do not tell me what's broken, what to work on next, etc.. There's a possibility they aren't just being nice and thing x they complimented is good and then in the big clue game of life I can search for something else to work on. Even then it isn't as good, though. Telling me about something that is broken results in no search, just me having to decide if it is worth the hours to fix/improve it.
- scribu 14y agoActually, the author explicitly mentioned flattery.
- lnanek2 14y agoI'm not thinking of flattery at all. I'm thinking of people too polite to say what they really think, and so what they do say is useless. He goes on and on about how hard it is to be critical and kind at the same time, the truth is, most people will just take the shortcut and just be kind. They are cutting things out and inserting meaningless pleasantries, not adding false compliments to get something.
- deleted 14y ago[deleted]
- scribu 14y agoOk, and why do you think they are inserting meaningless pleasantries? Because they want something in return, even if it's more meaningless pleasantries. :)
- Karn 14y agoThe kind of environment/attitude the author is proposing is not one that engenders excellence. The problem is not criticism, it's ad hominem attacks ("this programmer is obviously a moron" compared to "this is a stupid way to do this"). Criticism is a sine qua non for progress, and people who can't handle it have no place in an adult environment.
- fourstar 14y agoEveryone loves their own brand, although I'm not sure this correlation between someone calling your actual (human) baby ugly was the proper metaphor.
- craigvn 14y agoThe problem with developers is they have no idea what is ugly or not. That's why they wear so many geeky and trade polo shirts! Typescript is not ugly at all, and the majority of web application developers in my office liked the look of it. It is more the self proclaimed uber geeks who have a my way or the highway mentality. No hire.
- blackhole 14y agoThis article needs to differentiate between vapid criticism and constructive criticism. Constructive criticism always provides good, meaningful advice for how to fix potential issues, is not unnecessarily harsh, and is willing to work with opposing criticism. People disagreeing about how to fix something can be just as bad as disagreeing on whether its broken in the first place. Constructive criticism is healthy and does not usually destroy anyone's self-worth, unless they simply can't take criticism at all in which case they will never improve.
- jeswin 14y agoUnlike what the author has experienced, I haven't seen any universal hatred for typescript. Most opinions have been balanced and recognize it is the first iteration of the language. Especially from people who actually work with Javascript. Interestingly, the .Net/MS community seems to be far less open to typescript. Perhaps that is where the author is coming from.
- mpolun 14y agoI've never read an interesting article about the proper tone of arguments. I've read interesting articles about how not to exclude people, I've read interesting ones supporting and opposing any particular viewpoint, but talking about tone has never added anything of value to a discussion that I've been in. This article continues that trend. Yes, people can be assholes, and they can be dismissive. Yes, you are more likely to convince someone of your viewpoint if you don't insult them. But this misses the point of most arguments about things like programming languages on the web: few people seriously want to convince anyone, they just want to express that they are right.
- niggler 14y agoAll of these blog posts about Typescript are a waste of space. All we've seen are visceral reactions and observations with toy problems. If you try to use it for a real application, you see three things: 1) Typescript tries to change certain javascript idioms. For example, the first thing I do when writing a node module is the commonjs module interface, which is not what TS wants you to do. A common source of criticism is the fact that the typescript pattern doesnt match all of your idioms, which is fair but shouldn't be a reason to immediately throw it out 2) There are some places which break javascript. For example, parseInt(0.3) is an acceptable javascript call, and it is acceptable according to the spec, but typescript requires that a string be passed as the first argument. Again, it's nascent and hopefully those quirks will be fixed. 3) If you are even remotely professional about your development, the type hints have little value. You already keep a careful map of the code in your head, and you are careful not to make the mistakes that typescript would catch.
- jazzdog 14y agoI would disagree with item 3. I am a professional developer. Not remotely professional, but flat-out professional. And I make mistakes. I know other developers, wait, greater than remotely professional developers, that also make mistakes. Even though I'm a professional developer and I've got a careful map of the code in my head, and I'm careful not to make mistakes, I still make mistakes. I've seen other developers do the same thing - make mistakes. I'm always stunned, but it keeps happening. I have found that type hints, code completion, intellisense, helps me discover mistakes sooner, often before I make them. I have found that mistakes found sooner are cheaper to fix. Type hints have huge value for productivity. Often, BTW, you are using a class (or JS function, whatever) that you didn't write, so you don't necessarily have this careful map in your head, your trying to figure out what this beast is that you're using, and hints are extremely helpful there. I think Typescript is great, from what I see so far. And it's not like Anders is trying to hijack JS. I see it as a development tool. If the next guy doesn't want to use TypeScript, fine, have at the JS, it's nice code that it produces.
- niggler 14y ago" I still make mistakes." There's a really interesting documentary about Edsger Dijkstra in which they looked back at his old notebooks. He wrote by hand, and when a correction was needed he'd tape a segment on top of it, and sometimes youd see stacks of these corrections. When all of the fragments were removed, the top version almost always was same as the original. The point of the anecdote is that most professional developers I've met are incredibly disciplined and take time to understand the intricacies of what they are working with before starting. The types of mistakes that Typescript can catch stem either from carelessness (like mistyping) or memory loss (forgetting a function signature), but those can be obviated. "I have found that type hints, code completion, intellisense, helps me discover mistakes sooner, often before I make them" Code completion shields you from spelling mistakes. Intellisense saves you the need to remember the signature of various functions (most of which you should know anyway). Type hints help with nondescript names, but hopefully your variable names have the types implicitly embedded (e.g. 'count' or 'cnt' are almost always integer types) I'm not saying most people don't suffer from these problems from time to time, but most professional developers I know are very careful and write good code the first time. "Often, BTW, you are using a class (or JS function, whatever) that you didn't write" Again, most APIs use sufficiently descriptive names that there should be little confusion. If there is ever a point where something is not clear from the outside, oftentimes there are issues on the inside that should be addressed (minimization notwithstanding). I think Typescript misses the point. A high quality linter for javascript could pick up on most of the issues that TS picks up on. Furthermore, there are some quirks that break compatibility, which does to an extent suggest hijacking.
- dutchbrit 14y agoCriticism is healthy when it comes to company life. If someone's baby is ugly, it doesn't matter.. You see, your kid is not a product or service (I HOPE!!!!). Calling someone's baby ugly is not constructive criticism. What can a parent do? Give his kid plastic surgery? And even if they could, why would they. They don't have to profit from their kid. Only on a happiness way, which doesn't mean their kid has to look good to make them feel good. So, if your company gets criticism, it might be healthy to listen to it. If it's based on nothing, let it slide. If it's well constructed, think about it and try to improve (if it falls under the direction you'd still want to go). If someone plainly says, your product or service is going to fail, he's either right, OR, you'll have someone to prove wrong. But just saying it's crap doesn't help you. Why do you think it's crap? Why do you think I will fail? Maybe they'll give you valid points that you completely overlooked. It might save you a lot of time, stress and money. But don't give up if you believe otherwise. PROVE THEM WRONG. RUB IT IN THEIR FACES! Honesty is good, let people speak their minds. Listen. Laugh about it, or do something with it. Giving someone critisism doesn't mean they don't like your baby. They might just have a really good point..
- smosher 14y agoM'eh. If everyone likes your language it's probably terrible. When I finally took a look at TypeScript I was amazed at how inoffensive it is. It's nothing but an improvement. It might not be the best improvement imaginable, but JS in its entirety is still there. How do you get upset about this?
- lucian1900 14y agoMy twitter feed spewed no hatred about TS at me.
- kalms 14y agoNor here. Only careful curiosity!
- timinman 14y agoIt's good to remind us to think about the person behind the product. I have to admit I was hoping the title was a literal description of the article, because that would be a really interesting read.
- ucee054 14y agoMy Baby != My Work, My Baby == My Family Member, surely? Can't we have different standards for discussing the other guy's work and family? We must respect the other fellow's religion, but only in the sense and to the extent that we respect his theory that his wife is beautiful and his children smart. H. L. Mencken
- cmccabe 14y agoThis is a pretty long-winded way of accusing people who don't like TypeScript of being big meanies. How about addressing the actual arguments and building a logical case for your position? Or is that not cool any more? I actually like what I've seen of TypeScript so far, but a lot of the blog posts, both pro and con, seem like more fecal matter clogging up the intertubes.