Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
John Carmack on Code Shaming vs. Coder Shaming (disqus.com)
10 points by joshka on Dec 13, 2015 | hide | past | favorite | 4 comments


"An idiot wrote this code" and "this code is crap" both represent moral judgments. That is, implied wrongness/badness/and so forth, with respect to the evaluator's values.

People judged that way commonly respond in one of two ways: 1) with defensiveness/anger; or 2) taking it personally/withdrawing. OP seems to rhetorically refer to the latter, when he writes, "Would you have continued asking for help?" Alternatively, they might respond in the way Carmack describes, using the criticism as a way to grow.

I think Carmack misses a key insight, however. With respect to feelings of guilt and shame, I'm completely in agreement that they can represent a wake-up call to further self growth--but only insofar as we can link them to the human needs they are telling us to pay attention to. That's where the self growth occurs. I'm not in agreement with using guilt and shame, as tools to get people to conform, because doing so focuses our attention on what we want people to do, not why we want them to do it. They're both important; without the latter, it's just obedience training.

Maybe it was a need for efficiency/understanding of the implementation, as in OP's case, which triggered the guilt/shame, or maybe something else, as in Carmack's "WTF was I thinking" (for example, compromised quality due to lack of sleep due to schedule pressure).

With impostor syndrome so common, even with people at Carmack's skill level, I think we can do better and still preserve honesty, transparency, openness, and so forth.


If a coder writes bad code, it doesn't mean the coder is a bad coder. However, if the code keeps writing bad code time after time without refusing to improve, then the code is a bad coder and needs to be fired.

If you will not do what's necessary to become competent, to be qualify for the job you're hired to do, then you need to be fired. No one in any kind of job is excused from this. Being competent and qualified is a requirement of any job.


Thank you; I think we're in agreement, regarding a desire for co-worker competency.

I think your comment helps with demonstrating the limits of what Carmack describes as, "break[ing] through your defenses". Gulit/shame "break through" to some, with the limitations I described, but it works counter-productively, with others.

How an employer chooses to handle this hypothetical person represents another discussion entirely.


From the original post:

    If you’re an experienced programmer and you’re tempted to code-shame someone,
    try thinking back to your own million lines of bad code. Imagine someone
    had mocked you then... Would you have continued asking for help?
Yes. Yes I will criticize other peoples mistakes the way that I've been criticized for my mistakes. Because if making a mistake has no negative consequence then you (and I) will continue to make that mistake. Is it worth being ignorant of our shortcomings just to save ourselves from hurt feelings?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: