5 ms·
This is bound to be an unpopular opinion, but why exactly does anyone have to apologize? He's absolutely right. Criticism comes from every corner, especially in
by calinet6 14y ago
This is bound to be an unpopular opinion, but why exactly does anyone have to apologize? He's absolutely right. Criticism comes from every corner, especially in the software world.
Your code stands for itself. Simple as that.
And I tell this to almost every programmer I work with at some point or another. If they have an emotional response to a code review, or criticism of any kind—"Code is never personal. Whatever I say about your code has nothing to do with you. All I want is for us to improve this together, and we do that by exchanging ideas."
Criticisms are never directed at people, they are never intended to be personal attacks—they are simply evaluations of quality, and we're all trying to achieve higher quality. When you put code out there, you open it up to response. If people decide that it's good, then great; if people decide that it's bad, then great! You have an opportunity to improve it. That is a godsend. It's a million times better than if you received no feedback at all.
Male, female, good coder, bad coder, I don't care who you are: if you go sob in a corner because you receive criticism, then you're not going to improve. You have to join the discussion like an adult. Cramer may have an asshole opinion here, but sometimes assholes are right. Sometimes the world is harsh, but through adversity we can become better. Deal with it.
* Update: Well, I've read up more. These criticisms were not the productive kind, and were tactless and mean. I stand by what I said, but the people in question didn't criticize right, and they deserve the vitriol being directed at them. Shame.
- kenneth_reitz 14y agoConstructive criticism should always be welcome. These comments weren't constructive, by any means.
- xentronium 14y ago> You have to join the discussion like an adult You don't start "discussion" with "how to make sed and grep worse", you just don't. She (harthur) even attempted to get some real feedback out of the snarky twitter mob, but it turns out that "nothing's _wrong_ with it, but I don't want to build my app on top of others' code who are at this level of understanding".
- calinet6 14y agoYes, I've better familiarized myself with the situation, and the people in question are, in fact, assholes, and the discussion was not productive. Sorry for ranting on a slightly-related tangent...
- gyardley 14y agoWhile I understand the point you're making, as long as there is a way to deliver criticism while being an asshole and a way to deliver criticism without being an asshole, people who choose the former route are assholes. I also agree that assholes certainly don't have to apologize, as long as you agree that we're free to carry on considering them assholes.
- calinet6 14y ago> as long as you agree that we're free to carry on considering them assholes. My father always told me, "It's a damn shame that it's legal to be an asshole in this damn country." But yes, it is, and yes, you absolutely are. I am a strong proponent of calling out assholes when they're being assholes; myself included.
- Dylan16807 14y agoThe point didn't seem to be delivering useful criticism, it seemed to be mockery of the code. I guess you can brand anyone who does that with the world Asshole in scarlet, but do you never mock anything? I'd personally reserve the label for people that either deliberately hurt others or don't care about feelings at all.
- pc86 14y ago> Code is never personal. Whatever I say about your code has nothing to do with you. I've heard this repeated ad nauseum (not just in this thread) and I think it's total crap. You cannot tell me that if you spend dozens of hours writing something then someone comes along and goes line by line telling you how what you wrote is an abomination that you're not going to have an emotional response. If that's the case it has to go the other way as well. Just finish writing a new process that will save the company $30k a month? Doesn't matter. If your code doesn't have anything to do with you then it's not an accomplishment to write good code (I don't believe this). Just to be clear, I do think code is personal but I do think people should welcome any constructive feedback, particularly the negative. Yes I feel a twinge in my ego any time someone criticizes my code, even minor stuff; but guess what? When they look at it next time they won't be able to make the same criticism, because I will have fixed it.
- calinet6 14y agoOf course. I do too, it's only human. You gotta be tactful, and you gotta be nice. It's more striving for an ideal state of zen when accepting criticism than anything. Not always realistic, but it's virtuous.
- gknoy 14y agoOf course the code we write is deeply personal. I think that what he means, however, is that the _criticism_ of code he gives is based solely on the code itself, and doesn't contain any inherent bias based on the author. He's saying "this code is crap" because of objective reasons that he (in theory) holds himself and others to as well, not because he thinks the author is a bad programmer.
- jtheory 14y agoPeople just don't work that way; at least, I don't. Who reads code without thinking of the author? When I'm derailed by a bug in some library I'm depending on, or see code that works in a way I find unintuitive, clunky, etc., I absolutely think judgmentally about the person who wrote it. When I'm reading someone else's code and find a solution that's significantly more elegant than I was imagining, I'm impressed by the person's accomplishment, and they basically get points in my head. If I meet them in person I'll quite possibly shake their hand a bit more warmly. This is normal and natural, and I have to consciously counter-balance that with the learned (but not instinctive...) knowledge that I've written bad code myself, released buggy or clunky code, taken questionable shortcuts, etc.. When I'm in a position to criticize someone else's code (and it's part of my job to do it sometimes!) I usually rewrite my feedback a few times (and sometimes decide it's not needed at all) before writing or speaking to the developer, because it takes a lot of conscious thought to modify my instinctive response into something more fair and effective based on what I've learned over the years. That's my experience. Does everyone else actually think that differently?
- chaostheory 14y ago> Code is never personal. Whatever I say about your code has nothing to do with you. Maybe this is fine for psychopaths, economists, or machines that can eventually understand the criticism one day, but for normal people it doesn't apply. Someone's code is like someone's child. It's great and I'd say necessary to use constructive criticism, but I just don't see the need to bully and make fun of people.
- hosh 14y agoI am working on a team that is smarter than me. And I noticed, they don't attach a huge amount of their identity on their code. Taking myself out of it improved my skills. Having said that though, when you ridicule someone, you've made it personal. When someone ridicules someone else, there's a high chance that they secretly feel ridiculed by others (Jungian shadows). I forgot who observed this: adult males will kill off younger competition, unless they are teaching. One of the core values of the Open Source community is sharing and teaching. I suppose, if you stick around in opinionated software long enough, then you start moving away from that core value.
- chaostheory 14y ago> I am working on a team that is smarter than me. And I noticed, they don't attach a huge amount of their identity on their code. Taking myself out of it improved my skills. I guess it depends on context. For team work projects, maybe your coworkers don't feel like they have ownership over their work. I feel that this is very different compared to open sourcing your personal work.
- nollidge 14y agoSo I see your update, but what exactly drove you to take the side of the critic before evaluating the criticism?
- kaitai 14y agoThis may not be the best place to respond, but you say something I've seen a few times in these comments: "if you go sob in a corner because you receive criticism, then you're not going to improve." The corner part is up for discussion, but who says crying renders you un-improvable or non-adult? It's what you do after you cry that matters. I did not know harthur's gender until it was brought up, but women cry more easily than men and it isn't really relevant to their coding nor is it calibrated to feelings in the same way it is for guys. It's not the nuclear option guys think it is. As for evaluations of code quality, I'd be thrilled to read a discussion of the actual "issue" somewhere. That would at least be interesting.